float4 _EmissiveColor;
float4 _AmbientColor;
float _MySliderValue;
void surf (Input IN, inout SurfaceOutput o) {
// Albedo comes from a texture tinted by color
float4 c;
c = pow((_EmissiveColor + _AmbientColor), _MySliderValue);
o.Albedo = c.rgb;
// Metallic and smoothness come from slider variables
o.Alpha = c.a;
1.如果没注意将_MySliderValue的数据类型声明成float4,那么shader将不会起作用并且不会报错。
CGPROGRAM
#pragma surface surf BasicDiffuse
inline float4 LightingBasicDiffuse(SurfaceOutput s,fixed3 lightDir, fixed atten)
{
float difLight = max(0, dot(s.Normal, lightDir));
float4 col;
col.rgb = s.Albedo * _LightColor0.rgb * (difLight * atten * 2);
col.a = s.Alpha;
return col;
}
2.自建光照模型 定义要在#下
原文:http://www.cnblogs.com/white-L/p/6523383.html