1 Shader "Toon/Basic" {
2     Properties {
3         _Color (
"Main Color", Color) = (.5,.5,.5,1)
4         _MainTex (
"Base (RGB)", 2D) = "white" {}
5         _ToonShade (
"ToonShader Cubemap(RGB)", CUBE) = "" { }
6     }
7
8
9     SubShader {
10         Tags {
"RenderType"="Opaque" }
11         Pass {
12             Name
"BASE"
13             Cull Off
14             
15             CGPROGRAM
16             #pragma vertex vert
17             #pragma fragment frag
18             #pragma multi_compile_fog
19
20             #include
"UnityCG.cginc"
21
22             sampler2D _MainTex;
23             samplerCUBE _ToonShade;
24             float4 _MainTex_ST;
25             float4 _Color;
26
27             
struct appdata {
28                 float4 vertex : POSITION;
29                 float2 texcoord : TEXCOORD0;
30                 float3 normal : NORMAL;
31             };
32             
33             
struct v2f {
34                 float4 pos : SV_POSITION;
35                 float2 texcoord : TEXCOORD0;
36                 float3 cubenormal : TEXCOORD1;
37                 UNITY_FOG_COORDS(
2)
38             };
39
40             v2f vert (appdata v)
41             {
42                 v2f o;
43                 o.pos = mul (UNITY_MATRIX_MVP, v.vertex);
44                 o.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex);
45                 o.cubenormal = mul (UNITY_MATRIX_MV, float4(v.normal,
0));
46                 UNITY_TRANSFER_FOG(o,o.pos);
47                 
return o;
48             }
49
50             fixed4 frag (v2f i) : SV_Target
51             {
52                 fixed4 col = _Color * tex2D(_MainTex, i.texcoord);
53                 fixed4 cube = texCUBE(_ToonShade, i.cubenormal);
54                 fixed4 c = fixed4(
2.0f * cube.rgb * col.rgb, col.a);
55                 UNITY_APPLY_FOG(i.fogCoord, c);
56                 
return c;
57             }
58             ENDCG
59         }
60     }
61
62     Fallback
"VertexLit"
63 }


Gõ tìm kiếm nhanh...