Mercurial > hg > Game > Games
annotate Orchestland/Assets/LeapMotion/Materials/Sources/Shaders/Toony-BasicOutline.shader @ 1:f7675884f2a1
Add Orchestland project
author | Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 17 Jul 2015 23:09:20 +0900 |
parents | |
children |
rev | line source |
---|---|
1
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1 Shader "Toon/Basic Outline" { |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2 Properties { |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
3 _Color ("Main Color", Color) = (.5,.5,.5,1) |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
4 _OutlineColor ("Outline Color", Color) = (0,0,0,1) |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
5 _Outline ("Outline width", Range (.002, 0.03)) = .005 |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
6 _MainTex ("Base (RGB)", 2D) = "white" { } |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
7 _ToonShade ("ToonShader Cubemap(RGB)", CUBE) = "" { Texgen CubeNormal } |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
8 } |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
9 |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
10 CGINCLUDE |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
11 #include "UnityCG.cginc" |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
12 |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
13 struct appdata { |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
14 float4 vertex : POSITION; |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
15 float3 normal : NORMAL; |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
16 }; |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
17 |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
18 struct v2f { |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
19 float4 pos : POSITION; |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
20 float4 color : COLOR; |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
21 }; |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
22 |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
23 uniform float _Outline; |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
24 uniform float4 _OutlineColor; |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
25 |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
26 v2f vert(appdata v) { |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
27 v2f o; |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
28 o.pos = mul(UNITY_MATRIX_MVP, v.vertex); |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
29 |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
30 float3 norm = mul ((float3x3)UNITY_MATRIX_IT_MV, v.normal); |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
31 float2 offset = TransformViewToProjection(norm.xy); |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
32 |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
33 o.pos.xy += offset * o.pos.z * _Outline; |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
34 o.color = _OutlineColor; |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
35 return o; |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
36 } |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
37 ENDCG |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
38 |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
39 SubShader { |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
40 Tags { "RenderType"="Opaque" } |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
41 UsePass "Toon/Basic/BASE" |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
42 Pass { |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
43 Name "OUTLINE" |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
44 Tags { "LightMode" = "Always" } |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
45 Cull Front |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
46 ZWrite On |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
47 ColorMask RGB |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
48 Blend SrcAlpha OneMinusSrcAlpha |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
49 |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
50 CGPROGRAM |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
51 #pragma vertex vert |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
52 #pragma fragment frag |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
53 half4 frag(v2f i) :COLOR { return i.color; } |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
54 ENDCG |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
55 } |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
56 } |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
57 |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
58 SubShader { |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
59 Tags { "RenderType"="Opaque" } |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
60 UsePass "Toon/Basic/BASE" |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
61 Pass { |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
62 Name "OUTLINE" |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
63 Tags { "LightMode" = "Always" } |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
64 Cull Front |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
65 ZWrite On |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
66 ColorMask RGB |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
67 Blend SrcAlpha OneMinusSrcAlpha |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
68 |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
69 CGPROGRAM |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
70 #pragma vertex vert |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
71 #pragma exclude_renderers shaderonly |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
72 ENDCG |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
73 SetTexture [_MainTex] { combine primary } |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
74 } |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
75 } |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
76 |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
77 Fallback "Toon/Basic" |
f7675884f2a1
Add Orchestland project
Daiki OYAKAWA <e135764@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
78 } |