Streamingle_URP/Assets/External/lilToon/Shader/lts_fakeshadow.shader

276 lines
14 KiB
GLSL

Shader "_lil/[Optional] lilToonFakeShadow"
{
Properties
{
//----------------------------------------------------------------------------------------------------------------------
// Base
[lilToggle] _Invisible ("sInvisible", Int) = 0
//----------------------------------------------------------------------------------------------------------------------
// Main
[lilHDR] [MainColor] _Color ("sColor", Color) = (0.925,0.7,0.74,1)
[MainTexture] _MainTex ("Texture", 2D) = "white" {}
[lilVec3Float] _FakeShadowVector ("sFakeShadowVectors", Vector) = (0,0,0,0.05)
//----------------------------------------------------------------------------------------------------------------------
// Encryption
[lilToggle] _IgnoreEncryption ("sIgnoreEncryption", Int) = 0
_Keys ("sKeys", Vector) = (0,0,0,0)
_BitKey0 ("_BitKey0", Float) = 0
_BitKey1 ("_BitKey1", Float) = 0
_BitKey2 ("_BitKey2", Float) = 0
_BitKey3 ("_BitKey3", Float) = 0
_BitKey4 ("_BitKey4", Float) = 0
_BitKey5 ("_BitKey5", Float) = 0
_BitKey6 ("_BitKey6", Float) = 0
_BitKey7 ("_BitKey7", Float) = 0
_BitKey8 ("_BitKey8", Float) = 0
_BitKey9 ("_BitKey9", Float) = 0
_BitKey10 ("_BitKey10", Float) = 0
_BitKey11 ("_BitKey11", Float) = 0
_BitKey12 ("_BitKey12", Float) = 0
_BitKey13 ("_BitKey13", Float) = 0
_BitKey14 ("_BitKey14", Float) = 0
_BitKey15 ("_BitKey15", Float) = 0
_BitKey16 ("_BitKey16", Float) = 0
_BitKey17 ("_BitKey17", Float) = 0
_BitKey18 ("_BitKey18", Float) = 0
_BitKey19 ("_BitKey19", Float) = 0
_BitKey20 ("_BitKey20", Float) = 0
_BitKey21 ("_BitKey21", Float) = 0
_BitKey22 ("_BitKey22", Float) = 0
_BitKey23 ("_BitKey23", Float) = 0
_BitKey24 ("_BitKey24", Float) = 0
_BitKey25 ("_BitKey25", Float) = 0
_BitKey26 ("_BitKey26", Float) = 0
_BitKey27 ("_BitKey27", Float) = 0
_BitKey28 ("_BitKey28", Float) = 0
_BitKey29 ("_BitKey29", Float) = 0
_BitKey30 ("_BitKey30", Float) = 0
_BitKey31 ("_BitKey31", Float) = 0
//----------------------------------------------------------------------------------------------------------------------
// Advanced
[lilEnum] _Cull ("sCullModes", Int) = 2
[Enum(UnityEngine.Rendering.BlendMode)] _SrcBlend ("sSrcBlendRGB", Int) = 2
[Enum(UnityEngine.Rendering.BlendMode)] _DstBlend ("sDstBlendRGB", Int) = 0
[Enum(UnityEngine.Rendering.BlendMode)] _SrcBlendAlpha ("sSrcBlendAlpha", Int) = 0
[Enum(UnityEngine.Rendering.BlendMode)] _DstBlendAlpha ("sDstBlendAlpha", Int) = 1
[Enum(UnityEngine.Rendering.BlendOp)] _BlendOp ("sBlendOpRGB", Int) = 0
[Enum(UnityEngine.Rendering.BlendOp)] _BlendOpAlpha ("sBlendOpAlpha", Int) = 0
[Enum(UnityEngine.Rendering.BlendMode)] _SrcBlendFA ("sSrcBlendRGB", Int) = 1
[Enum(UnityEngine.Rendering.BlendMode)] _DstBlendFA ("sDstBlendRGB", Int) = 1
[Enum(UnityEngine.Rendering.BlendMode)] _SrcBlendAlphaFA ("sSrcBlendAlpha", Int) = 0
[Enum(UnityEngine.Rendering.BlendMode)] _DstBlendAlphaFA ("sDstBlendAlpha", Int) = 1
[Enum(UnityEngine.Rendering.BlendOp)] _BlendOpFA ("sBlendOpRGB", Int) = 4
[Enum(UnityEngine.Rendering.BlendOp)] _BlendOpAlphaFA ("sBlendOpAlpha", Int) = 4
[lilToggle] _ZClip ("sZClip", Int) = 1
[lilToggle] _ZWrite ("sZWrite", Int) = 1
[Enum(UnityEngine.Rendering.CompareFunction)] _ZTest ("sZTest", Int) = 4
[IntRange] _StencilRef ("Ref", Range(0, 255)) = 51
[IntRange] _StencilReadMask ("ReadMask", Range(0, 255)) = 255
[IntRange] _StencilWriteMask ("WriteMask", Range(0, 255)) = 255
[Enum(UnityEngine.Rendering.CompareFunction)] _StencilComp ("Comp", Float) = 3
[Enum(UnityEngine.Rendering.StencilOp)] _StencilPass ("Pass", Float) = 0
[Enum(UnityEngine.Rendering.StencilOp)] _StencilFail ("Fail", Float) = 0
[Enum(UnityEngine.Rendering.StencilOp)] _StencilZFail ("ZFail", Float) = 0
_OffsetFactor ("sOffsetFactor", Float) = 0
_OffsetUnits ("sOffsetUnits", Float) = 0
[lilColorMask] _ColorMask ("sColorMask", Int) = 15
[lilToggle] _AlphaToMask ("sAlphaToMask", Int) = 0
_lilShadowCasterBias ("Shadow Caster Bias", Float) = 0
//----------------------------------------------------------------------------------------------------------------------
// Save (Unused)
[HideInInspector] _BaseColor ("sColor", Color) = (1,1,1,1)
[HideInInspector] _BaseMap ("Texture", 2D) = "white" {}
[HideInInspector] _BaseColorMap ("Texture", 2D) = "white" {}
[HideInInspector] _lilToonVersion ("Version", Int) = 43
}
SubShader
{
Tags {"RenderType" = "Transparent" "Queue" = "AlphaTest+55" "ShaderModel" = "4.5"}
HLSLINCLUDE
#define LIL_OPTIMIZE_APPLY_SHADOW_FA
#define LIL_OPTIMIZE_USE_FORWARDADD
#define LIL_SRP_VERSION_MAJOR 17
#define LIL_SRP_VERSION_MINOR 3
#define LIL_SRP_VERSION_PATCH 0
#pragma target 4.5
#pragma fragmentoption ARB_precision_hint_fastest
#define LIL_FAKESHADOW
ENDHLSL
// Forward
Pass
{
Name "FORWARD"
Tags {"LightMode" = "SRPDefaultUnlit"}
Stencil
{
Ref [_StencilRef]
ReadMask [_StencilReadMask]
WriteMask [_StencilWriteMask]
Comp [_StencilComp]
Pass [_StencilPass]
Fail [_StencilFail]
ZFail [_StencilZFail]
}
Cull [_Cull]
ZClip [_ZClip]
ZWrite [_ZWrite]
ZTest [_ZTest]
ColorMask [_ColorMask]
Offset [_OffsetFactor], [_OffsetUnits]
BlendOp [_BlendOp], [_BlendOpAlpha]
Blend [_SrcBlend] [_DstBlend], [_SrcBlendAlpha] [_DstBlendAlpha]
AlphaToMask [_AlphaToMask]
HLSLPROGRAM
//----------------------------------------------------------------------------------------------------------------------
// Build Option
#pragma vertex vert
#pragma fragment frag
#pragma multi_compile _ _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN
#pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS
#pragma multi_compile _ PROBE_VOLUMES_L1 PROBE_VOLUMES_L2
#pragma multi_compile_fragment _ _ADDITIONAL_LIGHT_SHADOWS
#pragma multi_compile_fragment _ _REFLECTION_PROBE_BLENDING
#pragma multi_compile_fragment _ _REFLECTION_PROBE_BOX_PROJECTION
#pragma multi_compile_fragment _ _SHADOWS_SOFT
#pragma multi_compile_fragment _ _SCREEN_SPACE_OCCLUSION
#pragma multi_compile_fragment _ _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3
#pragma multi_compile _ _LIGHT_LAYERS
#pragma multi_compile_fragment _ _LIGHT_COOKIES
#pragma multi_compile _ _CLUSTER_LIGHT_LOOP
#pragma multi_compile _ LIGHTMAP_SHADOW_MIXING
#pragma multi_compile _ SHADOWS_SHADOWMASK
#pragma multi_compile _ DIRLIGHTMAP_COMBINED
#pragma multi_compile _ LIGHTMAP_ON
#pragma multi_compile _ DYNAMICLIGHTMAP_ON
#pragma multi_compile_vertex _ FOG_LINEAR FOG_EXP FOG_EXP2
#pragma multi_compile _ DOTS_INSTANCING_ON
#pragma multi_compile_instancing
#pragma instancing_options renderinglayer
#define LIL_PASS_FORWARD
//----------------------------------------------------------------------------------------------------------------------
// Pass
#include "Includes/lil_pipeline_urp.hlsl"
#include "Includes/lil_common.hlsl"
// Insert functions and includes that depend on Unity here
#include "Includes/lil_pass_forward_fakeshadow.hlsl"
ENDHLSL
}
}
Fallback "Universal Render Pipeline/Unlit"
SubShader
{
Tags {"RenderType" = "Transparent" "Queue" = "AlphaTest+55"}
HLSLINCLUDE
#define LIL_OPTIMIZE_APPLY_SHADOW_FA
#define LIL_OPTIMIZE_USE_FORWARDADD
#define LIL_SRP_VERSION_MAJOR 17
#define LIL_SRP_VERSION_MINOR 3
#define LIL_SRP_VERSION_PATCH 0
#pragma target 3.5
#pragma fragmentoption ARB_precision_hint_fastest
#define LIL_FAKESHADOW
ENDHLSL
// Forward
Pass
{
Name "FORWARD"
Tags {"LightMode" = "SRPDefaultUnlit"}
Stencil
{
Ref [_StencilRef]
ReadMask [_StencilReadMask]
WriteMask [_StencilWriteMask]
Comp [_StencilComp]
Pass [_StencilPass]
Fail [_StencilFail]
ZFail [_StencilZFail]
}
Cull [_Cull]
ZClip [_ZClip]
ZWrite [_ZWrite]
ZTest [_ZTest]
ColorMask [_ColorMask]
Offset [_OffsetFactor], [_OffsetUnits]
BlendOp [_BlendOp], [_BlendOpAlpha]
Blend [_SrcBlend] [_DstBlend], [_SrcBlendAlpha] [_DstBlendAlpha]
AlphaToMask [_AlphaToMask]
HLSLPROGRAM
//----------------------------------------------------------------------------------------------------------------------
// Build Option
#pragma vertex vert
#pragma fragment frag
#pragma multi_compile _ _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN
#pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS
#pragma multi_compile _ PROBE_VOLUMES_L1 PROBE_VOLUMES_L2
#pragma multi_compile_fragment _ _ADDITIONAL_LIGHT_SHADOWS
#pragma multi_compile_fragment _ _REFLECTION_PROBE_BLENDING
#pragma multi_compile_fragment _ _REFLECTION_PROBE_BOX_PROJECTION
#pragma multi_compile_fragment _ _SHADOWS_SOFT
#pragma multi_compile_fragment _ _SCREEN_SPACE_OCCLUSION
#pragma multi_compile_fragment _ _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3
#pragma multi_compile _ _LIGHT_LAYERS
#pragma multi_compile_fragment _ _LIGHT_COOKIES
#pragma multi_compile _ _CLUSTER_LIGHT_LOOP
#pragma multi_compile _ LIGHTMAP_SHADOW_MIXING
#pragma multi_compile _ SHADOWS_SHADOWMASK
#pragma multi_compile _ DIRLIGHTMAP_COMBINED
#pragma multi_compile _ LIGHTMAP_ON
#pragma multi_compile _ DYNAMICLIGHTMAP_ON
#pragma multi_compile_vertex _ FOG_LINEAR FOG_EXP FOG_EXP2
#pragma multi_compile_instancing
#pragma instancing_options renderinglayer
#define LIL_PASS_FORWARD
//----------------------------------------------------------------------------------------------------------------------
// Pass
#include "Includes/lil_pipeline_urp.hlsl"
#include "Includes/lil_common.hlsl"
// Insert functions and includes that depend on Unity here
#include "Includes/lil_pass_forward_fakeshadow.hlsl"
ENDHLSL
}
}
Fallback "Universal Render Pipeline/Unlit"
CustomEditor "lilToon.lilToonInspector"
}