ExtractSkyboxShader.shader 1015 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. // Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
  2. Shader "Hidden/ExtractSkyboxShader" {
  3. Properties {
  4. _MainTex ("Base (RGB)", 2D) = "" {}
  5. _Skybox ("Sky (RGB)", 2D) = "" {}
  6. }
  7. // Shader code pasted into all further CGPROGRAM blocks
  8. CGINCLUDE
  9. #include "UnityCG.cginc"
  10. struct v2f {
  11. float4 pos : POSITION;
  12. float2 uv : TEXCOORD0;
  13. };
  14. sampler2D _MainTex;
  15. sampler2D _Skybox;
  16. v2f vert( appdata_img v ) {
  17. v2f o;
  18. o.pos = UnityObjectToClipPos(v.vertex);
  19. o.uv = v.texcoord.xy;
  20. return o;
  21. }
  22. half4 frag(v2f i) : COLOR {
  23. float4 sky = (tex2D (_Skybox, i.uv.xy));
  24. float4 color = (tex2D (_MainTex, i.uv.xy));
  25. if(Luminance(sky.rgb-color.rgb)>0.2)
  26. return 0;
  27. else
  28. return sky;
  29. }
  30. ENDCG
  31. Subshader {
  32. Pass {
  33. ZTest Always Cull Off ZWrite Off
  34. Fog { Mode off }
  35. CGPROGRAM
  36. #pragma fragmentoption ARB_precision_hint_fastest
  37. #pragma vertex vert
  38. #pragma fragment frag
  39. ENDCG
  40. }
  41. }
  42. Fallback off
  43. } // shader