353 lines
12 KiB
Plaintext
353 lines
12 KiB
Plaintext
SubShader
|
|
{
|
|
HLSLINCLUDE
|
|
*LIL_SHADER_SETTING*
|
|
#pragma target 3.5
|
|
#pragma fragmentoption ARB_precision_hint_fastest
|
|
|
|
#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 Back
|
|
Pass
|
|
{
|
|
Name "FORWARD_BACK"
|
|
Tags {"LightMode" = "*LIL_LIGHTMODE_FORWARD_0*"}
|
|
|
|
Stencil
|
|
{
|
|
Ref [_PreStencilRef]
|
|
ReadMask [_PreStencilReadMask]
|
|
WriteMask [_PreStencilWriteMask]
|
|
Comp [_PreStencilComp]
|
|
Pass [_PreStencilPass]
|
|
Fail [_PreStencilFail]
|
|
ZFail [_PreStencilZFail]
|
|
}
|
|
Cull [_PreCull]
|
|
ZClip [_PreZClip]
|
|
ZWrite [_PreZWrite]
|
|
ZTest [_PreZTest]
|
|
ColorMask [_PreColorMask]
|
|
Offset [_PreOffsetFactor], [_PreOffsetUnits]
|
|
BlendOp [_PreBlendOp], [_PreBlendOpAlpha]
|
|
Blend [_PreSrcBlend] [_PreDstBlend], [_PreSrcBlendAlpha] [_PreDstBlendAlpha]
|
|
AlphaToMask [_PreAlphaToMask]
|
|
|
|
HLSLPROGRAM
|
|
|
|
//----------------------------------------------------------------------------------------------------------------------
|
|
// Build Option
|
|
#pragma vertex vert
|
|
#pragma fragment frag
|
|
#pragma lil_multi_compile_forward
|
|
#pragma lil_skip_variants_base_shadows
|
|
|
|
//----------------------------------------------------------------------------------------------------------------------
|
|
// Pass
|
|
#define LIL_TRANSPARENT_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.hlsl"
|
|
|
|
*LIL_SUBSHADER_INSERT_POST*
|
|
ENDHLSL
|
|
}
|
|
|
|
// Forward
|
|
Pass
|
|
{
|
|
Name "FORWARD"
|
|
Tags {"LightMode" = "*LIL_LIGHTMODE_FORWARD_1*"}
|
|
|
|
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
|
|
#pragma lil_skip_variants_base_shadows
|
|
|
|
//----------------------------------------------------------------------------------------------------------------------
|
|
// 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 Outline
|
|
Pass
|
|
{
|
|
Name "FORWARD_OUTLINE"
|
|
Tags {"LightMode" = "*LIL_LIGHTMODE_FORWARD_2*"}
|
|
|
|
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 lil_multi_compile_forward
|
|
#pragma lil_skip_variants_outline_shadows
|
|
|
|
//----------------------------------------------------------------------------------------------------------------------
|
|
// Pass
|
|
#define LIL_OUTLINE
|
|
#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 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 Outline
|
|
Pass
|
|
{
|
|
Name "FORWARD_ADD_OUTLINE"
|
|
Tags {"LightMode" = "ForwardAdd"}
|
|
|
|
Stencil
|
|
{
|
|
Ref [_OutlineStencilRef]
|
|
ReadMask [_OutlineStencilReadMask]
|
|
WriteMask [_OutlineStencilWriteMask]
|
|
Comp [_OutlineStencilComp]
|
|
Pass [_OutlineStencilPass]
|
|
Fail [_OutlineStencilFail]
|
|
ZFail [_OutlineStencilZFail]
|
|
}
|
|
Cull [_OutlineCull]
|
|
ZClip [_OutlineZClip]
|
|
ZWrite Off
|
|
ZTest LEqual
|
|
ColorMask [_OutlineColorMask]
|
|
Offset [_OutlineOffsetFactor], [_OutlineOffsetUnits]
|
|
Blend [_OutlineSrcBlendFA] [_OutlineDstBlendFA], Zero One
|
|
BlendOp [_OutlineBlendOpFA], [_OutlineBlendOpAlphaFA]
|
|
AlphaToMask [_OutlineAlphaToMask]
|
|
|
|
HLSLPROGRAM
|
|
|
|
//----------------------------------------------------------------------------------------------------------------------
|
|
// Build Option
|
|
#pragma vertex vert
|
|
#pragma fragment frag
|
|
#pragma lil_multi_compile_forwardadd
|
|
|
|
//----------------------------------------------------------------------------------------------------------------------
|
|
// Pass
|
|
#define LIL_OUTLINE
|
|
#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 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
|
|
}
|
|
|
|
// ShadowCaster Outline
|
|
Pass
|
|
{
|
|
Name "SHADOW_CASTER_OUTLINE"
|
|
Tags {"LightMode" = "ShadowCaster"}
|
|
Offset 1, 1
|
|
Cull [_Cull]
|
|
|
|
HLSLPROGRAM
|
|
|
|
//----------------------------------------------------------------------------------------------------------------------
|
|
// Build Option
|
|
#pragma vertex vert
|
|
#pragma fragment frag
|
|
#pragma lil_multi_compile_shadowcaster
|
|
|
|
//----------------------------------------------------------------------------------------------------------------------
|
|
// Pass
|
|
#define LIL_OUTLINE
|
|
#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" |