Shader "Custom/VertexLit" {
Properties {
_Color ("Main Color", Color) = (1,1,1,0.5)
_Shininess ("Shininess", Range (0.01, 1)) = 0.7
_SpecColor ("Spec Color", Color) = (1,1,1,1)
_Emission ("Emmisive Color", Color) = (0,0,0,0)
_MainTex ("Base (RGB)", 2D) = "white" { }
}
SubShader {
Pass {
Color (1,0,0,0)
Material {
Diffuse (1,1,1,1)//漫射颜色
Ambient [_Color]//环境颜色
Shininess [_Shininess]//光泽度
Specular [_SpecColor]//反色颜色
Emission [_Emission]//自发光
}
Lighting On //开启顶点光照
SeparateSpecular on //反射高光,默认在所有混合计算完成后再叠加到最后结果上,必须开启顶点光照
SetTexture [_MainTex] {
//constantColor [_Color] 定义一个能在Combine中使用的固定颜色
//matrix [_MatrixPropertyName] 用来对纹理坐标变换(具体怎么用有人给个例子吗。。。)
//previous 上个SetTexture的结果
//primary 光照计算得到的顶点颜色
//texture _MainTex设置的纹理颜色
//constant constantColor设定的颜色
//DOUBLE 翻倍 Quad 翻4倍
Combine texture //合并
}
SetTexture [_MainTex] { //不同显卡有不同的最多支持混合次数
constantColor (0.5,0.5,0.5,1)
Combine previous * constant
}
}
}
}
固定管线Shader笔记
最新推荐文章于 2022-02-13 17:56:42 发布