UMP-QuadrantCanvas(Linear).shader 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. // Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
  2. Shader "UMP/QuadrantCanvas(Linear)"
  3. {
  4. Properties
  5. {
  6. _MainTex ("Video Texture", 2D) = "white" {}
  7. _Color("Tint", Color) = (1, 1, 1, 1)
  8. _XCoord("X Coord", Float) = 0.5
  9. _YCoord("Y Coord", Float) = 0.5
  10. }
  11. SubShader
  12. {
  13. Tags
  14. {
  15. "Queue"="Transparent"
  16. "RenderType"="Transparent"
  17. }
  18. Cull Off
  19. Lighting Off
  20. ZWrite Off
  21. Blend SrcAlpha OneMinusSrcAlpha
  22. Pass
  23. {
  24. CGPROGRAM
  25. #pragma vertex vert
  26. #pragma fragment frag
  27. #include "UnityCG.cginc"
  28. struct appdata_t
  29. {
  30. float4 vertex : POSITION;
  31. float2 texcoord : TEXCOORD0;
  32. };
  33. struct v2f
  34. {
  35. float4 vertex : SV_POSITION;
  36. half2 texcoord : TEXCOORD0;
  37. };
  38. sampler2D _MainTex;
  39. float4 _MainTex_ST;
  40. fixed4 _Color;
  41. float _XCoord;
  42. float _YCoord;
  43. v2f vert(appdata_t v)
  44. {
  45. v2f o;
  46. o.vertex = UnityObjectToClipPos(v.vertex);
  47. o.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex);
  48. return o;
  49. }
  50. fixed4 frag(v2f i) : SV_Target
  51. {
  52. float2 tex = float2(i.texcoord.x * -_XCoord, i.texcoord.y * _YCoord + _YCoord);
  53. fixed4 c = tex2D(_MainTex, tex) * _Color;
  54. return pow(c, 2.2f);
  55. }
  56. ENDCG
  57. }
  58. }
  59. }