// closesthit.slang //TEST:CROSS_COMPILE: -profile sm_6_3 -stage anyhit -entry main -target spirv-assembly struct SphereHitAttributes { float3 normal; }; struct ShadowRay { float4 hitDistance; }; struct Params { Texture2D alphaMap; SamplerState sampler; int mode; } ParameterBlock gParams; void main( SphereHitAttributes attributes, in out ShadowRay ioPayload) { if(gParams.mode) { float val = gParams.alphaMap.SampleLevel( gParams.sampler, attributes.normal.xy, 0); if(val > 0) { AcceptHitAndEndSearch(); } else { IgnoreHit(); } } }