首页 > 计算机图形学 > Shader > Shader固定管线着色器
2022
01-03

Shader固定管线着色器

介绍

固定渲染管线shader(fixed function shader),是相对于可编程的shader而言的。
所谓固定管线,是说芯片上一组电路已经固定实现了特定的运算功能,程序能做的只是提供场景数据以及微调运算功能的参数。
它适用于所有的显卡,常用于高级Shader在老显卡无法显示时的Fallback。
Unity中的固定管线shader使用ShaderLab语言。

它的灯光公式、贴图方式等是固定的,不能自定义的修改,我们只能控制功能的开和关

Material

TextureSetup

  • Combine:将两种颜色进行混合,可以是上次SetTexture的处理结果,(previous、constant、primary、Texture中的一种)

Previous is the the result of the previous SetTexture. 
上一次SetTexture的结果

Primary is the color from the lighting calculation or the vertex color if it is bound. 
来自光照计算的颜色或是当它绑定时的顶点颜色

Texture is the color of the texture specified by [_TextureName] in the SetTexture (see above). 
在SetTexture中被定义的纹理的颜色

Constant is the color specified in ConstantColor
被ConstantColor定义的颜色

  • constantColor:设置一个常量的颜色值
  • matriax:设置矩阵纹理坐标进行变换

多边形剔除

一般都是通过多通道进行剔除,剔除后的效果是正面和反面的颜色不同

深度

深度就是根据顶点和像素距离摄像机的距离

混合

渲染队列(Render Queue)

既渲染的先后顺序

  一般的,距离摄像机越远的物体越先渲染,越近的物体最后渲染。但有时候需要一个物体在任何情况下都最后去渲染,不想任何物体挡住,这时候就需要在Shader里面手动的设置渲染队列

  在使用渲染队列的时候,需要关闭深度测试(深度测试和深度缓存(ZWrite On/Off)默认都是开启的)

最后编辑:
作者:网虫虫
网虫虫
分享是一种快乐; 分享是一种美德; 分享是一种幸福!

0 0 votes
Article Rating
Subscribe
提醒
guest
0 评论
Inline Feedbacks
View all comments