语法:SetTexture [TextureName] {Texture Block}
TextureName必须定义为纹理属性。如何应用纹理在TextureBlock中定义。纹理块控制如何应用纹理。在纹理块内可以最多两个命令:combine和constantColor。
3.combine src1 * src2 + src3:将src1与src2的alpha组件相乘,然后添加src3。
4.纹理块constantColor命令
ConstantColor颜色:定义可以在combine命令中使用的常量颜色。
5.固定你可以在一个pass中有多个SetTexture命令 - 所有的纹理都是按顺序应用的,就像绘图程序中的图层一样。
- combine src1 * src2:将src1和src2相乘。结果将比任一输入更暗。
combine src1 + src2:将src1和src2添加在一起。结果将比任一输入更轻。
combine src1 - src2:从src1中减去src2。
combine src1 lerp(src2)src3:使用src2的alpha在src3和src1之间插值。注意,插值方向相反:当alpha为1时使用src1,当alpha为0时使用src3。
combine src1 * src2 + src3:将src1与src2的alpha组件相乘,然后添加src3。
- 简单shader 如下
Shader "LDFW/TextureColor2" {
Properties {
_MainTex("Texture", 2D) = "transparent" {}
_Color("Color", Color) = (1,1,1,1)
}
SubShader {
Tags { "Queue" = "Background" }
Pass {
SetTexture[_MainTex] {
constantColor[_Color]
combine texture lerp(constant) constant
}
}
}
FallBack "Diffuse"
}