Shader 变灰效果

2014-3-23 雨辰 Unity3D

// http://www.omuying.com/article/50.aspx
Shader "Custom/GreyShader" 
{
	Properties {
		_MainTex ("Base (RGB)", 2D) = "white" {}
	}
	SubShader {
		Tags { "RenderType"="Opaque" }
		LOD 200
		
		CGPROGRAM
		#pragma surface surf Lambert

		sampler2D _MainTex;

		struct Input {
			float2 uv_MainTex;
		};

		void surf (Input IN, inout SurfaceOutput o) {
			half4 c = tex2D (_MainTex, IN.uv_MainTex);
			c = float4(Luminance(c)); //设置灰度值
			o.Albedo = c.rgb;
			o.Alpha = c.a;
		}
		ENDCG
	} 
	FallBack "Diffuse"
}

默认效果如图:

变灰 Shader 之后效果如图:



标签: Unity3D-优化性能 Unity3D-Editer Unity3D-Shader

发表评论:

雨辰 joyimp|@2011-2018 京ICP备16030765号