1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
| Shader "Custom/GrabShader" { Properties { _MainTex ("Texture", 2D) = "white" {} } SubShader { Tags { "RenderType"="Opaque" "Queue" = "Overlay" } LOD 100 GrabPass{
}
Pass { CGPROGRAM #pragma vertex vert #pragma fragment frag
#pragma multi_compile MY_multi_1 MY_multi_2
#include "UnityCG.cginc"
struct appdata { float4 vertex : POSITION; float2 uv : TEXCOORD0; };
struct v2f { float2 uv : TEXCOORD0; UNITY_FOG_COORDS(1) float4 vertex : SV_POSITION; };
sampler2D _MainTex; float4 _MainTex_ST;
sampler2D _GrabTexture; float4 _GrabTexture_ST;
v2f vert (appdata v) { v2f o; o.vertex = UnityObjectToClipPos(v.vertex); o.uv = TRANSFORM_TEX(v.uv, _GrabTexture); return o; }
fixed4 frag (v2f i) : SV_Target { #ifdef MY_multi_1 fixed4 col = fixed4(1.0,0.0,0.0,1.0); #endif
#ifdef MY_multi_2 fixed4 col = tex2D(_GrabTexture, i.uv); #endif
return col; } ENDCG } } }
|