HitObject.TraceRay

Description

Executes ray traversal (including anyhit and intersection shaders) like TraceRay, but returns the resulting hit information as a HitObject and does not trigger closesthit or miss shaders.

Generic payload parameter T can be:

  • payload_t: for HLSL data-based API (payload structure)

  • int: for GLSL location-based API (payload location ID)

Signature

static HitObject HitObject.TraceRay<T>(
    RaytracingAccelerationStructure AccelerationStructure,
    uint RayFlags,
    uint InstanceInclusionMask,
    uint RayContributionToHitGroupIndex,
    uint MultiplierForGeometryContributionToHitGroupIndex,
    uint MissShaderIndex,
    RayDesc Ray,
    inout T Payload);

Generic Parameters

T

Parameters

AccelerationStructure : RaytracingAccelerationStructure

RayFlags : uint

InstanceInclusionMask : uint

RayContributionToHitGroupIndex : uint

MultiplierForGeometryContributionToHitGroupIndex : uint

MissShaderIndex : uint

Ray : RayDesc

Payload : T

Availability and Requirements

Defined for the following targets:

hlsl

Available in stages: raygen, closesthit, miss.

Requires capabilities: hlsl_nvapi, ser_hlsl_native.

glsl

Available in stages: raygen, closesthit, miss.

cuda

Available in stages: raygen, closesthit, miss.

spirv

Available in stages: raygen, closesthit, miss.

Requires capabilities: spvRayTracingKHR, spvShaderInvocationReorderNV.