Advertisement
netgrind

Gradient Shader

Jun 2nd, 2014
232
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.75 KB | None | 0 0
  1. Shader "Cale/TweenGradient" {
  2.     Properties {
  3.         _color1 ("Grad 1 Color 1", Color) = (1,.5,.5,1)
  4.         _color2 ("Grad 1 Color 2", Color) = (.5,1,1,1)
  5.         _color3 ("Grad 2 Color 1", Color) = (.5,1,.5,1)
  6.         _color4 ("Grad 2 Color 2", Color) = (.5,.5,1,1)
  7.         _inter("Interpolation",Range(0,1))=0
  8.         _MainTex ("Mask Texture", 2D) = "white"{}
  9.     }
  10.     Category{
  11.         Blend SrcAlpha OneMinusSrcAlpha
  12.         Tags {Queue=Transparent}
  13.         SubShader {
  14.             Pass{
  15.            
  16.                 CGPROGRAM
  17. // Upgrade NOTE: excluded shader from DX11 and Xbox360; has structs without semantics (struct v2f members uv_MainTex)
  18. #pragma exclude_renderers d3d11 xbox360
  19.                 #pragma vertex vert
  20.                 #pragma fragment frag
  21.  
  22.                 float4 _color1;
  23.                 float4 _color2;
  24.                 float4 _color3;
  25.                 float4 _color4;    
  26.                 float _inter;  
  27.                 sampler2D _MainTex;
  28.                
  29.                 struct appdata {
  30.                     float4 vertex : POSITION;
  31.                     float4 tex : TEXCOORD0;
  32.                     float3 normal : NORMAL;
  33.                 };
  34.                 struct v2f {
  35.                     float4 vertex : TEXCOORD;
  36.                     float4 pos : POSITION;
  37.                     float4 color : COLOR;
  38.                     float2 uv_MainTex;
  39.                 };
  40.                 v2f vert(appdata v) {
  41.                     v2f o;
  42.                     o.pos = mul(UNITY_MATRIX_MVP, v.vertex);
  43.                     o.vertex = v.tex;
  44.                     return o;
  45.                 };
  46.                
  47.                 half4 frag(v2f i) : COLOR {
  48.                     _color1.r = (_color1.r*i.vertex.y+_color2.r*(1-i.vertex.y))*_inter+ (_color3.r*i.vertex.y+_color4.r*(1-i.vertex.y))*(1-_inter);
  49.                     _color1.g = (_color1.g*i.vertex.y+_color2.g*(1-i.vertex.y))*_inter+ (_color3.g*i.vertex.y+_color4.g*(1-i.vertex.y))*(1-_inter);
  50.                     _color1.b = (_color1.b*i.vertex.y+_color2.b*(1-i.vertex.y))*_inter+ (_color3.b*i.vertex.y+_color4.b*(1-i.vertex.y))*(1-_inter);
  51.                     _color1.a = tex2D(_MainTex,i.vertex.xy).a;
  52.                    
  53.                     return _color1;
  54.                 };
  55.  
  56.                 ENDCG
  57.             }
  58.         }
  59.     }
  60.     FallBack "Diffuse"
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement