yum-archive/Tooner

A toon shader for Unity's BIRP.

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

yumDisable custom depth - breaks projectorsd45815e

master
15.5 KiB300 linesraw
1#ifndef __FEATURE_MACROS_INC
2#define __FEATURE_MACROS_INC
3
4//#define EXPERIMENT__CUSTOM_DEPTH
5
6#pragma shader_feature_local _ _BASECOLOR_MAP
7#pragma shader_feature_local _ _NORMAL_MAP
8#pragma shader_feature_local _ _METALLIC_MAP
9#pragma shader_feature_local _ _ROUGHNESS_MAP
10#pragma shader_feature_local _ _PBR_SAMPLER_LINEAR_REPEAT
11#pragma shader_feature_local _ _PBR_SAMPLER_LINEAR_CLAMP
12#pragma shader_feature_local _ _PBR_SAMPLER_POINT_REPEAT
13#pragma shader_feature_local _ _PBR_SAMPLER_POINT_CLAMP
14#pragma shader_feature_local _ _PBR_SAMPLER_BILINEAR_REPEAT
15#pragma shader_feature_local _ _PBR_SAMPLER_BILINEAR_CLAMP
16#pragma shader_feature_local _ _CUBEMAP
17#pragma shader_feature_local _ _EMISSION
18#pragma shader_feature_local _ _EMISSION0
19#pragma shader_feature_local _ _EMISSION1
20#pragma shader_feature_local _ _RENDERING_CUTOUT
21#pragma shader_feature_local _ _RENDERING_CUTOUT_STOCHASTIC
22#pragma shader_feature_local _ _RENDERING_CUTOUT_IGN
23#pragma shader_feature_local _ _RENDERING_CUTOUT_NOISE_MASK
24#pragma shader_feature_local _ _RENDERING_CUTOUT_SSFD
25#pragma shader_feature_local _ _RENDERING_FADE
26#pragma shader_feature_local _ _RENDERING_TRANSPARENT
27#pragma shader_feature_local _ _RENDERING_TRANSCLIPPING
28#pragma shader_feature_local _ _OUTLINES
29#pragma shader_feature_local _ _GLITTER
30#pragma shader_feature_local _ _EXPLODE
31#pragma shader_feature_local _ _SCROLL
32#pragma shader_feature_local _ _UVSCROLL
33#pragma shader_feature_local _ _MATCAP0
34#pragma shader_feature_local _ _MATCAP0_MASK
35#pragma shader_feature_local _ _MATCAP0_MASK2
36#pragma shader_feature_local _ _MATCAP0_NORMAL
37#pragma shader_feature_local _ _MATCAP1
38#pragma shader_feature_local _ _MATCAP1_MASK
39#pragma shader_feature_local _ _MATCAP1_MASK2
40#pragma shader_feature_local _ _MATCAP1_NORMAL
41#pragma shader_feature_local _ _RIM_LIGHTING0
42#pragma shader_feature_local _ _RIM_LIGHTING0_MASK
43#pragma shader_feature_local _ _RIM_LIGHTING0_MASK2
44#pragma shader_feature_local _ _RIM_LIGHTING0_GLITTER
45#pragma shader_feature_local _ _RIM_LIGHTING0_POLAR_MASK
46#pragma shader_feature_local _ _RIM_LIGHTING0_SAMPLER_LINEAR_REPEAT
47#pragma shader_feature_local _ _RIM_LIGHTING0_SAMPLER_LINEAR_CLAMP
48#pragma shader_feature_local _ _RIM_LIGHTING0_SAMPLER_POINT_REPEAT
49#pragma shader_feature_local _ _RIM_LIGHTING0_SAMPLER_POINT_CLAMP
50#pragma shader_feature_local _ _RIM_LIGHTING0_SAMPLER_BILINEAR_REPEAT
51#pragma shader_feature_local _ _RIM_LIGHTING0_SAMPLER_BILINEAR_CLAMP
52#pragma shader_feature_local _ _RIM_LIGHTING0_CUSTOM_VIEW_VECTOR
53#pragma shader_feature_local _ _RIM_LIGHTING0_REFLECT_IN_WORLD
54#pragma shader_feature_local _ _RIM_LIGHTING1
55#pragma shader_feature_local _ _RIM_LIGHTING1_MASK
56#pragma shader_feature_local _ _RIM_LIGHTING1_MASK2
57#pragma shader_feature_local _ _RIM_LIGHTING1_GLITTER
58#pragma shader_feature_local _ _RIM_LIGHTING1_POLAR_MASK
59#pragma shader_feature_local _ _RIM_LIGHTING1_SAMPLER_LINEAR_REPEAT
60#pragma shader_feature_local _ _RIM_LIGHTING1_SAMPLER_LINEAR_CLAMP
61#pragma shader_feature_local _ _RIM_LIGHTING1_SAMPLER_POINT_REPEAT
62#pragma shader_feature_local _ _RIM_LIGHTING1_SAMPLER_POINT_CLAMP
63#pragma shader_feature_local _ _RIM_LIGHTING1_SAMPLER_BILINEAR_REPEAT
64#pragma shader_feature_local _ _RIM_LIGHTING1_SAMPLER_BILINEAR_CLAMP
65#pragma shader_feature_local _ _RIM_LIGHTING1_CUSTOM_VIEW_VECTOR
66#pragma shader_feature_local _ _RIM_LIGHTING1_REFLECT_IN_WORLD
67#pragma shader_feature_local _ _RIM_LIGHTING2
68#pragma shader_feature_local _ _RIM_LIGHTING2_MASK
69#pragma shader_feature_local _ _RIM_LIGHTING2_MASK2
70#pragma shader_feature_local _ _RIM_LIGHTING2_GLITTER
71#pragma shader_feature_local _ _RIM_LIGHTING2_POLAR_MASK
72#pragma shader_feature_local _ _RIM_LIGHTING2_SAMPLER_LINEAR_REPEAT
73#pragma shader_feature_local _ _RIM_LIGHTING2_SAMPLER_LINEAR_CLAMP
74#pragma shader_feature_local _ _RIM_LIGHTING2_SAMPLER_POINT_REPEAT
75#pragma shader_feature_local _ _RIM_LIGHTING2_SAMPLER_POINT_CLAMP
76#pragma shader_feature_local _ _RIM_LIGHTING2_SAMPLER_BILINEAR_REPEAT
77#pragma shader_feature_local _ _RIM_LIGHTING2_SAMPLER_BILINEAR_CLAMP
78#pragma shader_feature_local _ _RIM_LIGHTING2_CUSTOM_VIEW_VECTOR
79#pragma shader_feature_local _ _RIM_LIGHTING2_REFLECT_IN_WORLD
80#pragma shader_feature_local _ _RIM_LIGHTING3
81#pragma shader_feature_local _ _RIM_LIGHTING3_MASK
82#pragma shader_feature_local _ _RIM_LIGHTING3_MASK2
83#pragma shader_feature_local _ _RIM_LIGHTING3_GLITTER
84#pragma shader_feature_local _ _RIM_LIGHTING3_POLAR_MASK
85#pragma shader_feature_local _ _RIM_LIGHTING3_SAMPLER_LINEAR_REPEAT
86#pragma shader_feature_local _ _RIM_LIGHTING3_SAMPLER_LINEAR_CLAMP
87#pragma shader_feature_local _ _RIM_LIGHTING3_SAMPLER_POINT_REPEAT
88#pragma shader_feature_local _ _RIM_LIGHTING3_SAMPLER_POINT_CLAMP
89#pragma shader_feature_local _ _RIM_LIGHTING3_SAMPLER_BILINEAR_REPEAT
90#pragma shader_feature_local _ _RIM_LIGHTING3_SAMPLER_BILINEAR_CLAMP
91#pragma shader_feature_local _ _RIM_LIGHTING3_CUSTOM_VIEW_VECTOR
92#pragma shader_feature_local _ _RIM_LIGHTING3_REFLECT_IN_WORLD
93#pragma shader_feature_local _ _OKLAB
94#pragma shader_feature_local _ _HSV0
95#pragma shader_feature_local _ _HSV1
96#pragma shader_feature_local _ _HSV2
97#pragma shader_feature_local _ _CLONES
98#pragma shader_feature_local _ _PBR_OVERLAY0
99#pragma shader_feature_local _ _PBR_OVERLAY0_BASECOLOR_MAP
100#pragma shader_feature_local _ _PBR_OVERLAY0_EMISSION_MAP
101#pragma shader_feature_local _ _PBR_OVERLAY0_NORMAL_MAP
102#pragma shader_feature_local _ _PBR_OVERLAY0_ROUGHNESS
103#pragma shader_feature_local _ _PBR_OVERLAY0_ROUGHNESS_MAP
104#pragma shader_feature_local _ _PBR_OVERLAY0_METALLIC
105#pragma shader_feature_local _ _PBR_OVERLAY0_METALLIC_MAP
106#pragma shader_feature_local _ _PBR_OVERLAY0_MASK
107#pragma shader_feature_local _ _PBR_OVERLAY0_MIX_ALPHA_BLEND
108#pragma shader_feature_local _ _PBR_OVERLAY0_MIX_ADD
109#pragma shader_feature_local _ _PBR_OVERLAY0_MIX_MIN
110#pragma shader_feature_local _ _PBR_OVERLAY0_MIX_MAX
111#pragma shader_feature_local _ _PBR_OVERLAY0_MIX_MULTIPLY
112#pragma shader_feature_local _ _PBR_OVERLAY0_SAMPLER_LINEAR_REPEAT
113#pragma shader_feature_local _ _PBR_OVERLAY0_SAMPLER_LINEAR_CLAMP
114#pragma shader_feature_local _ _PBR_OVERLAY0_SAMPLER_POINT_REPEAT
115#pragma shader_feature_local _ _PBR_OVERLAY0_SAMPLER_POINT_CLAMP
116#pragma shader_feature_local _ _PBR_OVERLAY0_SAMPLER_BILINEAR_REPEAT
117#pragma shader_feature_local _ _PBR_OVERLAY0_SAMPLER_BILINEAR_CLAMP
118#pragma shader_feature_local _ _PBR_OVERLAY1
119#pragma shader_feature_local _ _PBR_OVERLAY1_BASECOLOR_MAP
120#pragma shader_feature_local _ _PBR_OVERLAY1_EMISSION_MAP
121#pragma shader_feature_local _ _PBR_OVERLAY1_NORMAL_MAP
122#pragma shader_feature_local _ _PBR_OVERLAY1_ROUGHNESS
123#pragma shader_feature_local _ _PBR_OVERLAY1_ROUGHNESS_MAP
124#pragma shader_feature_local _ _PBR_OVERLAY1_METALLIC
125#pragma shader_feature_local _ _PBR_OVERLAY1_METALLIC_MAP
126#pragma shader_feature_local _ _PBR_OVERLAY1_MASK
127#pragma shader_feature_local _ _PBR_OVERLAY1_MIX_ALPHA_BLEND
128#pragma shader_feature_local _ _PBR_OVERLAY1_MIX_ADD
129#pragma shader_feature_local _ _PBR_OVERLAY1_MIX_MIN
130#pragma shader_feature_local _ _PBR_OVERLAY1_MIX_MAX
131#pragma shader_feature_local _ _PBR_OVERLAY1_MIX_MULTIPLY
132#pragma shader_feature_local _ _PBR_OVERLAY1_SAMPLER_LINEAR_REPEAT
133#pragma shader_feature_local _ _PBR_OVERLAY1_SAMPLER_LINEAR_CLAMP
134#pragma shader_feature_local _ _PBR_OVERLAY1_SAMPLER_POINT_REPEAT
135#pragma shader_feature_local _ _PBR_OVERLAY1_SAMPLER_POINT_CLAMP
136#pragma shader_feature_local _ _PBR_OVERLAY1_SAMPLER_BILINEAR_REPEAT
137#pragma shader_feature_local _ _PBR_OVERLAY1_SAMPLER_BILINEAR_CLAMP
138#pragma shader_feature_local _ _PBR_OVERLAY2
139#pragma shader_feature_local _ _PBR_OVERLAY2_BASECOLOR_MAP
140#pragma shader_feature_local _ _PBR_OVERLAY2_EMISSION_MAP
141#pragma shader_feature_local _ _PBR_OVERLAY2_NORMAL_MAP
142#pragma shader_feature_local _ _PBR_OVERLAY2_ROUGHNESS
143#pragma shader_feature_local _ _PBR_OVERLAY2_ROUGHNESS_MAP
144#pragma shader_feature_local _ _PBR_OVERLAY2_METALLIC
145#pragma shader_feature_local _ _PBR_OVERLAY2_METALLIC_MAP
146#pragma shader_feature_local _ _PBR_OVERLAY2_MASK
147#pragma shader_feature_local _ _PBR_OVERLAY2_MIX_ALPHA_BLEND
148#pragma shader_feature_local _ _PBR_OVERLAY2_MIX_ADD
149#pragma shader_feature_local _ _PBR_OVERLAY2_MIX_MIN
150#pragma shader_feature_local _ _PBR_OVERLAY2_MIX_MAX
151#pragma shader_feature_local _ _PBR_OVERLAY2_MIX_MULTIPLY
152#pragma shader_feature_local _ _PBR_OVERLAY2_SAMPLER_LINEAR_REPEAT
153#pragma shader_feature_local _ _PBR_OVERLAY2_SAMPLER_LINEAR_CLAMP
154#pragma shader_feature_local _ _PBR_OVERLAY2_SAMPLER_POINT_REPEAT
155#pragma shader_feature_local _ _PBR_OVERLAY2_SAMPLER_POINT_CLAMP
156#pragma shader_feature_local _ _PBR_OVERLAY2_SAMPLER_BILINEAR_REPEAT
157#pragma shader_feature_local _ _PBR_OVERLAY2_SAMPLER_BILINEAR_CLAMP
158#pragma shader_feature_local _ _PBR_OVERLAY3
159#pragma shader_feature_local _ _PBR_OVERLAY3_BASECOLOR_MAP
160#pragma shader_feature_local _ _PBR_OVERLAY3_EMISSION_MAP
161#pragma shader_feature_local _ _PBR_OVERLAY3_NORMAL_MAP
162#pragma shader_feature_local _ _PBR_OVERLAY3_ROUGHNESS
163#pragma shader_feature_local _ _PBR_OVERLAY3_ROUGHNESS_MAP
164#pragma shader_feature_local _ _PBR_OVERLAY3_METALLIC
165#pragma shader_feature_local _ _PBR_OVERLAY3_METALLIC_MAP
166#pragma shader_feature_local _ _PBR_OVERLAY3_MASK
167#pragma shader_feature_local _ _PBR_OVERLAY3_MIX_ALPHA_BLEND
168#pragma shader_feature_local _ _PBR_OVERLAY3_MIX_ADD
169#pragma shader_feature_local _ _PBR_OVERLAY3_MIX_MIN
170#pragma shader_feature_local _ _PBR_OVERLAY3_MIX_MAX
171#pragma shader_feature_local _ _PBR_OVERLAY3_MIX_MULTIPLY
172#pragma shader_feature_local _ _PBR_OVERLAY3_SAMPLER_LINEAR_REPEAT
173#pragma shader_feature_local _ _PBR_OVERLAY3_SAMPLER_LINEAR_CLAMP
174#pragma shader_feature_local _ _PBR_OVERLAY3_SAMPLER_POINT_REPEAT
175#pragma shader_feature_local _ _PBR_OVERLAY3_SAMPLER_POINT_CLAMP
176#pragma shader_feature_local _ _PBR_OVERLAY3_SAMPLER_BILINEAR_REPEAT
177#pragma shader_feature_local _ _PBR_OVERLAY3_SAMPLER_BILINEAR_CLAMP
178#pragma shader_feature_local _ _DECAL0
179#pragma shader_feature_local _ _DECAL0_ROUGHNESS
180#pragma shader_feature_local _ _DECAL0_METALLIC
181#pragma shader_feature_local _ _DECAL0_MASK
182#pragma shader_feature_local _ _DECAL0_DOMAIN_WARPING
183#pragma shader_feature_local _ _DECAL1
184#pragma shader_feature_local _ _DECAL1_ROUGHNESS
185#pragma shader_feature_local _ _DECAL1_METALLIC
186#pragma shader_feature_local _ _DECAL1_MASK
187#pragma shader_feature_local _ _DECAL1_DOMAIN_WARPING
188#pragma shader_feature_local _ _DECAL2
189#pragma shader_feature_local _ _DECAL2_ROUGHNESS
190#pragma shader_feature_local _ _DECAL2_METALLIC
191#pragma shader_feature_local _ _DECAL2_MASK
192#pragma shader_feature_local _ _DECAL2_DOMAIN_WARPING
193#pragma shader_feature_local _ _DECAL3
194#pragma shader_feature_local _ _DECAL3_ROUGHNESS
195#pragma shader_feature_local _ _DECAL3_METALLIC
196#pragma shader_feature_local _ _DECAL3_MASK
197#pragma shader_feature_local _ _DECAL3_DOMAIN_WARPING
198#pragma shader_feature_local _ _DECAL4
199#pragma shader_feature_local _ _DECAL4_ROUGHNESS
200#pragma shader_feature_local _ _DECAL4_METALLIC
201#pragma shader_feature_local _ _DECAL4_MASK
202#pragma shader_feature_local _ _DECAL4_DOMAIN_WARPING
203#pragma shader_feature_local _ _DECAL5
204#pragma shader_feature_local _ _DECAL5_ROUGHNESS
205#pragma shader_feature_local _ _DECAL5_METALLIC
206#pragma shader_feature_local _ _DECAL5_MASK
207#pragma shader_feature_local _ _DECAL5_DOMAIN_WARPING
208#pragma shader_feature_local _ _DECAL6
209#pragma shader_feature_local _ _DECAL6_ROUGHNESS
210#pragma shader_feature_local _ _DECAL6_METALLIC
211#pragma shader_feature_local _ _DECAL6_MASK
212#pragma shader_feature_local _ _DECAL6_DOMAIN_WARPING
213#pragma shader_feature_local _ _DECAL7
214#pragma shader_feature_local _ _DECAL7_ROUGHNESS
215#pragma shader_feature_local _ _DECAL7_METALLIC
216#pragma shader_feature_local _ _DECAL7_MASK
217#pragma shader_feature_local _ _DECAL7_DOMAIN_WARPING
218#pragma shader_feature_local _ _DECAL8
219#pragma shader_feature_local _ _DECAL8_ROUGHNESS
220#pragma shader_feature_local _ _DECAL8_METALLIC
221#pragma shader_feature_local _ _DECAL8_MASK
222#pragma shader_feature_local _ _DECAL8_DOMAIN_WARPING
223#pragma shader_feature_local _ _DECAL9
224#pragma shader_feature_local _ _DECAL9_ROUGHNESS
225#pragma shader_feature_local _ _DECAL9_METALLIC
226#pragma shader_feature_local _ _DECAL9_MASK
227#pragma shader_feature_local _ _DECAL9_DOMAIN_WARPING
228#pragma shader_feature_local _ _FRAME_COUNTER
229#pragma shader_feature_local _ _LTCGI
230#pragma shader_feature_local _ _FORCE_WORLD_LIGHTING
231#pragma shader_feature_local _ _TESSELLATION
232#pragma shader_feature_local _ _MATCAP0_DISTORTION0
233#pragma shader_feature_local _ _MATCAP1_DISTORTION0
234#pragma shader_feature_local _ _AMBIENT_OCCLUSION
235#pragma shader_feature_local _ _GIMMICK_FLAT_COLOR
236#pragma shader_feature_local _ _GIMMICK_UV_DOMAIN_WARPING
237#pragma shader_feature_local _ _GIMMICK_QUANTIZE_LOCATION
238#pragma shader_feature_local _ _GIMMICK_QUANTIZE_LOCATION_AUDIOLINK
239#pragma shader_feature_local _ _GIMMICK_SHEAR_LOCATION
240#pragma shader_feature_local _ _GIMMICK_SPHERIZE_LOCATION
241#pragma shader_feature_local _ _GIMMICK_EYES_00
242#pragma shader_feature_local _ _GIMMICK_EYES_01
243#pragma shader_feature_local _ _GIMMICK_EYES_02
244#pragma shader_feature_local _ _GIMMICK_DS2
245#pragma shader_feature_local _ _GIMMICK_HALO_00
246#pragma shader_feature_local _ _GIMMICK_EPILEPSY_MODE
247#pragma shader_feature_local _ _PIXELLATE
248#pragma shader_feature_local _ _TROCHOID
249#pragma shader_feature_local _ _FACE_ME_WORLD_Y
250#pragma shader_feature_local _ _RORSCHACH
251#pragma shader_feature_local _ _RORSCHACH_MASK
252#pragma shader_feature_local _ _MIRROR_UV_FLIP
253#pragma shader_feature_local _ _CLEARCOAT
254#pragma shader_feature_local _ _CLEARCOAT_MASK
255#pragma shader_feature_local _ _CLEARCOAT_MASK2
256#pragma shader_feature_local _ _PROXIMITY_DIMMING
257#pragma shader_feature_local _ _DISCARD
258#pragma shader_feature_local _ _BRIGHTNESS_CLAMP
259#pragma shader_feature_local _ _WORLD_INTERPOLATORS
260#pragma shader_feature_local _ _GIMMICK_LETTER_GRID
261#pragma shader_feature_local _ _GIMMICK_LETTER_GRID_COLOR_WAVE
262#pragma shader_feature_local _ _GIMMICK_LETTER_GRID_RIM_LIGHTING
263#pragma shader_feature_local _ _GIMMICK_LETTER_GRID_2
264#pragma shader_feature_local _ _GIMMICK_LETTER_GRID_2_MASK
265#pragma shader_feature_local _ _REFLECTION_STRENGTH_TEX
266#pragma shader_feature_local _ _GIMMICK_AL_CHROMA_00
267#pragma shader_feature_local _ _GIMMICK_AL_CHROMA_00_HUE_SHIFT
268#pragma shader_feature_local _ SSR_ENABLED
269#pragma shader_feature_local _ SSR_MASK
270#pragma shader_feature_local _ _GIMMICK_FOG_00
271#pragma shader_feature_local _ _GIMMICK_FOG_00_BOUNDARY_CYLINDER
272#pragma shader_feature_local _ _GIMMICK_FOG_00_BOUNDARY_SPHERE
273#pragma shader_feature_local _ _GIMMICK_FOG_00_BOUNDARY_PLANE
274#pragma shader_feature_local _ _GIMMICK_FOG_00_NOISE_2D
275#pragma shader_feature_local _ _GIMMICK_FOG_00_EMITTER_TEXTURE
276#pragma shader_feature_local _ _GIMMICK_FOG_00_EMITTER_VARIABLE_DENSITY
277#pragma shader_feature_local _ _GIMMICK_FOG_00_EMITTER_1
278#pragma shader_feature_local _ _GIMMICK_FOG_00_EMITTER_2
279#pragma shader_feature_local _ _GIMMICK_FOG_00_RAY_MARCH_0
280#pragma shader_feature_local _ _GIMMICK_FOG_01
281#pragma shader_feature_local _ _UNITY_FOG
282#pragma shader_feature_local _ _GIMMICK_AURORA
283#pragma shader_feature_local _ _GIMMICK_GERSTNER_WATER
284#pragma shader_feature_local _ _GIMMICK_GERSTNER_WATER_OCTAVE_1
285#pragma shader_feature_local _ _GIMMICK_GERSTNER_WATER_COLOR_RAMP
286#pragma shader_feature_local _ _GIMMICK_BOX_DISCARD
287#pragma shader_feature_local _ _OPTIMIZE_INTERPOLATORS
288#pragma shader_feature_local _ _ACES_FILMIC
289#pragma shader_feature_local _ _GIMMICK_ZWRITE_ABOMINATION
290#pragma shader_feature_local _ _GIMMICK_LENS_00
291#pragma shader_feature_local _ _GIMMICK_LENS_00_FRAME_COUNTER
292#pragma shader_feature_local _ _GIMMICK_LENS_00_GRABPASS
293#pragma shader_feature_local _ _GIMMICK_LENS_00_BAYER
294#pragma shader_feature_local _ _GIMMICK_LENS_00_INTERLEAVED_GRADIENT_NOISE
295#pragma shader_feature_local _ _GIMMICK_LENS_00_SSFD
296#pragma shader_feature_local _ _SURFACE_STABLE_FRACTAL_DITHERING
297
298
299#endif  // __FEATURE_MACROS_INC
300