HoloprojStreaming/Assets/lilToon/CustomShaderResources/HDRP/DefaultTessellationTwoSide.lilblock

409 lines
14 KiB
Plaintext

SubShader
{
Tags {"RenderType" = "HDLitShader"}
HLSLINCLUDE
*LIL_SHADER_SETTING*
#define LIL_TESSELLATION
#pragma target 5.0
#pragma exclude_renderers gles gles3 glcore
#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
{
WriteMask 6
Ref 0
Comp Always
Pass Replace
}
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 vertTess
#pragma fragment frag
#pragma hull hull
#pragma domain domain
#pragma require tesshw tessellation
#pragma lil_multi_compile_forward
#pragma lil_skip_variants_base_shadows
//----------------------------------------------------------------------------------------------------------------------
// Pass
#define LIL_TRANSPARENT_PRE
#include "Includes/lil_pipeline_hdrp.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
{
WriteMask 6
Ref 0
Comp Always
Pass Replace
}
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 vertTess
#pragma fragment frag
#pragma hull hull
#pragma domain domain
#pragma require tesshw tessellation
#pragma lil_multi_compile_forward
#pragma lil_skip_variants_base_shadows
//----------------------------------------------------------------------------------------------------------------------
// Pass
#include "Includes/lil_pipeline_hdrp.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
{
WriteMask 6
Ref 0
Comp Always
Pass Replace
}
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 vertTess
#pragma fragment frag
#pragma hull hull
#pragma domain domain
#pragma require tesshw tessellation
#pragma lil_multi_compile_forward
#pragma lil_skip_variants_outline_shadows
//----------------------------------------------------------------------------------------------------------------------
// Pass
#define LIL_OUTLINE
#include "Includes/lil_pipeline_hdrp.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
}
// ShadowCaster
Pass
{
Name "SHADOW_CASTER"
Tags {"LightMode" = "ShadowCaster"}
Cull[_Cull]
ZClip [_ZClip]
ZWrite On
ZTest LEqual
HLSLPROGRAM
//----------------------------------------------------------------------------------------------------------------------
// Build Option
#pragma vertex vert
#pragma fragment frag
#pragma lil_multi_compile_shadowcaster
//----------------------------------------------------------------------------------------------------------------------
// Pass
#include "Includes/lil_pipeline_hdrp.hlsl"
#include "Includes/lil_common.hlsl"
// Insert functions and includes that depend on Unity here
*LIL_SUBSHADER_INSERT*
#include "Includes/lil_pass_depthonly.hlsl"
*LIL_SUBSHADER_INSERT_POST*
ENDHLSL
}
// DepthOnly
Pass
{
Name "DEPTHONLY"
Tags {"LightMode" = "DepthForwardOnly"}
Stencil
{
WriteMask 8
Ref 0
Comp Always
Pass Replace
}
Cull [_Cull]
ZClip [_ZClip]
ZWrite [_ZWrite]
ZTest [_ZTest]
Offset [_OffsetFactor], [_OffsetUnits]
AlphaToMask [_AlphaToMask]
HLSLPROGRAM
//----------------------------------------------------------------------------------------------------------------------
// Build Option
#pragma vertex vertTess
#pragma fragment frag
#pragma hull hull
#pragma domain domain
#pragma require tesshw tessellation
#pragma lil_multi_compile_depthonly
//----------------------------------------------------------------------------------------------------------------------
// Pass
#include "Includes/lil_pipeline_hdrp.hlsl"
#include "Includes/lil_common.hlsl"
// Insert functions and includes that depend on Unity here
*LIL_SUBSHADER_INSERT*
#include "Includes/lil_pass_depthonly.hlsl"
*LIL_SUBSHADER_INSERT_POST*
ENDHLSL
}
// DepthOnly Outline
Pass
{
Name "DEPTHONLY_OUTLINE"
Tags {"LightMode" = "DepthForwardOnly"}
Stencil
{
WriteMask 8
Ref 0
Comp Always
Pass Replace
}
Cull Back
ZClip [_ZClip]
ZWrite [_ZWrite]
ZTest [_ZTest]
Offset [_OffsetFactor], [_OffsetUnits]
AlphaToMask [_AlphaToMask]
HLSLPROGRAM
//----------------------------------------------------------------------------------------------------------------------
// Build Option
#pragma vertex vertTess
#pragma geometry geom
#pragma fragment frag
#pragma hull hull
#pragma domain domain
#pragma require tesshw tessellation
#pragma require geometry
#pragma lil_multi_compile_depthonly
//----------------------------------------------------------------------------------------------------------------------
// Pass
#define LIL_ONEPASS_OUTLINE
#include "Includes/lil_pipeline_hdrp.hlsl"
#include "Includes/lil_common.hlsl"
// Insert functions and includes that depend on Unity here
*LIL_SUBSHADER_INSERT*
#include "Includes/lil_pass_depthonly.hlsl"
*LIL_SUBSHADER_INSERT_POST*
ENDHLSL
}
// MotionVectors
Pass
{
Name "MOTIONVECTORS"
Tags {"LightMode" = "MotionVectors"}
Stencil
{
WriteMask 40
Ref 32
Comp Always
Pass Replace
}
Cull [_Cull]
ZClip [_ZClip]
ZWrite [_ZWrite]
ZTest [_ZTest]
Offset [_OffsetFactor], [_OffsetUnits]
AlphaToMask [_AlphaToMask]
HLSLPROGRAM
//----------------------------------------------------------------------------------------------------------------------
// Build Option
#pragma vertex vertTess
#pragma fragment frag
#pragma hull hull
#pragma domain domain
#pragma require tesshw tessellation
#pragma lil_multi_compile_motionvectors
//----------------------------------------------------------------------------------------------------------------------
// Pass
#include "Includes/lil_pipeline_hdrp.hlsl"
#include "Includes/lil_common.hlsl"
// Insert functions and includes that depend on Unity here
*LIL_SUBSHADER_INSERT*
#include "Includes/lil_pass_motionvectors.hlsl"
*LIL_SUBSHADER_INSERT_POST*
ENDHLSL
}
// MotionVectors Outline
Pass
{
Name "MOTIONVECTORS_OUTLINE"
Tags {"LightMode" = "MotionVectors"}
Stencil
{
WriteMask 40
Ref 32
Comp Always
Pass Replace
}
Cull Back
ZClip [_ZClip]
ZWrite [_ZWrite]
ZTest [_ZTest]
Offset [_OffsetFactor], [_OffsetUnits]
AlphaToMask [_AlphaToMask]
HLSLPROGRAM
//----------------------------------------------------------------------------------------------------------------------
// Build Option
#pragma vertex vertTess
#pragma geometry geom
#pragma fragment frag
#pragma hull hull
#pragma domain domain
#pragma require tesshw tessellation
#pragma require geometry
#pragma lil_multi_compile_motionvectors
//----------------------------------------------------------------------------------------------------------------------
// Pass
#define LIL_ONEPASS_OUTLINE
#include "Includes/lil_pipeline_hdrp.hlsl"
#include "Includes/lil_common.hlsl"
// Insert functions and includes that depend on Unity here
*LIL_SUBSHADER_INSERT*
#include "Includes/lil_pass_motionvectors.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_hdrp.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 "HDRP/Unlit"