Advertisement
Guest User

Untitled

a guest
Jun 27th, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.73 KB | None | 0 0
  1. // Upgrade NOTE: replaced '_Projector' with 'unity_Projector'
  2. // Upgrade NOTE: replaced '_ProjectorClip' with 'unity_ProjectorClip'
  3. // Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
  4. // Modified NOTE: same projector texture, just one more cookie.
  5.  
  6. Shader "Projector/LightTrimmed" {
  7. Properties {
  8. _Color ("Main Color", Color) = (1,1,1,1)
  9. _ShadowTex ("Cookie", 2D) = "" {}
  10. _TrimTex("Trim", 2D) = ""{}
  11. _FalloffTex ("FallOff", 2D) = "" {}
  12. }
  13.  
  14. Subshader {
  15. Tags {"Queue"="Transparent"}
  16. Pass {
  17. ZWrite Off
  18. ColorMask RGB
  19. Blend DstColor One
  20. Offset -1, -1
  21.  
  22. CGPROGRAM
  23. #pragma vertex vert
  24. #pragma fragment frag
  25. #pragma multi_compile_fog
  26. #include "UnityCG.cginc"
  27.  
  28. struct v2f {
  29. float4 uvShadow : TEXCOORD0;
  30. float4 uvFalloff : TEXCOORD1;
  31. UNITY_FOG_COORDS(2)
  32. float4 pos : SV_POSITION;
  33. };
  34.  
  35. float4x4 unity_Projector;
  36. float4x4 unity_ProjectorClip;
  37.  
  38. v2f vert (float4 vertex : POSITION)
  39. {
  40. v2f o;
  41. o.pos = UnityObjectToClipPos (vertex);
  42. o.uvShadow = mul (unity_Projector, vertex);
  43. o.uvFalloff = mul (unity_ProjectorClip, vertex);
  44. UNITY_TRANSFER_FOG(o,o.pos);
  45. return o;
  46. }
  47.  
  48. fixed4 _Color;
  49. sampler2D _ShadowTex;
  50. sampler2D _TrimTex;
  51. sampler2D _FalloffTex;
  52.  
  53. fixed4 frag (v2f i) : SV_Target
  54. {
  55. fixed4 texS = tex2Dproj (_ShadowTex, UNITY_PROJ_COORD(i.uvShadow));
  56. fixed4 texT = tex2Dproj (_TrimTex, UNITY_PROJ_COORD(i.uvShadow));
  57. texS.rgb = texT.rgb-(1-texS.rgb);
  58. texS.rgb *= _Color.rgb;
  59. texS.a = 1.0-texS.a;
  60.  
  61. fixed4 texF = tex2Dproj (_FalloffTex, UNITY_PROJ_COORD(i.uvFalloff));
  62. fixed4 res = texS * texF.a;
  63.  
  64. UNITY_APPLY_FOG_COLOR(i.fogCoord, res, fixed4(0,0,0,0));
  65. return res;
  66. }
  67. ENDCG
  68. }
  69. }
  70.  
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement