| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- // Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
- Shader "Hidden/MotionBlurClear"
- {
- Properties { }
- SubShader {
- Pass {
- //ZTest LEqual
- ZTest Always // lame depth test
- ZWrite Off // lame depth test
- CGPROGRAM
- #pragma vertex vert
- #pragma fragment frag
- #include "UnityCG.cginc"
- struct vs_input {
- float4 vertex : POSITION;
- };
- struct ps_input {
- float4 pos : SV_POSITION;
- float4 screen : TEXCOORD0;
- };
- sampler2D_float _CameraDepthTexture;
- ps_input vert (vs_input v)
- {
- ps_input o;
- o.pos = UnityObjectToClipPos (v.vertex);
- o.screen = ComputeScreenPos(o.pos);
- COMPUTE_EYEDEPTH(o.screen.z);
- return o;
- }
- float4 frag (ps_input i) : SV_Target
- {
- // superlame: manual depth test needed as we can't bind depth, FIXME for 4.x
- // alternatively implement SM > 3 version where we write out custom depth
- float d = SAMPLE_DEPTH_TEXTURE_PROJ(_CameraDepthTexture, UNITY_PROJ_COORD(i.screen));
- d = LinearEyeDepth(d);
-
- clip(d - i.screen.z + 1e-2f);
- return float4(0, 0, 0, 0);
- }
- ENDCG
- }
- }
- Fallback Off
- }
|