VR4Medical/ICI/Library/PackageCache/com.unity.render-pipelines.universal@2b88762731f8/Shaders/Utils/StencilDitherMaskSeed.shader
2025-07-29 13:45:50 +03:00

62 lines
1.7 KiB
Plaintext

Shader "Hidden/Universal Render Pipeline/StencilDitherMaskSeed"
{
Properties
{
_StencilRefDitherMask ("StencilRefDitherMask", Int) = 0
_StencilWriteDitherMask ("StencilWriteDitherMask", Int) = 0
}
SubShader
{
Tags { "RenderType" = "Opaque" "RenderPipeline" = "UniversalPipeline"}
Pass
{
Name "StencilDitherMaskSeed"
// -------------------------------------
// Render State Commands
ZWrite Off
ZTest Always
Blend Off
Cull Off
// -------------------------------------
// Stencil Settings
Stencil
{
Ref [_StencilRefDitherMask]
WriteMask [_StencilWriteDitherMask]
CompFront Always
PassFront Replace
PassBack Replace
}
HLSLPROGRAM
#pragma target 4.5
// -------------------------------------
// Shader Stages
#pragma vertex Vert
#pragma fragment Pixel
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
#include "Packages/com.unity.render-pipelines.core/Runtime/Utilities/Blit.hlsl"
uint _StencilDitherPattern;
void Pixel(Varyings input)
{
UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(input);
uint a = (uint)input.positionCS.x & 0x1;
uint b = (((uint)input.positionCS.y & 0x1) ^ a) << 1;
if ((a + b) != _StencilDitherPattern)
discard;
}
ENDHLSL
}
}
}