2026-04-04 16:42:31 +08:00
|
|
|
Shader "Builtin Shadow Caster"
|
2026-04-04 14:27:44 +08:00
|
|
|
{
|
2026-04-06 21:05:50 +08:00
|
|
|
Properties
|
|
|
|
|
{
|
|
|
|
|
_BaseColor ("Base Color", Color) = (1,1,1,1) [Semantic(BaseColor)]
|
|
|
|
|
_Cutoff ("Alpha Cutoff", Range) = 0.5 [Semantic(AlphaCutoff)]
|
|
|
|
|
_MainTex ("Base Map", 2D) = "white" [Semantic(BaseColorTexture)]
|
|
|
|
|
}
|
2026-04-04 16:42:31 +08:00
|
|
|
SubShader
|
2026-04-04 14:27:44 +08:00
|
|
|
{
|
2026-04-04 16:42:31 +08:00
|
|
|
Pass
|
2026-04-04 14:27:44 +08:00
|
|
|
{
|
2026-04-04 16:42:31 +08:00
|
|
|
Name "ShadowCaster"
|
|
|
|
|
Tags { "LightMode" = "ShadowCaster" }
|
|
|
|
|
Resources
|
|
|
|
|
{
|
|
|
|
|
PerObjectConstants (ConstantBuffer, 0, 0) [Semantic(PerObject)]
|
2026-04-06 21:05:50 +08:00
|
|
|
MaterialConstants (ConstantBuffer, 1, 0) [Semantic(Material)]
|
|
|
|
|
BaseColorTexture (Texture2D, 2, 0) [Semantic(BaseColorTexture)]
|
|
|
|
|
LinearClampSampler (Sampler, 3, 0) [Semantic(LinearClampSampler)]
|
2026-04-04 16:42:31 +08:00
|
|
|
}
|
|
|
|
|
HLSLPROGRAM
|
|
|
|
|
#pragma vertex MainVS
|
|
|
|
|
#pragma fragment MainPS
|
2026-04-06 21:05:50 +08:00
|
|
|
#pragma shader_feature_local _ XC_ALPHA_TEST
|
2026-04-04 16:42:31 +08:00
|
|
|
#pragma backend D3D12 HLSL "shadow-caster.vs.hlsl" "shadow-caster.ps.hlsl" vs_5_0 ps_5_0
|
|
|
|
|
#pragma backend OpenGL GLSL "shadow-caster.vert.glsl" "shadow-caster.frag.glsl"
|
|
|
|
|
#pragma backend Vulkan GLSL "shadow-caster.vert.vk.glsl" "shadow-caster.frag.vk.glsl"
|
|
|
|
|
ENDHLSL
|
2026-04-04 14:27:44 +08:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|