yum-archive/Tooner
A toon shader for Unity's BIRP.
git clone https://git.yummers.dev/yum-archive/Tooner
4bd9c2b
master
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