summaryrefslogtreecommitdiffstats
path: root/tooner.shader
diff options
context:
space:
mode:
authoryum <yum.food.vr@gmail.com>2024-04-22 16:02:38 -0700
committeryum <yum.food.vr@gmail.com>2024-04-22 16:02:38 -0700
commitdcb15c0d7425f2b3ede070cd97ac8f1bd8386df1 (patch)
treee17e5b620e0784226b6d24acce43c8bbcee22f1f /tooner.shader
Initial commit
Code bomb. Put tooner in version control.
Diffstat (limited to 'tooner.shader')
-rw-r--r--tooner.shader276
1 files changed, 276 insertions, 0 deletions
diff --git a/tooner.shader b/tooner.shader
new file mode 100644
index 0000000..586e58b
--- /dev/null
+++ b/tooner.shader
@@ -0,0 +1,276 @@
+Shader "yum_food/tooner"
+{
+ Properties
+ {
+ _BaseColor("Base color", Color) = (0.8, 0.8, 0.8, 1)
+ _Metallic("Metallic", Range(0, 1)) = 0
+ _Roughness("Roughness", Range(0, 1)) = 1
+
+ [NoScaleOffset] _BaseColorTex("Base color", 2D) = "white" {}
+ [NoScaleOffset] _NormalTex("Normal", 2D) = "bump" {}
+ [NoScaleOffset] _MetallicTex("Metallic", 2D) = "white" {}
+ [NoScaleOffset] _RoughnessTex("Roughness", 2D) = "black" {}
+
+ _PBR_Overlay_Enable("Enable PBR overlay", Float) = 0.0
+ _PBR_Overlay_BaseColor("Base color", Color) = (0.8, 0.8, 0.8, 1)
+ _PBR_Overlay_Metallic("Metallic", Range(0, 1)) = 0
+ _PBR_Overlay_Roughness("Roughness", Range(0, 1)) = 1
+ [NoScaleOffset] _PBR_Overlay_BaseColorTex("Base color", 2D) = "white" {}
+ [NoScaleOffset] _PBR_Overlay_NormalTex("Normal", 2D) = "bump" {}
+ [NoScaleOffset] _PBR_Overlay_MetallicTex("Metallic", 2D) = "white" {}
+ [NoScaleOffset] _PBR_Overlay_RoughnessTex("Roughness", 2D) = "black" {}
+ [NoScaleOffset] _PBR_Overlay_Tex_NormalStr("Normal texture strength", Range(0, 10)) = 1
+
+ [NoScaleOffset] _EmissionTex("Emission map", 2D) = "black" {}
+ _EmissionStrength("Emission strength", Range(0, 2)) = 0
+
+ [NoScaleOffset] _Tex_NormalStr("Normal texture strength", Range(0, 10)) = 1
+
+ _Cubemap("Cubemap", Cube) = "" {}
+ _Min_Brightness("Min brightness", Range(0, 1)) = 0
+ _Max_Brightness("Max brightness", Range(0, 1.5)) = 1
+ _Mesh_Normal_Strength("Mesh normal strength", Range(0, 10)) = 1
+ _NormalStr("Normal strength", Range(0, 10)) = 1
+
+ _Shading_Mode("Shading mode", Range(0, 1)) = 0
+ [MaterialToggle] _Flatten_Mesh_Normals("Flatten mesh normals", Float) = 0.0
+ [MaterialToggle] _Confabulate_Normals("Confabulate mesh normals", Float) = 0.0
+
+ _Alpha_Cutoff("Alpha cutoff", Range(0, 1)) = 0.5
+
+ _Outline_Width("Outline width", Range(0, 0.1)) = 0.01
+ _Outline_Color("Outline color", Color) = (0, 0, 0, 1)
+ _Outline_Emission_Strength("Outline emission strength", Range(0, 2)) = 0.2
+ _Outline_Mask("Outline mask", 2D) = "white" {}
+ _Outline_Mask_Invert("Invert outline mask", Float) = 0.0
+
+ _Glitter_Enabled("Glitter enabled", Float) = 0
+ _Glitter_Mask("Glitter mask", 2D) = "white" {}
+ _Glitter_Density("Glitter density", float) = 400
+ _Glitter_Amount("Glitter amount", Range(1, 100)) = 35
+ _Glitter_Speed("Glitter speed", float) = 1
+ _Glitter_Seed("Glitter seed", float) = 1
+ _Glitter_Brightness("Glitter brightness", float) = 1
+ _Glitter_Angle("Glitter angle", Range(0, 90)) = 90
+
+ [MaterialToggle] _Explode_Toggle("Explode toggle", Float) = 0
+ _Explode_Phase("Explode phase", Range(0, 1)) = 0
+ [Enum(UnityEngine.Rendering.CullMode)] _OutlinesCull ("Outlines pass culling mode", Float) = 1
+ [Enum(UnityEngine.Rendering.CullMode)] _Cull ("Culling mode", Float) = 2
+
+ [MaterialToggle] _Scroll_Toggle("Scroll toggle", Float) = 0
+ _Scroll_Top("Scroll top (m)", Range(-5, 5)) = 1
+ _Scroll_Bottom("Scroll bottom (m)", Range(-5, 5)) = 0
+ _Scroll_Width("Scroll width", Range(0, 1)) = 0
+ _Scroll_Strength("Scroll strength", Range(0, 1)) = 0
+ _Scroll_Speed("Scroll speed", Range(0, 1)) = 1
+
+ [HideInInspector] _SrcBlend ("_SrcBlend", Float) = 1
+ [HideInInspector] _DstBlend ("_SrcBlend", Float) = 0
+ [HideInInspector] _ZWrite ("_ZWrite", Float) = 1
+
+ _Matcap0("Matcap", 2D) = "black" {}
+ _Matcap0_Mask("Matcap mask", 2D) = "white" {}
+ _Matcap0_Mask_Invert("Invert mask", Float) = 0.0
+ _Matcap0Mode("Matcap mode", Float) = 0
+ _Matcap0Str("Matcap strength", Float) = 1
+
+ _Matcap1("Matcap", 2D) = "black" {}
+ _Matcap1_Mask("Matcap mask", 2D) = "white" {}
+ _Matcap1_Mask_Invert("Invert mask", Float) = 0.0
+ _Matcap1Mode("Matcap mode", Float) = 0
+ _Matcap1Str("Matcap strength", Float) = 1
+
+ _Rim_Lighting_Enabled("Enable rim lighting", Float) = 0
+ _Rim_Lighting_Mode("Rim lighting mode", Float) = 0
+ _Rim_Lighting_Mask("Rim lighting mask", 2D) = "white" {}
+ _Rim_Lighting_Mask_Invert("Invert rim lighting mask", Float) = 0.0
+ _Rim_Lighting_Color("Rim lighting color", Color) = (1, 1, 1, 1)
+ _Rim_Lighting_Center("Rim lighting center", Float) = 0.5
+ _Rim_Lighting_Power("Rim lighting power", Float) = 2.0
+ _Rim_Lighting_Strength("Rim lighting power", Float) = 1.0
+
+ _OKLAB_Enabled("Enable OKLAB", Float) = 0.0
+ _OKLAB_Mask("Mask", 2D) = "white" {}
+ _OKLAB_Lightness_Shift("OKLAB lightness shift", Range(-1.0, 1.0)) = 0.0
+ _OKLAB_Chroma_Shift("OKLAB chroma shift", Range(-0.37, 0.37)) = 0.0
+ _OKLAB_Hue_Shift("OKLAB hue shift", Range(0, 6.283185307)) = 0.0
+
+ _Clones_Enabled("Enable clones", Float) = 0.0
+ _Clones_Count("Clones count", Range(0,4)) = 0.0
+ _Clones_dx("Clones dx", Range(0, 1)) = 1.0
+
+ _UVScroll_Enabled("Enable UV scrolling", Float) = 0.0
+ _UVScroll_Mask("UV scroll mask", 2D) = "white"
+ _UVScroll_U_Speed("UV scroll U speed", Float) = 0.0
+ _UVScroll_V_Speed("UV scroll V speed", Float) = 1.0
+ _UVScroll_Alpha("UV scroll alpha", 2D) = "white"
+ }
+ Fallback "Transparent"
+ SubShader
+ {
+ Pass {
+ Tags {
+ "RenderType"="Opaque"
+ "Queue"="Geometry"
+ "LightMode" = "ForwardBase"
+ }
+ Blend [_SrcBlend] [_DstBlend]
+ ZWrite [_ZWrite]
+ ZTest LEqual
+ Cull [_Cull]
+
+ Stencil {
+ Ref 1
+ Comp Always
+ Pass Replace
+ }
+
+ CGPROGRAM
+ #pragma target 5.0
+
+ #pragma multi_compile _ VERTEXLIGHT_ON
+ #pragma shader_feature_local _ _BASECOLOR_MAP
+ #pragma shader_feature_local _ _NORMAL_MAP
+ #pragma shader_feature_local _ _METALLIC_MAP
+ #pragma shader_feature_local _ _ROUGHNESS_MAP
+ #pragma shader_feature_local _ _CUBEMAP
+ #pragma shader_feature_local _ _EMISSION
+ //#pragma shader_feature_local _ _SHADING_MODE_FLAT
+ #pragma shader_feature_local _ _RENDERING_CUTOUT
+ #pragma shader_feature_local _ _RENDERING_FADE
+ #pragma shader_feature_local _ _OUTLINES
+ #pragma shader_feature_local _ _GLITTER
+ #pragma shader_feature_local _ _EXPLODE
+ #pragma shader_feature_local _ _SCROLL
+ #pragma shader_feature_local _ _UVSCROLL
+ #pragma shader_feature_local _ _MATCAP0
+ #pragma shader_feature_local _ _MATCAP0_MASK
+ #pragma shader_feature_local _ _MATCAP1
+ #pragma shader_feature_local _ _MATCAP1_MASK
+ #pragma shader_feature_local _ _RIM_LIGHTING
+ #pragma shader_feature_local _ _RIM_LIGHTING_MASK
+ #pragma shader_feature_local _ _OKLAB
+ #pragma shader_feature_local _ _CLONES
+ #pragma shader_feature_local _ _PBR_OVERLAY
+ #pragma shader_feature_local _ _PBR_OVERLAY_BASECOLOR_MAP
+ #pragma shader_feature_local _ _PBR_OVERLAY_NORMAL_MAP
+ #pragma shader_feature_local _ _PBR_OVERLAY_ROUGHNESS_MAP
+ #pragma shader_feature_local _ _PBR_OVERLAY_METALLIC_MAP
+
+ #pragma vertex vert
+ //#pragma vertex hull_vertex
+ //#pragma hull hull
+ //#pragma domain domain
+
+ #pragma geometry geom
+ #pragma fragment frag
+
+ #define FORWARD_BASE_PASS
+
+ #include "tooner_lighting.cginc"
+ ENDCG
+ }
+ Pass {
+ Tags {
+ "RenderType" = "Opaque"
+ "Queue"="Geometry"
+ "LightMode" = "ForwardAdd"
+ }
+ Blend [_SrcBlend] One
+ ZWrite Off
+ Cull [_Cull]
+
+ CGPROGRAM
+ #pragma target 5.0
+
+ #pragma multi_compile_fwdadd
+ #pragma multi_compile DIRECTIONAL DIRECTIONAL_COOKIE POINT SPOT
+ #pragma shader_feature_local _BASECOLOR_MAP
+ #pragma shader_feature_local _NORMAL_MAP
+ #pragma shader_feature_local _METALLIC_MAP
+ #pragma shader_feature_local _ROUGHNESS_MAP
+ #pragma shader_feature_local _CUBEMAP
+ #pragma shader_feature_local _ _EMISSION
+ //#pragma shader_feature_local _SHADING_MODE_FLAT
+ #pragma shader_feature_local _RENDERING_CUTOUT
+ #pragma shader_feature_local _RENDERING_FADE
+ #pragma shader_feature_local _OUTLINES
+ #pragma shader_feature_local _GLITTER
+ #pragma shader_feature_local _EXPLODE
+ #pragma shader_feature_local _SCROLL
+ #pragma shader_feature_local _UVSCROLL
+ #pragma shader_feature_local _MATCAP0
+ #pragma shader_feature_local _ _MATCAP0_MASK
+ #pragma shader_feature_local _MATCAP1
+ #pragma shader_feature_local _ _MATCAP1_MASK
+ #pragma shader_feature_local _ _RIM_LIGHTING
+ #pragma shader_feature_local _ _RIM_LIGHTING_MASK
+ #pragma shader_feature_local _ _OKLAB
+ #pragma shader_feature_local _ _CLONES
+ #pragma shader_feature_local _ _PBR_OVERLAY
+ #pragma shader_feature_local _ _PBR_OVERLAY_BASECOLOR_MAP
+ #pragma shader_feature_local _ _PBR_OVERLAY_NORMAL_MAP
+ #pragma shader_feature_local _ _PBR_OVERLAY_ROUGHNESS_MAP
+ #pragma shader_feature_local _ _PBR_OVERLAY_METALLIC_MAP
+
+ #pragma vertex vert
+ //#pragma vertex hull_vertex
+ //#pragma hull hull
+ //#pragma domain domain
+
+ #pragma geometry geom
+ #pragma fragment frag
+
+ #include "tooner_lighting.cginc"
+ ENDCG
+ }
+ Pass {
+ Cull [_OutlinesCull]
+
+ ZWrite [_ZWrite]
+ ZTest LEqual
+
+ CGPROGRAM
+ #pragma target 5.0
+ #pragma shader_feature_local _BASECOLOR_MAP
+ #pragma shader_feature_local _RENDERING_CUTOUT
+ #pragma shader_feature_local _OUTLINES
+ #pragma shader_feature_local _EXPLODE
+ #pragma shader_feature_local _ _SCROLL
+ #pragma shader_feature_local _ _UVSCROLL
+ #pragma shader_feature_local _MATCAP0
+ #pragma shader_feature_local _ _MATCAP0_MASK
+ #pragma shader_feature_local _MATCAP1
+ #pragma shader_feature_local _ _MATCAP1_MASK
+ #pragma shader_feature_local _ _RIM_LIGHTING
+ #pragma shader_feature_local _ _RIM_LIGHTING_MASK
+ #pragma shader_feature_local _ _OKLAB
+ #pragma shader_feature_local _ _CLONES
+ #pragma shader_feature_local _ _PBR_OVERLAY
+ #pragma shader_feature_local _ _PBR_OVERLAY_BASECOLOR_MAP
+ #pragma shader_feature_local _ _PBR_OVERLAY_NORMAL_MAP
+ #pragma shader_feature_local _ _PBR_OVERLAY_ROUGHNESS_MAP
+ #pragma shader_feature_local _ _PBR_OVERLAY_METALLIC_MAP
+
+ #pragma vertex vert
+ //#pragma vertex hull_vertex
+ //#pragma hull hull
+ //#pragma domain domain
+
+ #pragma geometry geom
+ #pragma fragment frag
+
+ #include "tooner_outline_pass.cginc"
+ ENDCG
+ }
+ Pass {
+ Tags {"LightMode" = "ShadowCaster"}
+ CGPROGRAM
+ #include "mochie_shadow_caster.cginc"
+ ENDCG
+ }
+ }
+ CustomEditor "ToonerGUI"
+}
+