Я изучаю DXR (DirectX Raytracing), и у меня есть очень простой вопрос:
Я использую HDRP RTX Unity, и у меня есть простой шейдер "anyhit", как показано ниже:
[shader("anyhit")]
void AnyHit(inout RayPayload payload : SV_RayPayload, BuiltInTriangleIntersectionAttributes attribs : SV_IntersectionAttributes)
{
IgnoreHit();
}
Я думал, что он должен игнорировать все попадания, и, таким образом, шейдер "closesthit" не будет выполнен. Тем не менее, я все еще вижу выполненный шейдер "closesthit". Поведение такое же, даже если я полностью удаляю этот шейдер "anyhit". Почему?