固定管线着色器(SubShader中必须写Pass通道)
Shader指令顺序图

Rander Setup
Properties
Properties | 浮点数(Float) | _FloatValue("一个浮点数",float) = 0.4 |
| 范围浮点数(Range) | _RangeValue("一个范围浮点数",Range(1,100)) = 50 | |
| 四维数(Vector) | _VectorValue("一个四维数",Vector) = (1,1,1,1) | |
| 颜色(Color) | _ColorValue("一个颜色值",Color) = (1,0,0,1) | |
| 2阶贴图(2D) | _Texture2D("一个2阶贴图",2D) = ""{} | |
| 非2阶贴图(Rect) | _TextureRect("一个非2阶贴图",Rect) = ""{} | |
| 立方体贴图(Cube) | _TextureCube("一个立方体贴图",Cube) = ""{} |
Color
| 固定渲染一个颜色():Color(0,0,0.6,1) |
| 固定渲染一个可变颜色[]:Color[_MainColor] |
Material
| 前提 | 需要开启顶点光照 → Lighting On/Off(开启/关闭顶点光照) | |
Material | 漫反射颜色(Diffuse) | |
| 环境光反射颜色(Ambient) | ||
前提:需要开启镜面反射(SeparateSpecular On | Off) 光泽度(Shininess) | ||
| 高光颜色(Specular) | ||
| 自发光颜色(Emission) | ||
设置多边形剔除
Cull Back/Front/Off
深度测试(判断该模型的深度,满足时渲染模型)
前提:需要写入深度缓冲
| ZWrite On | Off | On(开启的话,如果满足判断就只会渲染模型框架不会渲染颜色) |
| Off(关闭的话,如果满足判断即可渲染模型也可渲染颜色) |
ZTest
| ZTest | Less(小于)、LEqual(小于等于) |
| Greater(大于)、GLqual(大于等于) | |
| Equal(等于)、NotEqual(不等于) | |
Always(渲染所有像素。这在功能上等同于 AlphaTest Off。) | |
| Never(不渲染任何像素) |
Pass
{
// 进行深度测试,当前像素的深度大于缓存里的深度
// 说明当前像素在缓存像素的后面
// 通俗来讲就是被挡住了
ZTest Greater
// 关闭深度缓存
ZWrite Off
// 被挡住渲染该颜色
Color(1,0,0,1)
}
Pass
{
// 进行深度测试,当前像素的深度小于或等于缓存里的深度
// 说明当前像素不在缓存像素的后面
// 通俗来讲就是没有被挡住了
ZTest LEqual
// 没被挡住渲染该颜色
Color(0,0,1,1)
}什么是深度?
| 顶点&像素距离摄像机的距离 | 距离越近深度越小 |
| 距离越远深度越大 |
Blend(混合)
Blend(混合) | Alpha(混合):Blend SrcAlpha OneMinusSrcAlpha |
| 相加:Blend One One | |
| 比较柔和的相加:Blend One OneMinusDstColor | |
| 乘法:Blend DstColor Zero | |
| 2倍乘法:Blend DstColor SrcColor | |
| 开启透明混合:Blend SrcAlpha OneMinusSrcAlpha |
Tags
SubShader标签Queue | 测试需要关闭ZTest | ||||||||
| |||||||||
| Tags{"Queue" = "Transparent+1"} |
TextureSetup
SetTexture[TexturePropertyName]{TextureBlock}
| 前提 | Lighting On | |
stc【颜色源】 | Primary是来自光照计算的颜色或是它绑定时的顶点颜色 | |
| Texture是在SetTexture中被定义的纹理的颜色 | ||
| Previous是上一次Set Texture的结果 | ||
| Constant是被ConstantColor定义的颜色 | 固定颜色:constantColor(1,1,1,1) | |

combine | 暗:combine src1 * src2 亮:combine src1 + src2 combine src1 - src2 |
combine src1 lerp(src2) src3![]() | |
| 双倍/四倍————Double \ Quad | |
| RGB与A分离 |
版权声明:本文为qq_24977805原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
