ClearExceptSkyboxShader.shader 937 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. // Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
  2. Shader "Hidden/ClearExceptSkyboxShader" {
  3. Properties {
  4. _MainTex ("Base (RGB)", 2D) = "" {}
  5. }
  6. // Shader code pasted into all further CGPROGRAM blocks
  7. CGINCLUDE
  8. #include "UnityCG.cginc"
  9. struct v2f {
  10. float4 pos : POSITION;
  11. float2 uv : TEXCOORD0;
  12. };
  13. sampler2D _MainTex;
  14. sampler2D _CameraDepthTexture;
  15. v2f vert( appdata_img v ) {
  16. v2f o;
  17. o.pos = UnityObjectToClipPos(v.vertex);
  18. o.uv = v.texcoord.xy;
  19. return o;
  20. }
  21. half4 frag(v2f i) : COLOR {
  22. float d = (tex2D (_CameraDepthTexture, i.uv.xy));
  23. d = Linear01Depth (d);
  24. clip(0.99-d); // so leave the skybox values, most importantly the alpha
  25. return 0.0;
  26. }
  27. ENDCG
  28. Subshader {
  29. Pass {
  30. ZTest Always Cull Off ZWrite Off
  31. Fog { Mode off }
  32. CGPROGRAM
  33. #pragma vertex vert
  34. #pragma fragment frag
  35. ENDCG
  36. }
  37. }
  38. Fallback off
  39. } // shader