uinty3d 把物体变灰的shader

这是一个把物体灰的shader

Shader "Custom/grayShader" {
Properties {
_MainTex ("Base (RGB)", 2D) = "white" {}
_RampTex ("Base (RGB)", 2D) = "grayscaleRamp" {}
}

SubShader {
Pass {
ZTest Always Cull Off ZWrite Off
Fog { Mode off }

CGPROGRAM
#pragma vertex vert_img
#pragma fragment frag
#pragma fragmentoption ARB_precision_hint_fastest
#include "UnityCG.cginc"

uniform sampler2D _MainTex;
uniform sampler2D _RampTex;
uniform half _RampOffset;

fixed4 frag (v2f_img i) : COLOR
{
fixed4 original = tex2D(_MainTex, i.uv);
fixed grayscale = Luminance(original.rgb);
half2 remap = half2 (grayscale + _RampOffset, .5);
fixed4 output = tex2D(_RampTex, remap);
output.a = original.a;
return output;
}
ENDCG

}
}

Fallback off
}

posted on 2013-06-18 10:36  geoffyange  阅读(964)  评论(0编辑  收藏  举报

导航