diff options
| -rw-r--r-- | 2ner.cginc | 13 | ||||
| -rw-r--r-- | 2ner.shader | 320 | ||||
| -rw-r--r-- | globals.cginc | 15 |
3 files changed, 345 insertions, 3 deletions
@@ -21,6 +21,12 @@ v2f vert(appdata v) { // hide outlines when not locked.
return (v2f) (0.0/0.0);
#endif
+#if defined(MASKED_STENCIL_PASS)
+ float masked_stencil_mask = _Masked_Stencil_Mask.SampleLevel(linear_repeat_s, v.uv01, 0);
+ if (masked_stencil_mask < 0.5) {
+ return (v2f) (0.0/0.0);
+ }
+#endif
v2f o;
@@ -108,6 +114,9 @@ float4 frag(v2f i) : SV_Target { #if defined(_EYE_EFFECT_00)
pbr.normal = eye_effect_00.normal;
#endif
+#if defined(EXTRA_STENCIL_COLOR_PASS)
+ pbr.albedo = _ExtraStencilColor;
+#endif
UNITY_BRANCH
if (_Mode == 1) {
@@ -119,7 +128,7 @@ float4 frag(v2f i) : SV_Target { applyMatcapsAndRimLighting(i, pbr);
#endif
-#if defined(FORWARD_BASE_PASS) || defined(FORWARD_ADD_PASS) || defined(OUTLINE_PASS)
+#if defined(FORWARD_BASE_PASS) || defined(FORWARD_ADD_PASS) || defined(OUTLINE_PASS) || defined(EXTRA_STENCIL_COLOR_PASS)
YumLighting l = GetYumLighting(i, pbr);
float4 lit = YumBRDF(i, l, pbr);
@@ -131,7 +140,7 @@ float4 frag(v2f i) : SV_Target { UNITY_EXTRACT_FOG_FROM_EYE_VEC(i);
UNITY_APPLY_FOG(_unity_fogCoord, lit.rgb);
return lit;
-#elif defined(SHADOW_CASTER_PASS)
+#elif defined(SHADOW_CASTER_PASS) || defined(MASKED_STENCIL_PASS)
return 0;
#endif
}
diff --git a/2ner.shader b/2ner.shader index a0b4689..8ccd63c 100644 --- a/2ner.shader +++ b/2ner.shader @@ -1,5 +1,8 @@ Shader "yum_food/2ner" { + // Certain parts of the Properties below are derived from Poiyomi's toon + // shader. The license is available in this repository at the top of + // poi.cginc. Properties { [HideInInspector] shader_master_label("<color=#de719bff>2ner</color>", Float) = 0 @@ -278,6 +281,120 @@ Shader "yum_food/2ner" [HideInInspector] m_end_SSFD("SSFD", Float) = 0 //endex + //ifex _Masked_Stencil_Enabled==0 + [HideInInspector] m_start_Masked_Stencil("Masked stencil", Float) = 0 + [ThryToggle(_)] _Masked_Stencil_Enabled("Enable", Float) = 0 + [ThryWideEnum(Simple, 0, Front Face vs Back Face, 1)] _MaskedStencilType ("Stencil Type", Float) = 0 + _Masked_Stencil_Mask("Mask", 2D) = "white" {} + [IntRange] _MaskedStencilRef ("Stencil Reference Value", Range(0, 255)) = 0 + [IntRange] _MaskedStencilReadMask ("Stencil ReadMask Value", Range(0, 255)) = 255 + [IntRange] _MaskedStencilWriteMask ("Stencil WriteMask Value", Range(0, 255)) = 255 + [Enum(UnityEngine.Rendering.StencilOp)] _MaskedStencilPassOp ("Stencil Pass Op--{condition_showS:(_StencilType==0)}", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _MaskedStencilFailOp ("Stencil Fail Op--{condition_showS:(_StencilType==0)}", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _MaskedStencilZFailOp ("Stencil ZFail Op--{condition_showS:(_StencilType==0)}", Float) = 0 + [Enum(UnityEngine.Rendering.CompareFunction)] _MaskedStencilCompareFunction ("Stencil Compare Function--{condition_showS:(_StencilType==0)}", Float) = 8 + [HideInInspector] m_start_MaskedStencilPassBackOptions("Back--{condition_showS:(_MaskedStencilType==1)}", Float) = 0 + [Helpbox(1)] _FFBFStencilHelp0 ("Front Face and Back Face Stencils only work when locked in due to Unity's Stencil managment", Int) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _MaskedStencilBackPassOp ("Back Pass Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _MaskedStencilBackFailOp ("Back Fail Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _MaskedStencilBackZFailOp ("Back ZFail Op", Float) = 0 + [Enum(UnityEngine.Rendering.CompareFunction)] _MaskedStencilBackCompareFunction ("Back Compare Function", Float) = 8 + [HideInInspector] m_end_MaskedStencilPassBackOptions("Back", Float) = 0 + [HideInInspector] m_start_MaskedStencilPassFrontOptions("Front--{condition_showS:(_MaskedStencilType==1)}", Float) = 0 + [Helpbox(1)] _FFBFStencilHelp1 ("Front Face and Back Face Stencils only work when locked in due to Unity's Stencil managment", Int) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _MaskedStencilFrontPassOp ("Front Pass Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _MaskedStencilFrontFailOp ("Front Fail Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _MaskedStencilFrontZFailOp ("Front ZFail Op", Float) = 0 + [Enum(UnityEngine.Rendering.CompareFunction)] _MaskedStencilFrontCompareFunction ("Front Compare Function", Float) = 8 + [HideInInspector] m_end_MaskedStencilPassFrontOptions("Front", Float) = 0 + [HideInInspector] m_end_Masked_Stencil("Masked stencil", Float) = 0 + //endex + + //ifex _Stencil_Enabled==0 + [HideInInspector] m_start_Stencil("Stencil", Float) = 0 + [ThryToggle(_)] _Stencil_Enabled("Enable", Float) = 0 + [ThryWideEnum(Simple, 0, Front Face vs Back Face, 1)] _StencilType ("Stencil Type", Float) = 0 + [IntRange] _StencilRef ("Stencil Reference Value", Range(0, 255)) = 0 + [IntRange] _StencilReadMask ("Stencil ReadMask Value", Range(0, 255)) = 255 + [IntRange] _StencilWriteMask ("Stencil WriteMask Value", Range(0, 255)) = 255 + [Enum(UnityEngine.Rendering.StencilOp)] _StencilPassOp ("Stencil Pass Op--{condition_showS:(_StencilType==0)}", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _StencilFailOp ("Stencil Fail Op--{condition_showS:(_StencilType==0)}", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _StencilZFailOp ("Stencil ZFail Op--{condition_showS:(_StencilType==0)}", Float) = 0 + [Enum(UnityEngine.Rendering.CompareFunction)] _StencilCompareFunction ("Stencil Compare Function--{condition_showS:(_StencilType==0)}", Float) = 8 + [HideInInspector] m_start_StencilPassBackOptions("Back--{condition_showS:(_StencilType==1)}", Float) = 0 + [Helpbox(1)] _FFBFStencilHelp0 ("Front Face and Back Face Stencils only work when locked in due to Unity's Stencil managment", Int) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _StencilBackPassOp ("Back Pass Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _StencilBackFailOp ("Back Fail Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _StencilBackZFailOp ("Back ZFail Op", Float) = 0 + [Enum(UnityEngine.Rendering.CompareFunction)] _StencilBackCompareFunction ("Back Compare Function", Float) = 8 + [HideInInspector] m_end_StencilPassBackOptions("Back", Float) = 0 + [HideInInspector] m_start_StencilPassFrontOptions("Front--{condition_showS:(_StencilType==1)}", Float) = 0 + [Helpbox(1)] _FFBFStencilHelp1 ("Front Face and Back Face Stencils only work when locked in due to Unity's Stencil managment", Int) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _StencilFrontPassOp ("Front Pass Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _StencilFrontFailOp ("Front Fail Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _StencilFrontZFailOp ("Front ZFail Op", Float) = 0 + [Enum(UnityEngine.Rendering.CompareFunction)] _StencilFrontCompareFunction ("Front Compare Function", Float) = 8 + [HideInInspector] m_end_StencilPassFrontOptions("Front", Float) = 0 + [HideInInspector] m_end_Stencil("Stencil", Float) = 0 + //endex + + //ifex _ExtraStencilColorPass_Enabled==0 + [HideInInspector] m_start_ExtraStencilColorPass("Extra stencil color pass", Float) = 0 + [ThryToggle(_)] _ExtraStencilColorPass_Enabled("Enable", Float) = 0 + _ExtraStencilColor("Color", Color) = (1, 1, 1, 1) + [ThryWideEnum(Simple, 0, Front Face vs Back Face, 1)] _ExtraStencilColorType ("Stencil Type", Float) = 0 + [IntRange] _ExtraStencilColorRef ("Stencil Reference Value", Range(0, 255)) = 0 + [IntRange] _ExtraStencilColorReadMask ("Stencil ReadMask Value", Range(0, 255)) = 255 + [IntRange] _ExtraStencilColorWriteMask ("Stencil WriteMask Value", Range(0, 255)) = 255 + [Enum(UnityEngine.Rendering.StencilOp)] _ExtraStencilColorPassOp ("Stencil Pass Op--{condition_showS:(_ExtraStencilColorType==0)}", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _ExtraStencilColorFailOp ("Stencil Fail Op--{condition_showS:(_ExtraStencilColorType==0)}", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _ExtraStencilColorZFailOp ("Stencil ZFail Op--{condition_showS:(_ExtraStencilColorType==0)}", Float) = 0 + [Enum(UnityEngine.Rendering.CompareFunction)] _ExtraStencilColorCompareFunction ("Stencil Compare Function--{condition_showS:(_ExtraStencilColorType==0)}", Float) = 8 + [HideInInspector] m_start_ExtraStencilColorPassBackOptions("Back--{condition_showS:(_ExtraStencilColorType==1)}", Float) = 0 + [Helpbox(1)] _FFBFStencilHelp0 ("Front Face and Back Face Stencils only work when locked in due to Unity's Stencil managment", Int) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _ExtraStencilColorBackPassOp ("Back Pass Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _ExtraStencilColorBackFailOp ("Back Fail Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _ExtraStencilColorBackZFailOp ("Back ZFail Op", Float) = 0 + [Enum(UnityEngine.Rendering.CompareFunction)] _ExtraStencilColorBackCompareFunction ("Back Compare Function", Float) = 8 + [HideInInspector] m_end_ExtraStencilColorPassBackOptions("Back", Float) = 0 + [HideInInspector] m_start_ExtraStencilColorPassFrontOptions("Front--{condition_showS:(_ExtraStencilColorType==1)}", Float) = 0 + [Helpbox(1)] _FFBFStencilHelp1 ("Front Face and Back Face Stencils only work when locked in due to Unity's Stencil managment", Int) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _ExtraStencilColorFrontPassOp ("Front Pass Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _ExtraStencilColorFrontFailOp ("Front Fail Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _ExtraStencilColorFrontZFailOp ("Front ZFail Op", Float) = 0 + [Enum(UnityEngine.Rendering.CompareFunction)] _ExtraStencilColorFrontCompareFunction ("Front Compare Function", Float) = 8 + [HideInInspector] m_end_ExtraStencilColorPassFrontOptions("Front", Float) = 0 + [HideInInspector] m_end_ExtraStencilColorPass("Extra Stencil Color", Float) = 0 + //endex + + //ifex _Outline_Stencil_Enabled==0 + [HideInInspector] m_start_Outline_Stencil("Outline Stencil", Float) = 0 + [ThryToggle(_)] _Outline_Stencil_Enabled("Enable", Float) = 0 + [ThryWideEnum(Simple, 0, Front Face vs Back Face, 1)] _Outline_StencilType ("Stencil Type", Float) = 0 + [IntRange] _Outline_StencilRef ("Stencil Reference Value", Range(0, 255)) = 0 + [IntRange] _Outline_StencilReadMask ("Stencil ReadMask Value", Range(0, 255)) = 255 + [IntRange] _Outline_StencilWriteMask ("Stencil WriteMask Value", Range(0, 255)) = 255 + [Enum(UnityEngine.Rendering.StencilOp)] _Outline_StencilPassOp ("Stencil Pass Op--{condition_showS:(_Outline_StencilType==0)}", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _Outline_StencilFailOp ("Stencil Fail Op--{condition_showS:(_Outline_StencilType==0)}", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _Outline_StencilZFailOp ("Stencil ZFail Op--{condition_showS:(_Outline_StencilType==0)}", Float) = 0 + [Enum(UnityEngine.Rendering.CompareFunction)] _Outline_StencilCompareFunction ("Stencil Compare Function--{condition_showS:(_Outline_StencilType==0)}", Float) = 8 + [HideInInspector] m_start_Outline_StencilPassBackOptions("Back--{condition_showS:(_Outline_StencilType==1)}", Float) = 0 + [Helpbox(1)] _FFBFStencilHelp0 ("Front Face and Back Face Stencils only work when locked in due to Unity's Stencil managment", Int) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _Outline_StencilBackPassOp ("Back Pass Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _Outline_StencilBackFailOp ("Back Fail Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _Outline_StencilBackZFailOp ("Back ZFail Op", Float) = 0 + [Enum(UnityEngine.Rendering.CompareFunction)] _Outline_StencilBackCompareFunction ("Back Compare Function", Float) = 8 + [HideInInspector] m_end_Outline_StencilPassBackOptions("Back", Float) = 0 + [HideInInspector] m_start_Outline_StencilPassFrontOptions("Front--{condition_showS:(_Outline_StencilType==1)}", Float) = 0 + [Helpbox(1)] _FFBFStencilHelp1 ("Front Face and Back Face Stencils only work when locked in due to Unity's Stencil managment", Int) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _Outline_StencilFrontPassOp ("Front Pass Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _Outline_StencilFrontFailOp ("Front Fail Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _Outline_StencilFrontZFailOp ("Front ZFail Op", Float) = 0 + [Enum(UnityEngine.Rendering.CompareFunction)] _Outline_StencilFrontCompareFunction ("Front Compare Function", Float) = 8 + [HideInInspector] m_end_Outline_StencilPassFrontOptions("Front", Float) = 0 + [HideInInspector] m_end_Outline_Stencil("Outline Stencil", Float) = 0 + //endex + [HideInInspector] m_lightingOptions("Lighting Options", Float) = 0 //ifex _Receive_Shadows_Enabled==0 [HideInInspector] m_start_Shadow_Receiving("Receive shadows", Float) = 0 @@ -373,6 +490,53 @@ Shader "yum_food/2ner" SubShader { Tags { "RenderType" = "Opaque" "Queue" = "Geometry" "VRCFallback" = "Standard" } + //ifex _Masked_Stencil_Enabled==0 + Pass { + Name "MASKEDSTENCIL" + Tags { "LightMode" = "ForwardBase" } + //BlendOp [_BlendOp], [_BlendOpAlpha] + //Blend [_SrcBlend] [_DstBlend], [_SrcBlendAlpha] [_DstBlendAlpha] + //Cull [_Cull] + ZWrite Off + ZTest LEqual + + Stencil + { + Ref [_MaskedStencilRef] + ReadMask [_MaskedStencilReadMask] + WriteMask [_MaskedStencilWriteMask] + //ifex _MaskedStencilType==1 + Comp [_MaskedStencilCompareFunction] + Pass [_MaskedStencilPassOp] + Fail [_MaskedStencilFailOp] + ZFail [_MaskedStencilZFailOp] + //endex + + //ifex _MaskedStencilType==0 + CompBack [_MaskedStencilBackCompareFunction] + PassBack [_MaskedStencilBackPassOp] + FailBack [_MaskedStencilBackFailOp] + ZFailBack [_MaskedStencilBackZFailOp] + + CompFront [_MaskedStencilFrontCompareFunction] + PassFront [_MaskedStencilFrontPassOp] + FailFront [_MaskedStencilFrontFailOp] + ZFailFront [_MaskedStencilFrontZFailOp] + //endex + } + + CGPROGRAM + #pragma target 5.0 + #pragma multi_compile_instancing + #pragma vertex vert + #pragma fragment frag + + #define MASKED_STENCIL_PASS + + #include "2ner.cginc" + ENDCG + } + //endex Pass { Name "FORWARD" Tags { "LightMode" = "ForwardBase" } @@ -382,6 +546,33 @@ Shader "yum_food/2ner" ZWrite [_ZWrite] ZTest [_ZTest] + //ifex _Stencil_Enabled==0 + Stencil + { + Ref [_StencilRef] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + //ifex _StencilType==1 + Comp [_StencilCompareFunction] + Pass [_StencilPassOp] + Fail [_StencilFailOp] + ZFail [_StencilZFailOp] + //endex + + //ifex _StencilType==0 + CompBack [_StencilBackCompareFunction] + PassBack [_StencilBackPassOp] + FailBack [_StencilBackFailOp] + ZFailBack [_StencilBackZFailOp] + + CompFront [_StencilFrontCompareFunction] + PassFront [_StencilFrontPassOp] + FailFront [_StencilFrontFailOp] + ZFailFront [_StencilFrontZFailOp] + //endex + } + //endex + CGPROGRAM #pragma target 5.0 #pragma multi_compile_fwdbase @@ -405,6 +596,33 @@ Shader "yum_food/2ner" BlendOp [_AddBlendOp], [_AddBlendOpAlpha] Blend [_AddSrcBlend] [_AddDstBlend], [_AddSrcBlendAlpha] [_AddDstBlendAlpha] + //ifex _Stencil_Enabled==0 + Stencil + { + Ref [_StencilRef] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + //ifex _StencilType==1 + Comp [_StencilCompareFunction] + Pass [_StencilPassOp] + Fail [_StencilFailOp] + ZFail [_StencilZFailOp] + //endex + + //ifex _StencilType==0 + CompBack [_StencilBackCompareFunction] + PassBack [_StencilBackPassOp] + FailBack [_StencilBackFailOp] + ZFailBack [_StencilBackZFailOp] + + CompFront [_StencilFrontCompareFunction] + PassFront [_StencilFrontPassOp] + FailFront [_StencilFrontFailOp] + ZFailFront [_StencilFrontZFailOp] + //endex + } + //endex + CGPROGRAM #pragma target 5.0 #pragma multi_compile_fwdadd_fullshadows @@ -418,10 +636,56 @@ Shader "yum_food/2ner" #include "2ner.cginc" ENDCG } + //ifex _ExtraStencilColorPass_Enabled==0 + Pass { + Name "EXTRASTENCILCOLOR" + Tags { "LightMode" = "ForwardBase" } + BlendOp [_BlendOp], [_BlendOpAlpha] + Blend [_SrcBlend] [_DstBlend], [_SrcBlendAlpha] [_DstBlendAlpha] + Cull [_Cull] + ZWrite [_ZWrite] + ZTest [_ZTest] + + Stencil + { + Ref [_ExtraStencilColorRef] + ReadMask [_ExtraStencilColorReadMask] + WriteMask [_ExtraStencilColorWriteMask] + //ifex _ExtraStencilColorType==1 + Comp [_ExtraStencilColorCompareFunction] + Pass [_ExtraStencilColorPassOp] + Fail [_ExtraStencilColorFailOp] + ZFail [_ExtraStencilColorZFailOp] + //endex + + //ifex _ExtraStencilColorType==0 + CompBack [_ExtraStencilColorBackCompareFunction] + PassBack [_ExtraStencilColorBackPassOp] + FailBack [_ExtraStencilColorBackFailOp] + ZFailBack [_ExtraStencilColorBackZFailOp] + + CompFront [_MaskedStencilFrontCompareFunction] + PassFront [_ExtraStencilColorFrontPassOp] + FailFront [_ExtraStencilColorFrontFailOp] + ZFailFront [_ExtraStencilColorFrontZFailOp] + //endex + } + + CGPROGRAM + #pragma target 5.0 + #pragma multi_compile_instancing + #pragma vertex vert + #pragma fragment frag + + #define EXTRA_STENCIL_COLOR_PASS + + #include "2ner.cginc" + ENDCG + } + //endex //ifex _Outlines_Enabled==0 Pass { Name "OUTLINES" - Name "FORWARD" Tags { "LightMode" = "ForwardBase" } Cull Front ZWrite [_ZWrite] @@ -429,6 +693,33 @@ Shader "yum_food/2ner" BlendOp [_OutlineBlendOp], [_OutlineBlendOpAlpha] Blend [_OutlineSrcBlend] [_OutlineDstBlend], [_OutlineSrcBlendAlpha] [_OutlineDstBlendAlpha] + //ifex _Outline_Stencil_Enabled==0 + Stencil + { + Ref [_Outline_StencilRef] + ReadMask [_Outline_StencilReadMask] + WriteMask [_Outline_StencilWriteMask] + //ifex _Outline_StencilType==1 + Comp [_Outline_StencilCompareFunction] + Pass [_Outline_StencilPassOp] + Fail [_Outline_StencilFailOp] + ZFail [_Outline_StencilZFailOp] + //endex + + //ifex _Outline_StencilType==0 + CompBack [_Outline_StencilBackCompareFunction] + PassBack [_Outline_StencilBackPassOp] + FailBack [_Outline_StencilBackFailOp] + ZFailBack [_Outline_StencilBackZFailOp] + + CompFront [_Outline_StencilFrontCompareFunction] + PassFront [_Outline_StencilFrontPassOp] + FailFront [_Outline_StencilFrontFailOp] + ZFailFront [_Outline_StencilFrontZFailOp] + //endex + } + //endex + CGPROGRAM #pragma target 5.0 #pragma multi_compile_fwdbase @@ -450,6 +741,33 @@ Shader "yum_food/2ner" ZWrite [_ZWrite] ZTest [_ZTest] + //ifex _Stencil_Enabled==0 + Stencil + { + Ref [_StencilRef] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + //ifex _StencilType==1 + Comp [_StencilCompareFunction] + Pass [_StencilPassOp] + Fail [_StencilFailOp] + ZFail [_StencilZFailOp] + //endex + + //ifex _StencilType==0 + CompBack [_StencilBackCompareFunction] + PassBack [_StencilBackPassOp] + FailBack [_StencilBackFailOp] + ZFailBack [_StencilBackZFailOp] + + CompFront [_StencilFrontCompareFunction] + PassFront [_StencilFrontPassOp] + FailFront [_StencilFrontFailOp] + ZFailFront [_StencilFrontZFailOp] + //endex + } + //endex + CGPROGRAM #pragma target 5.0 #pragma multi_compile_shadowcaster diff --git a/globals.cginc b/globals.cginc index 90434ec..88f8809 100644 --- a/globals.cginc +++ b/globals.cginc @@ -206,4 +206,19 @@ float4 _LTCGI_SpecularColor; float4 _LTCGI_DiffuseColor;
#endif // _LTCGI
+#if defined(MASKED_STENCIL_PASS)
+texture2D _Masked_Stencil_Mask;
+float _Masked_Stencil_Ref;
+float _Masked_Stencil_Read_Mask;
+float _Masked_Stencil_Write_Mask;
+float _Masked_Stencil_Compare_Function;
+float _Masked_Stencil_Pass_Op;
+float _Masked_Stencil_Fail_Op;
+float _Masked_Stencil_Z_Fail_Op;
+#endif // MASKED_STENCIL_PASS
+
+#if defined(EXTRA_STENCIL_COLOR_PASS)
+float4 _ExtraStencilColor;
+#endif // EXTRA_STENCIL_COLOR_PASS
+
#endif // __GLOBALS_INC
|
