VignetteShader.shader 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. // Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
  2. Shader "Hidden/VignetteShader" {
  3. Properties {
  4. _MainTex ("Base (RGB)", 2D) = "" {}
  5. }
  6. CGINCLUDE
  7. #include "UnityCG.cginc"
  8. struct v2f {
  9. float4 pos : POSITION;
  10. float2 uv : TEXCOORD0;
  11. };
  12. sampler2D _MainTex;
  13. float4 _MainTex_TexelSize;
  14. float vignetteIntensity;
  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. half2 coords = i.uv;
  23. half2 uv = i.uv;
  24. coords = (coords - 0.5) * 2.0;
  25. half coordDot = dot (coords,coords);
  26. half4 color = tex2D (_MainTex, uv);
  27. float mask = 1.0 - coordDot * vignetteIntensity;
  28. return color * mask;
  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