原创文章如需转载请注明:转载自风宇冲Unity3D教程学院
Fixed function shader简介:
例一: 显示单一颜色
下面我们来看第一个例子,显示单一颜色,注释写得挺详细了,照着格式写即可。
- //根Shader
- Shader "Custom/1_1color" {
-
// 属性 -
Properties { -
//定义一个颜色 -
_Color ("Main Color", Color) = (1,.5,.5,1) -
} -
// 子shader -
SubShader { -
Pass { -
Material { -
//显示该颜色 -
Diffuse [_Color] -
} -
//打开光照开关,即接受光照 -
Lighting On -
} -
} - }
例二:显示一张贴图
- Shader "Custom/1_2show1texture" {
-
Properties { -
_MainTex ("Base (RGB)", 2D) = "white" {} -
_Color("Main color",Color) = (1,1,1,1) -
} -
SubShader { -
Pass -
{ -
Material -
{ -
Diffuse[_Color] -
} -
Lighting on -
SetTexture[_MainTex] -
{ -
//combine color部分,alpha部分 -
// 材质 * 顶点颜色 -
Combine texture * primary,texture * constant -
} -
} -
} - }
- Shader "Custom/1_3merge2texture" {
-
Properties { -
_MainTex ("Base (RGB)", 2D) = "white" {} -
_MainTex2 ("Tex2 (RGB)", 2D) = "white" {} -
_Color("Main color",Color) = (1,1,1,1) -
} -
SubShader { -
Pass -
{ -
Material -
{ -
Diffuse[_Color] -
} -
Lighting on -
SetTexture[_MainTex] -
{ -
// 第一张材质 * 顶点颜色 -
Combine texture * primary -
} -
SetTexture[_MainTex2] -
{ -
// 第二张材质 * 之前累积(这里即第一张材质) -
Combine texture * previous -
} -
} -
} - }