Skip to content

Instantly share code, notes, and snippets.

@unitycoder
Forked from ewandennis/UnityStencilMask.shader
Created August 19, 2022 12:00
Show Gist options
  • Select an option

  • Save unitycoder/f2b8ecdc61e810309c1a5637b9fb2f28 to your computer and use it in GitHub Desktop.

Select an option

Save unitycoder/f2b8ecdc61e810309c1a5637b9fb2f28 to your computer and use it in GitHub Desktop.
A simple stencil buffer masking shader for Unity
Shader "Custom/StencilMask" {
Properties {
_StencilMask("Stencil mask", Int) = 0
}
SubShader {
Tags {
"RenderType" = "Opaque"
"Queue" = "Geometry-100"
}
ColorMask 0
ZWrite off
Stencil {
Ref[_StencilMask]
Comp always
Pass replace
}
Pass {
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
struct appdata {
float4 vertex : POSITION;
};
struct v2f {
float4 pos : SV_POSITION;
};
v2f vert(appdata v) {
v2f o;
o.pos = UnityObjectToClipPos(v.vertex);
return o;
}
half4 frag(v2f i) : COLOR {
return half4(1, 1, 0, 1);
}
ENDCG
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment