373 lines
13 KiB
Plaintext

SubShader
{
Tags {*LIL_SUBSHADER_TAGS*}
HLSLINCLUDE
*LIL_SHADER_SETTING*
#pragma require geometry
#pragma fragmentoption ARB_precision_hint_fastest
#define LIL_FUR
#pragma lil_skip_variants_shadows
#pragma lil_skip_variants_decals
#pragma lil_skip_variants_addlightshadows
#pragma lil_skip_variants_probevolumes
#pragma lil_skip_variants_ao
ENDHLSL
*LIL_INSERT_PASS_PRE*
// Forward
Pass
{
Name "FORWARD"
Tags {"LightMode" = "*LIL_LIGHTMODE_FORWARD_0*"}
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 lil_multi_compile_forward
//----------------------------------------------------------------------------------------------------------------------
// Pass
#include "Includes/lil_pipeline_brp.hlsl"
#include "Includes/lil_common.hlsl"
// Insert functions and includes that depend on Unity here
*LIL_SUBSHADER_INSERT*
#include "Includes/lil_pass_forward.hlsl"
*LIL_SUBSHADER_INSERT_POST*
ENDHLSL
}
// Forward Fur Pre
Pass
{
Name "FORWARD_FUR_PRE"
Tags {"LightMode" = "*LIL_LIGHTMODE_FORWARD_1*"}
Stencil
{
Ref [_FurStencilRef]
ReadMask [_FurStencilReadMask]
WriteMask [_FurStencilWriteMask]
Comp [_FurStencilComp]
Pass [_FurStencilPass]
Fail [_FurStencilFail]
ZFail [_FurStencilZFail]
}
Cull [_FurCull]
ZClip [_FurZClip]
ZWrite On
ZTest [_FurZTest]
ColorMask [_FurColorMask]
Offset [_FurOffsetFactor], [_FurOffsetUnits]
BlendOp Add, Add
Blend One Zero, One OneMinusSrcAlpha
AlphaToMask On
HLSLPROGRAM
//----------------------------------------------------------------------------------------------------------------------
// Build Option
#pragma vertex vert
#pragma geometry geom
#pragma fragment frag
#pragma lil_multi_compile_forward
//----------------------------------------------------------------------------------------------------------------------
// Pass
#define LIL_FUR_PRE
#include "Includes/lil_pipeline_brp.hlsl"
#include "Includes/lil_common.hlsl"
// Insert functions and includes that depend on Unity here
*LIL_SUBSHADER_INSERT*
#include "Includes/lil_pass_forward_fur.hlsl"
*LIL_SUBSHADER_INSERT_POST*
ENDHLSL
}
// Forward Fur
Pass
{
Name "FORWARD_FUR"
Tags {"LightMode" = "*LIL_LIGHTMODE_FORWARD_2*"}
Stencil
{
Ref [_FurStencilRef]
ReadMask [_FurStencilReadMask]
WriteMask [_FurStencilWriteMask]
Comp [_FurStencilComp]
Pass [_FurStencilPass]
Fail [_FurStencilFail]
ZFail [_FurStencilZFail]
}
Cull [_FurCull]
ZClip [_FurZClip]
ZWrite [_FurZWrite]
ZTest [_FurZTest]
ColorMask [_FurColorMask]
Offset [_FurOffsetFactor], [_FurOffsetUnits]
BlendOp [_FurBlendOp], [_FurBlendOpAlpha]
Blend [_FurSrcBlend] [_FurDstBlend], [_FurSrcBlendAlpha] [_FurDstBlendAlpha]
AlphaToMask [_FurAlphaToMask]
HLSLPROGRAM
//----------------------------------------------------------------------------------------------------------------------
// Build Option
#pragma vertex vert
#pragma geometry geom
#pragma fragment frag
#pragma lil_multi_compile_forward
//----------------------------------------------------------------------------------------------------------------------
// Pass
#include "Includes/lil_pipeline_brp.hlsl"
#include "Includes/lil_common.hlsl"
// Insert functions and includes that depend on Unity here
*LIL_SUBSHADER_INSERT*
#include "Includes/lil_pass_forward_fur.hlsl"
*LIL_SUBSHADER_INSERT_POST*
ENDHLSL
}
//----------------------------------------------------------------------------------------------------------------------
// ForwardAdd Start
//
// ForwardAdd
Pass
{
Name "FORWARD_ADD"
Tags {"LightMode" = "ForwardAdd"}
Stencil
{
Ref [_StencilRef]
ReadMask [_StencilReadMask]
WriteMask [_StencilWriteMask]
Comp [_StencilComp]
Pass [_StencilPass]
Fail [_StencilFail]
ZFail [_StencilZFail]
}
Cull [_Cull]
ZClip [_ZClip]
ZWrite Off
ZTest LEqual
ColorMask [_ColorMask]
Offset [_OffsetFactor], [_OffsetUnits]
Blend [_SrcBlendFA] [_DstBlendFA], Zero One
BlendOp [_BlendOpFA], [_BlendOpAlphaFA]
AlphaToMask [_AlphaToMask]
HLSLPROGRAM
//----------------------------------------------------------------------------------------------------------------------
// Build Option
#pragma vertex vert
#pragma fragment frag
#pragma lil_multi_compile_forwardadd
//----------------------------------------------------------------------------------------------------------------------
// Pass
#include "Includes/lil_pipeline_brp.hlsl"
#include "Includes/lil_common.hlsl"
// Insert functions and includes that depend on Unity here
*LIL_SUBSHADER_INSERT*
#include "Includes/lil_pass_forward.hlsl"
*LIL_SUBSHADER_INSERT_POST*
ENDHLSL
}
// ForwardAdd Fur Pre
Pass
{
Name "FORWARD_ADD_FUR_PRE"
Tags {"LightMode" = "ForwardAdd"}
Stencil
{
Ref [_FurStencilRef]
ReadMask [_FurStencilReadMask]
WriteMask [_FurStencilWriteMask]
Comp [_FurStencilComp]
Pass [_FurStencilPass]
Fail [_FurStencilFail]
ZFail [_FurStencilZFail]
}
Cull [_FurCull]
ZClip [_FurZClip]
ZWrite Off
ZTest LEqual
ColorMask [_FurColorMask]
Offset [_FurOffsetFactor], [_FurOffsetUnits]
Blend [_FurSrcBlendFA] [_FurDstBlendFA], Zero One
BlendOp [_FurBlendOpFA], [_FurBlendOpAlphaFA]
AlphaToMask On
HLSLPROGRAM
//----------------------------------------------------------------------------------------------------------------------
// Build Option
#pragma vertex vert
#pragma geometry geom
#pragma fragment frag
#pragma lil_multi_compile_forwardadd
//----------------------------------------------------------------------------------------------------------------------
// Pass
#define LIL_FUR_PRE
#include "Includes/lil_pipeline_brp.hlsl"
#include "Includes/lil_common.hlsl"
// Insert functions and includes that depend on Unity here
*LIL_SUBSHADER_INSERT*
#include "Includes/lil_pass_forward_fur.hlsl"
*LIL_SUBSHADER_INSERT_POST*
ENDHLSL
}
// ForwardAdd Fur
Pass
{
Name "FORWARD_ADD_FUR"
Tags {"LightMode" = "ForwardAdd"}
Stencil
{
Ref [_FurStencilRef]
ReadMask [_FurStencilReadMask]
WriteMask [_FurStencilWriteMask]
Comp [_FurStencilComp]
Pass [_FurStencilPass]
Fail [_FurStencilFail]
ZFail [_FurStencilZFail]
}
Cull [_FurCull]
ZClip [_FurZClip]
ZWrite Off
ZTest LEqual
ColorMask [_FurColorMask]
Offset [_FurOffsetFactor], [_FurOffsetUnits]
Blend [_FurSrcBlendFA] [_FurDstBlendFA], Zero One
BlendOp [_FurBlendOpFA], [_FurBlendOpAlphaFA]
AlphaToMask [_FurAlphaToMask]
HLSLPROGRAM
//----------------------------------------------------------------------------------------------------------------------
// Build Option
#pragma vertex vert
#pragma geometry geom
#pragma fragment frag
#pragma lil_multi_compile_forwardadd
//----------------------------------------------------------------------------------------------------------------------
// Pass
#include "Includes/lil_pipeline_brp.hlsl"
#include "Includes/lil_common.hlsl"
// Insert functions and includes that depend on Unity here
*LIL_SUBSHADER_INSERT*
#include "Includes/lil_pass_forward_fur.hlsl"
*LIL_SUBSHADER_INSERT_POST*
ENDHLSL
}
//
// ForwardAdd End
// ShadowCaster
Pass
{
Name "SHADOW_CASTER"
Tags {"LightMode" = "ShadowCaster"}
Offset 1, 1
Cull [_Cull]
HLSLPROGRAM
//----------------------------------------------------------------------------------------------------------------------
// Build Option
#pragma vertex vert
#pragma fragment frag
#pragma lil_multi_compile_shadowcaster
//----------------------------------------------------------------------------------------------------------------------
// Pass
#include "Includes/lil_pipeline_brp.hlsl"
#include "Includes/lil_common.hlsl"
// Insert functions and includes that depend on Unity here
*LIL_SUBSHADER_INSERT*
#include "Includes/lil_pass_shadowcaster.hlsl"
*LIL_SUBSHADER_INSERT_POST*
ENDHLSL
}
// Meta
Pass
{
Name "META"
Tags {"LightMode" = "Meta"}
Cull Off
HLSLPROGRAM
//----------------------------------------------------------------------------------------------------------------------
// Build Option
#pragma vertex vert
#pragma fragment frag
#pragma lil_multi_compile_meta
//----------------------------------------------------------------------------------------------------------------------
// Pass
#include "Includes/lil_pipeline_brp.hlsl"
#include "Includes/lil_common.hlsl"
// Insert functions and includes that depend on Unity here
*LIL_SUBSHADER_INSERT*
#include "Includes/lil_pass_meta.hlsl"
*LIL_SUBSHADER_INSERT_POST*
ENDHLSL
}
*LIL_INSERT_PASS_POST*
}
Fallback "Unlit/Texture"