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

921 lines
41 KiB
GLSL

Shader "Hidden/ltspass_lite_cutout"
{
Properties
{
//----------------------------------------------------------------------------------------------------------------------
// Base
[lilToggle] _Invisible ("sInvisible", Int) = 0
_AsUnlit ("sAsUnlit", Range(0, 1)) = 0
_Cutoff ("sCutoff", Range(-0.001,1.001)) = 0.5
_SubpassCutoff ("sSubpassCutoff", Range(0,1)) = 0.5
[lilToggle] _FlipNormal ("sFlipBackfaceNormal", Int) = 0
[lilToggle] _ShiftBackfaceUV ("sShiftBackfaceUV", Int) = 0
_BackfaceForceShadow ("sBackfaceForceShadow", Range(0,1)) = 0
_VertexLightStrength ("sVertexLightStrength", Range(0,1)) = 0
_LightMinLimit ("sLightMinLimit", Range(0,1)) = 0.05
_LightMaxLimit ("sLightMaxLimit", Range(0,10)) = 1
_BeforeExposureLimit ("sBeforeExposureLimit", Float) = 10000
_MonochromeLighting ("sMonochromeLighting", Range(0,1)) = 0
_AlphaBoostFA ("sAlphaBoostFA", Range(1,100)) = 10
_lilDirectionalLightStrength ("sDirectionalLightStrength", Range(0,1)) = 1
[lilVec3B] _LightDirectionOverride ("sLightDirectionOverrides", Vector) = (0.001,0.002,0.001,0)
_AAStrength ("sAAShading", Range(0, 1)) = 1
[NoScaleOffset] _TriMask ("TriMask", 2D) = "white" {}
//----------------------------------------------------------------------------------------------------------------------
// Main
[lilHDR] [MainColor] _Color ("sColor", Color) = (1,1,1,1)
[MainTexture] _MainTex ("Texture", 2D) = "white" {}
[lilUVAnim] _MainTex_ScrollRotate ("sScrollRotates", Vector) = (0,0,0,0)
//----------------------------------------------------------------------------------------------------------------------
// Shadow
[lilToggleLeft] _UseShadow ("sShadow", Int) = 0
_ShadowBorder ("sBorder", Range(0, 1)) = 0.5
_ShadowBlur ("sBlur", Range(0, 1)) = 0.1
[NoScaleOffset] _ShadowColorTex ("Shadow Color", 2D) = "black" {}
_Shadow2ndBorder ("sBorder", Range(0, 1)) = 0.5
_Shadow2ndBlur ("sBlur", Range(0, 1)) = 0.3
[NoScaleOffset] _Shadow2ndColorTex ("Shadow 2nd Color", 2D) = "black" {}
_ShadowEnvStrength ("sShadowEnvStrength", Range(0, 1)) = 0
_ShadowBorderColor ("sShadowBorderColor", Color) = (1,0,0,1)
_ShadowBorderRange ("sShadowBorderRange", Range(0, 1)) = 0
//----------------------------------------------------------------------------------------------------------------------
// MatCap
[lilToggleLeft] _UseMatCap ("sMatCap", Int) = 0
_MatCapTex ("Texture", 2D) = "white" {}
[lilVec2R] _MatCapBlendUV1 ("sBlendUV1", Vector) = (0,0,0,0)
[lilToggle] _MatCapZRotCancel ("sMatCapZRotCancel", Int) = 1
[lilToggle] _MatCapPerspective ("sFixPerspective", Int) = 1
_MatCapVRParallaxStrength ("sVRParallaxStrength", Range(0, 1)) = 1
[lilToggle] _MatCapMul ("Multiply", Int) = 0
//----------------------------------------------------------------------------------------------------------------------
// Rim
[lilToggleLeft] _UseRim ("sRimLight", Int) = 0
[lilHDR] _RimColor ("sColor", Color) = (1,1,1,1)
_RimBorder ("sBorder", Range(0, 1)) = 0.5
_RimBlur ("sBlur", Range(0, 1)) = 0.1
[PowerSlider(3.0)]_RimFresnelPower ("sFresnelPower", Range(0.01, 50)) = 3.0
_RimShadowMask ("sShadowMask", Range(0, 1)) = 0
//----------------------------------------------------------------------------------------------------------------------
// Emmision
[lilToggleLeft] _UseEmission ("Use Emission", Int) = 0
[HDR][lilHDR] _EmissionColor ("sColor", Color) = (1,1,1,1)
_EmissionMap ("Texture", 2D) = "white" {}
[lilUVAnim] _EmissionMap_ScrollRotate ("sScrollRotates", Vector) = (0,0,0,0)
[lilEnum] _EmissionMap_UVMode ("UV Mode|UV0|UV1|UV2|UV3|Rim", Int) = 0
[lilBlink] _EmissionBlink ("sBlinkSettings", Vector) = (0,0,3.141593,0)
//----------------------------------------------------------------------------------------------------------------------
// Outline
[lilHDR] _OutlineColor ("sColor", Color) = (0.8,0.85,0.9,1)
_OutlineTex ("Texture", 2D) = "white" {}
[lilUVAnim] _OutlineTex_ScrollRotate ("sScrollRotates", Vector) = (0,0,0,0)
[lilOLWidth] _OutlineWidth ("Width", Range(0,1)) = 0.05
[NoScaleOffset] _OutlineWidthMask ("Width", 2D) = "white" {}
_OutlineFixWidth ("sFixWidth", Range(0,1)) = 1
[lilEnum] _OutlineVertexR2Width ("sOutlineVertexColorUsages", Int) = 0
[lilToggle] _OutlineDeleteMesh ("sDeleteMesh0", Int) = 0
_OutlineEnableLighting ("sEnableLighting", Range(0, 1)) = 1
_OutlineZBias ("Z 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
//----------------------------------------------------------------------------------------------------------------------
// Advanced
[lilEnum] _Cull ("sCullModes", Int) = 2
[Enum(UnityEngine.Rendering.BlendMode)] _SrcBlend ("sSrcBlendRGB", Int) = 1
[Enum(UnityEngine.Rendering.BlendMode)] _DstBlend ("sDstBlendRGB", Int) = 0
[Enum(UnityEngine.Rendering.BlendMode)] _SrcBlendAlpha ("sSrcBlendAlpha", Int) = 1
[Enum(UnityEngine.Rendering.BlendMode)] _DstBlendAlpha ("sDstBlendAlpha", Int) = 10
[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)) = 0
[IntRange] _StencilReadMask ("ReadMask", Range(0, 255)) = 255
[IntRange] _StencilWriteMask ("WriteMask", Range(0, 255)) = 255
[Enum(UnityEngine.Rendering.CompareFunction)] _StencilComp ("Comp", Float) = 8
[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) = 1
_lilShadowCasterBias ("Shadow Caster Bias", Float) = 0
//----------------------------------------------------------------------------------------------------------------------
// Outline Advanced
[lilEnum] _OutlineCull ("sCullModes", Int) = 1
[Enum(UnityEngine.Rendering.BlendMode)] _OutlineSrcBlend ("sSrcBlendRGB", Int) = 1
[Enum(UnityEngine.Rendering.BlendMode)] _OutlineDstBlend ("sDstBlendRGB", Int) = 0
[Enum(UnityEngine.Rendering.BlendMode)] _OutlineSrcBlendAlpha ("sSrcBlendAlpha", Int) = 1
[Enum(UnityEngine.Rendering.BlendMode)] _OutlineDstBlendAlpha ("sDstBlendAlpha", Int) = 10
[Enum(UnityEngine.Rendering.BlendOp)] _OutlineBlendOp ("sBlendOpRGB", Int) = 0
[Enum(UnityEngine.Rendering.BlendOp)] _OutlineBlendOpAlpha ("sBlendOpAlpha", Int) = 0
[Enum(UnityEngine.Rendering.BlendMode)] _OutlineSrcBlendFA ("sSrcBlendRGB", Int) = 1
[Enum(UnityEngine.Rendering.BlendMode)] _OutlineDstBlendFA ("sDstBlendRGB", Int) = 1
[Enum(UnityEngine.Rendering.BlendMode)] _OutlineSrcBlendAlphaFA ("sSrcBlendAlpha", Int) = 0
[Enum(UnityEngine.Rendering.BlendMode)] _OutlineDstBlendAlphaFA ("sDstBlendAlpha", Int) = 1
[Enum(UnityEngine.Rendering.BlendOp)] _OutlineBlendOpFA ("sBlendOpRGB", Int) = 4
[Enum(UnityEngine.Rendering.BlendOp)] _OutlineBlendOpAlphaFA ("sBlendOpAlpha", Int) = 4
[lilToggle] _OutlineZClip ("sZClip", Int) = 1
[lilToggle] _OutlineZWrite ("sZWrite", Int) = 1
[Enum(UnityEngine.Rendering.CompareFunction)] _OutlineZTest ("sZTest", Int) = 2
[IntRange] _OutlineStencilRef ("Ref", Range(0, 255)) = 0
[IntRange] _OutlineStencilReadMask ("ReadMask", Range(0, 255)) = 255
[IntRange] _OutlineStencilWriteMask ("WriteMask", Range(0, 255)) = 255
[Enum(UnityEngine.Rendering.CompareFunction)] _OutlineStencilComp ("Comp", Float) = 8
[Enum(UnityEngine.Rendering.StencilOp)] _OutlineStencilPass ("Pass", Float) = 0
[Enum(UnityEngine.Rendering.StencilOp)] _OutlineStencilFail ("Fail", Float) = 0
[Enum(UnityEngine.Rendering.StencilOp)] _OutlineStencilZFail ("ZFail", Float) = 0
_OutlineOffsetFactor ("sOffsetFactor", Float) = 0
_OutlineOffsetUnits ("sOffsetUnits", Float) = 0
[lilColorMask] _OutlineColorMask ("sColorMask", Int) = 15
[lilToggle] _OutlineAlphaToMask ("sAlphaToMask", Int) = 1
}
HLSLINCLUDE
#define LIL_RENDER 1
ENDHLSL
SubShader
{
Tags { "ShaderModel" = "4.5"}
HLSLINCLUDE
#define LIL_SRP_VERSION_MAJOR 17
#define LIL_SRP_VERSION_MINOR 0
#define LIL_SRP_VERSION_PATCH 3
#pragma target 4.5
#pragma exclude_renderers d3d11_9x
#pragma fragmentoption ARB_precision_hint_fastest
#define LIL_LITE
#pragma skip_variants SHADOWS_SCREEN _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN _ADDITIONAL_LIGHT_SHADOWS SCREEN_SPACE_SHADOWS_ON SHADOW_LOW SHADOW_MEDIUM SHADOW_HIGH SHADOW_VERY_HIGH
#pragma skip_variants DECALS_OFF DECALS_3RT DECALS_4RT DECAL_SURFACE_GRADIENT _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3
#pragma skip_variants _ADDITIONAL_LIGHT_SHADOWS
#pragma skip_variants PROBE_VOLUMES_OFF PROBE_VOLUMES_L1 PROBE_VOLUMES_L2
#pragma skip_variants _SCREEN_SPACE_OCCLUSION
#pragma skip_variants _REFLECTION_PROBE_BLENDING _REFLECTION_PROBE_BOX_PROJECTION
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_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 _ _FORWARD_PLUS
#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.hlsl"
ENDHLSL
}
// Forward Outline
Pass
{
Name "FORWARD_OUTLINE"
Tags {"LightMode" = "SRPDefaultUnlit"}
Stencil
{
Ref [_OutlineStencilRef]
ReadMask [_OutlineStencilReadMask]
WriteMask [_OutlineStencilWriteMask]
Comp [_OutlineStencilComp]
Pass [_OutlineStencilPass]
Fail [_OutlineStencilFail]
ZFail [_OutlineStencilZFail]
}
Cull [_OutlineCull]
ZClip [_OutlineZClip]
ZWrite [_OutlineZWrite]
ZTest [_OutlineZTest]
ColorMask [_OutlineColorMask]
Offset [_OutlineOffsetFactor], [_OutlineOffsetUnits]
BlendOp [_OutlineBlendOp], [_OutlineBlendOpAlpha]
Blend [_OutlineSrcBlend] [_OutlineDstBlend], [_OutlineSrcBlendAlpha] [_OutlineDstBlendAlpha]
AlphaToMask [_OutlineAlphaToMask]
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_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 _ _FORWARD_PLUS
#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
#define LIL_OUTLINE
#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.hlsl"
ENDHLSL
}
// ShadowCaster
Pass
{
Name "SHADOW_CASTER"
Tags {"LightMode" = "ShadowCaster"}
Cull [_Cull]
HLSLPROGRAM
//----------------------------------------------------------------------------------------------------------------------
// Build Option
#pragma vertex vert
#pragma fragment frag
#pragma multi_compile_vertex _ _CASTING_PUNCTUAL_LIGHT_SHADOW
#pragma multi_compile _ DOTS_INSTANCING_ON
#pragma multi_compile_instancing
#pragma instancing_options renderinglayer
#define LIL_PASS_SHADOWCASTER
//----------------------------------------------------------------------------------------------------------------------
// 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_shadowcaster.hlsl"
ENDHLSL
}
// DepthOnly
Pass
{
Name "DEPTHONLY"
Tags {"LightMode" = "DepthOnly"}
Stencil
{
Ref [_StencilRef]
ReadMask [_StencilReadMask]
WriteMask [_StencilWriteMask]
Comp [_StencilComp]
Pass [_StencilPass]
Fail [_StencilFail]
ZFail [_StencilZFail]
}
Cull [_Cull]
ZClip [_ZClip]
ZWrite [_ZWrite]
ZTest [_ZTest]
HLSLPROGRAM
//----------------------------------------------------------------------------------------------------------------------
// Build Option
#pragma vertex vert
#pragma fragment frag
#pragma multi_compile _ DOTS_INSTANCING_ON
#pragma multi_compile_instancing
#pragma instancing_options renderinglayer
#define LIL_PASS_DEPTHONLY
//----------------------------------------------------------------------------------------------------------------------
// 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_depthonly.hlsl"
ENDHLSL
}
// DepthNormals
Pass
{
Name "DEPTHNORMALS"
Tags {"LightMode" = "DepthNormals"}
Stencil
{
Ref [_StencilRef]
ReadMask [_StencilReadMask]
WriteMask [_StencilWriteMask]
Comp [_StencilComp]
Pass [_StencilPass]
Fail [_StencilFail]
ZFail [_StencilZFail]
}
Cull [_Cull]
ZClip [_ZClip]
ZWrite [_ZWrite]
ZTest [_ZTest]
HLSLPROGRAM
//----------------------------------------------------------------------------------------------------------------------
// Build Option
#pragma vertex vert
#pragma fragment frag
#pragma multi_compile _ DOTS_INSTANCING_ON
#pragma multi_compile_instancing
#pragma instancing_options renderinglayer
#define LIL_PASS_DEPTHNORMALS
//----------------------------------------------------------------------------------------------------------------------
// 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_depthnormals.hlsl"
ENDHLSL
}
// MotionVectors
Pass
{
Name "MOTIONVECTORS"
Tags {"LightMode" = "MotionVectors"}
Stencil
{
Ref [_StencilRef]
ReadMask [_StencilReadMask]
WriteMask [_StencilWriteMask]
Comp [_StencilComp]
Pass [_StencilPass]
Fail [_StencilFail]
ZFail [_StencilZFail]
}
Cull [_Cull]
ZClip [_ZClip]
ZWrite [_ZWrite]
ZTest [_ZTest]
HLSLPROGRAM
//----------------------------------------------------------------------------------------------------------------------
// Build Option
#pragma vertex vert
#pragma fragment frag
#pragma multi_compile _ DOTS_INSTANCING_ON
#pragma multi_compile_instancing
#pragma instancing_options renderinglayer
#define LIL_PASS_MOTIONVECTORS
//----------------------------------------------------------------------------------------------------------------------
// 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_motionvectors.hlsl"
ENDHLSL
}
// Universal2D
Pass
{
Name "UNIVERSAL2D"
Tags {"LightMode" = "Universal2D"}
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]
HLSLPROGRAM
//----------------------------------------------------------------------------------------------------------------------
// Build Option
#pragma vertex vert
#pragma fragment frag
//----------------------------------------------------------------------------------------------------------------------
// 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_universal2d.hlsl"
ENDHLSL
}
// Meta
Pass
{
Name "META"
Tags {"LightMode" = "Meta"}
Cull Off
HLSLPROGRAM
//----------------------------------------------------------------------------------------------------------------------
// Build Option
#pragma vertex vert
#pragma fragment frag
#pragma shader_feature EDITOR_VISUALIZATION
#define LIL_PASS_META
//----------------------------------------------------------------------------------------------------------------------
// 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_meta.hlsl"
ENDHLSL
}
}
Fallback "Universal Render Pipeline/Unlit"
SubShader
{
Tags {}
HLSLINCLUDE
#define LIL_SRP_VERSION_MAJOR 17
#define LIL_SRP_VERSION_MINOR 0
#define LIL_SRP_VERSION_PATCH 3
#pragma exclude_renderers d3d11_9x
#pragma fragmentoption ARB_precision_hint_fastest
#define LIL_LITE
#pragma skip_variants SHADOWS_SCREEN _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN _ADDITIONAL_LIGHT_SHADOWS SCREEN_SPACE_SHADOWS_ON SHADOW_LOW SHADOW_MEDIUM SHADOW_HIGH SHADOW_VERY_HIGH
#pragma skip_variants DECALS_OFF DECALS_3RT DECALS_4RT DECAL_SURFACE_GRADIENT _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3
#pragma skip_variants _ADDITIONAL_LIGHT_SHADOWS
#pragma skip_variants PROBE_VOLUMES_OFF PROBE_VOLUMES_L1 PROBE_VOLUMES_L2
#pragma skip_variants _SCREEN_SPACE_OCCLUSION
#pragma skip_variants _REFLECTION_PROBE_BLENDING _REFLECTION_PROBE_BOX_PROJECTION
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_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 _ _FORWARD_PLUS
#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.hlsl"
ENDHLSL
}
// Forward Outline
Pass
{
Name "FORWARD_OUTLINE"
Tags {"LightMode" = "SRPDefaultUnlit"}
Stencil
{
Ref [_OutlineStencilRef]
ReadMask [_OutlineStencilReadMask]
WriteMask [_OutlineStencilWriteMask]
Comp [_OutlineStencilComp]
Pass [_OutlineStencilPass]
Fail [_OutlineStencilFail]
ZFail [_OutlineStencilZFail]
}
Cull [_OutlineCull]
ZClip [_OutlineZClip]
ZWrite [_OutlineZWrite]
ZTest [_OutlineZTest]
ColorMask [_OutlineColorMask]
Offset [_OutlineOffsetFactor], [_OutlineOffsetUnits]
BlendOp [_OutlineBlendOp], [_OutlineBlendOpAlpha]
Blend [_OutlineSrcBlend] [_OutlineDstBlend], [_OutlineSrcBlendAlpha] [_OutlineDstBlendAlpha]
AlphaToMask [_OutlineAlphaToMask]
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_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 _ _FORWARD_PLUS
#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
#define LIL_OUTLINE
#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.hlsl"
ENDHLSL
}
// ShadowCaster
Pass
{
Name "SHADOW_CASTER"
Tags {"LightMode" = "ShadowCaster"}
Cull [_Cull]
HLSLPROGRAM
//----------------------------------------------------------------------------------------------------------------------
// Build Option
#pragma vertex vert
#pragma fragment frag
#pragma multi_compile_vertex _ _CASTING_PUNCTUAL_LIGHT_SHADOW
#pragma multi_compile_instancing
#pragma instancing_options renderinglayer
#define LIL_PASS_SHADOWCASTER
//----------------------------------------------------------------------------------------------------------------------
// 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_shadowcaster.hlsl"
ENDHLSL
}
// DepthOnly
Pass
{
Name "DEPTHONLY"
Tags {"LightMode" = "DepthOnly"}
Stencil
{
Ref [_StencilRef]
ReadMask [_StencilReadMask]
WriteMask [_StencilWriteMask]
Comp [_StencilComp]
Pass [_StencilPass]
Fail [_StencilFail]
ZFail [_StencilZFail]
}
Cull [_Cull]
ZClip [_ZClip]
ZWrite [_ZWrite]
ZTest [_ZTest]
HLSLPROGRAM
//----------------------------------------------------------------------------------------------------------------------
// Build Option
#pragma vertex vert
#pragma fragment frag
#pragma multi_compile_instancing
#pragma instancing_options renderinglayer
#define LIL_PASS_DEPTHONLY
//----------------------------------------------------------------------------------------------------------------------
// 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_depthonly.hlsl"
ENDHLSL
}
// DepthNormals
Pass
{
Name "DEPTHNORMALS"
Tags {"LightMode" = "DepthNormals"}
Stencil
{
Ref [_StencilRef]
ReadMask [_StencilReadMask]
WriteMask [_StencilWriteMask]
Comp [_StencilComp]
Pass [_StencilPass]
Fail [_StencilFail]
ZFail [_StencilZFail]
}
Cull [_Cull]
ZClip [_ZClip]
ZWrite [_ZWrite]
ZTest [_ZTest]
HLSLPROGRAM
//----------------------------------------------------------------------------------------------------------------------
// Build Option
#pragma vertex vert
#pragma fragment frag
#pragma multi_compile_instancing
#pragma instancing_options renderinglayer
#define LIL_PASS_DEPTHNORMALS
//----------------------------------------------------------------------------------------------------------------------
// 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_depthnormals.hlsl"
ENDHLSL
}
// MotionVectors
Pass
{
Name "MOTIONVECTORS"
Tags {"LightMode" = "MotionVectors"}
Stencil
{
Ref [_StencilRef]
ReadMask [_StencilReadMask]
WriteMask [_StencilWriteMask]
Comp [_StencilComp]
Pass [_StencilPass]
Fail [_StencilFail]
ZFail [_StencilZFail]
}
Cull [_Cull]
ZClip [_ZClip]
ZWrite [_ZWrite]
ZTest [_ZTest]
HLSLPROGRAM
//----------------------------------------------------------------------------------------------------------------------
// Build Option
#pragma vertex vert
#pragma fragment frag
#pragma multi_compile_instancing
#pragma instancing_options renderinglayer
#define LIL_PASS_MOTIONVECTORS
//----------------------------------------------------------------------------------------------------------------------
// 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_motionvectors.hlsl"
ENDHLSL
}
// Universal2D
Pass
{
Name "UNIVERSAL2D"
Tags {"LightMode" = "Universal2D"}
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]
HLSLPROGRAM
//----------------------------------------------------------------------------------------------------------------------
// Build Option
#pragma vertex vert
#pragma fragment frag
//----------------------------------------------------------------------------------------------------------------------
// 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_universal2d.hlsl"
ENDHLSL
}
// Meta
Pass
{
Name "META"
Tags {"LightMode" = "Meta"}
Cull Off
HLSLPROGRAM
//----------------------------------------------------------------------------------------------------------------------
// Build Option
#pragma vertex vert
#pragma fragment frag
#pragma shader_feature EDITOR_VISUALIZATION
#define LIL_PASS_META
//----------------------------------------------------------------------------------------------------------------------
// 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_meta.hlsl"
ENDHLSL
}
}
Fallback "Universal Render Pipeline/Unlit"
}