首页 > 其他 > 详细

关于Shader的学习记录

时间:2017-03-09 00:05:50      阅读:233      评论:0      收藏:0      [点我收藏+]
                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.自建光照模型 定义要在#下

关于Shader的学习记录

原文:http://www.cnblogs.com/white-L/p/6523383.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!