DeltaVR/Assets/_PROJECT/Components/Portals2/StencilPortalShader.shader
2023-05-08 15:56:10 +03:00

73 lines
1.6 KiB
Plaintext

Shader "Unlit/StencilPortalShader"
{
Properties
{
[IntRange] _StencilID("Stencil ID", Range(1, 255)) = 1
}
SubShader
{
Tags
{
"RenderType" = "Opaque"
"Queue" = "Geometry"
"RenderPipeline" = "UniversalPipeline"
}
Pass
{
Blend Zero One
ZWrite Off
Cull Off // turn off backface culling
Stencil
{
Ref[_StencilID]
Comp Always
Pass Replace
Fail Keep
}
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct appdata
{
float4 vertex : POSITION;
UNITY_VERTEX_INPUT_INSTANCE_ID
};
struct v2f
{
float4 vertex : SV_POSITION;
UNITY_VERTEX_INPUT_INSTANCE_ID
UNITY_VERTEX_OUTPUT_STEREO
};
v2f vert(appdata v)
{
v2f o;
UNITY_SETUP_INSTANCE_ID(v);
UNITY_INITIALIZE_OUTPUT(v2f, o);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
o.vertex = UnityObjectToClipPos(v.vertex);
return o;
}
fixed4 frag(v2f i) : SV_Target
{
UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i);
return float4(0.0, 1.0, 0.0, 1.0);
}
ENDCG
}
}
}