yum-archive/Tooner

A toon shader for Unity's BIRP.

git clone https://git.yummers.dev/yum-archive/Tooner

yumAdd bayer matrices & grabpass-based lens shader4bd9c2b

master
2.7 KiB127 linesraw
1#include "AutoLight.cginc"
2#include "feature_macros.cginc"
3
4#ifndef __INTERPOLATORS_INC
5#define __INTERPOLATORS_INC
6
7#if defined(_OUTLINE_INTERPOLATORS)
8
9struct appdata
10{
11  float4 vertex : POSITION;
12  float3 normal : NORMAL;
13  float4 tangent : TANGENT;
14  float2 uv0 : TEXCOORD0;
15#if !defined(_OPTIMIZE_INTERPOLATORS)
16  float2 uv1 : TEXCOORD1;
17  float2 uv2 : TEXCOORD2;
18  float2 uv3 : TEXCOORD3;
19  float2 uv4 : TEXCOORD4;
20  float2 uv5 : TEXCOORD5;
21  float2 uv6 : TEXCOORD6;
22  float2 uv7 : TEXCOORD7;
23#endif
24
25  UNITY_VERTEX_INPUT_INSTANCE_ID
26};
27
28struct v2f
29{
30  linear noperspective centroid float4 pos : SV_POSITION;
31  float2 uv0 : TEXCOORD0;
32#if !defined(_OPTIMIZE_INTERPOLATORS)
33  float2 uv1 : TEXCOORD1;
34  float2 uv2 : TEXCOORD2;
35#if defined(LIGHTMAP_ON)
36  UNITY_LIGHTING_COORDS(3, 4)
37#else
38  float2 uv3 : TEXCOORD3;
39  float2 uv4 : TEXCOORD4;
40  float2 uv5 : TEXCOORD5;
41  float2 uv6 : TEXCOORD6;
42  float2 uv7 : TEXCOORD7;
43#endif
44#endif
45  float2 fogCoord: TEXCOORD8;
46  SHADOW_COORDS(9)
47  float3 worldPos : TEXCOORD10;
48  float3 normal : TEXCOORD11;
49  float3 objPos : TEXCOORD12;
50  float3 centerCamPos : TEXCOORD13;
51
52  float2 screenPos : TEXCOORD14;
53
54#if defined(_TROCHOID)
55  float3 objPos_pre_trochoid : TEXCOORD15;
56#endif
57
58  UNITY_VERTEX_INPUT_INSTANCE_ID
59  UNITY_VERTEX_OUTPUT_STEREO
60};
61
62#else  // _OUTLINE_INTERPOLATORS
63
64struct appdata
65{
66  float4 vertex : POSITION;
67  float2 uv0 : TEXCOORD0;
68#if !defined(_OPTIMIZE_INTERPOLATORS)
69  float2 uv1 : TEXCOORD1;
70  float2 uv2 : TEXCOORD2;
71  float2 uv3 : TEXCOORD3;
72  float2 uv4 : TEXCOORD4;
73  float2 uv5 : TEXCOORD5;
74  float2 uv6 : TEXCOORD6;
75  float2 uv7 : TEXCOORD7;
76#endif
77  float3 normal : NORMAL;
78  float4 tangent : TANGENT;
79
80  UNITY_VERTEX_INPUT_INSTANCE_ID
81};
82
83struct v2f
84{
85  linear noperspective centroid float4 pos : SV_POSITION;
86  float2 uv0 : TEXCOORD0;
87#if !defined(_OPTIMIZE_INTERPOLATORS)
88  float2 uv1 : TEXCOORD1;
89  float2 uv2 : TEXCOORD2;
90#if defined(LIGHTMAP_ON)
91  UNITY_LIGHTING_COORDS(3, 4)
92#else
93  float2 uv3 : TEXCOORD3;
94  float2 uv4 : TEXCOORD4;
95  float2 uv5 : TEXCOORD5;
96  float2 uv6 : TEXCOORD6;
97  float2 uv7 : TEXCOORD7;
98#endif
99#endif
100  float2 fogCoord: TEXCOORD8;
101#if !defined(LIGHTMAP_ON)
102  unityShadowCoord4 _ShadowCoord : TEXCOORD9;
103#endif
104  float3 normal : TEXCOORD10;
105  float4 tangent : TEXCOORD11;
106  float3 worldPos : TEXCOORD12;
107  float3 objPos : TEXCOORD13;
108  float3 centerCamPos : TEXCOORD14;
109
110  float2 screenPos : TEXCOORD15;
111  float4 grabPos : TEXCOORD16;
112
113  #if defined(VERTEXLIGHT_ON)
114  float3 vertexLightColor : TEXCOORD17;
115  #endif
116
117#if defined(_TROCHOID)
118  float3 objPos_pre_trochoid : TEXCOORD18;
119#endif
120
121  UNITY_VERTEX_INPUT_INSTANCE_ID
122  UNITY_VERTEX_OUTPUT_STEREO
123};
124
125#endif  // _OUTLINE_INTERPOLATORS
126#endif  // __INTERPOLATORS_INC
127