• Slang Standard Library Reference
    • Interfaces
    • Types
      • Buffer types
      • Math types
      • Miscelaneous types
      • Ray-tracing
        • BuiltInTriangleIntersectionAttributes
        • CANDIDATE_TYPE
        • COMMITTED_STATUS
        • HitObject
          • GetAttributes
          • GetCurrentTime
          • GetGeometryIndex
          • GetHitKind
          • GetInstanceID
          • GetInstanceIndex
          • GetObjectRayDirection
          • GetObjectRayOrigin
          • GetObjectToWorld
          • GetPrimitiveIndex
          • GetRayDesc
          • GetShaderRecordBufferHandle
          • GetShaderTableIndex
          • GetWorldToObject
          • Invoke
          • IsHit
          • IsMiss
          • IsNop
          • LoadLocalRootTableConstant
          • MakeHit
          • MakeMiss
          • MakeMotionHit
          • MakeMotionMiss
          • MakeNop
          • TraceMotionRay
          • TraceRay
          • init
        • RAY_FLAG
        • RayDesc
        • RayQuery
        • RaytracingAccelerationStructure
      • Sampler types
      • Scalar types
      • Stage IO types
      • Texture types
      • Array
      • Atomic
      • ConstantBuffer
      • DifferentialPair
      • DifferentialPtrPair
      • Optional
      • ParameterBlock
      • Ptr
      • String
      • Tuple
      • _AttributeTargets
    • Attributes
    • Global Declarations

HitObject.MakeHit

Description

Creates a HitObject representing a hit based on values explicitly passed as arguments, without tracing a ray. The primitive specified by AccelerationStructure, InstanceIndex, GeometryIndex, and PrimitiveIndex must exist. The shader table index is computed using the formula used with TraceRay. The computed index must reference a valid hit group record in the shader table. The Attributes parameter must either be an attribute struct, such as BuiltInTriangleIntersectionAttributes, or another HitObject to copy the attributes from.

Signature

static HitObject HitObject.MakeHit<attr_t>(
    RaytracingAccelerationStructure AccelerationStructure,
    uint InstanceIndex,
    uint GeometryIndex,
    uint PrimitiveIndex,
    uint HitKind,
    uint RayContributionToHitGroupIndex,
    uint MultiplierForGeometryContributionToHitGroupIndex,
    RayDesc Ray,
    attr_t attributes);

static HitObject HitObject.MakeHit<attr_t>(
    uint HitGroupRecordIndex,
    RaytracingAccelerationStructure AccelerationStructure,
    uint InstanceIndex,
    uint GeometryIndex,
    uint PrimitiveIndex,
    uint HitKind,
    RayDesc Ray,
    attr_t attributes);

Generic Parameters

attr_t

Parameters

AccelerationStructure : RaytracingAccelerationStructure

InstanceIndex : uint

GeometryIndex : uint

PrimitiveIndex : uint

HitKind : uint

RayContributionToHitGroupIndex : uint

MultiplierForGeometryContributionToHitGroupIndex : uint

Ray : RayDesc

attributes : attr_t

HitGroupRecordIndex : uint

Availability and Requirements

Defined for the following targets:

hlsl

Available in stages: raygen, closesthit, miss.

Requires capability: hlsl_nvapi.

glsl

Available in stages: raygen, closesthit, miss.

spirv

Available in stages: raygen, closesthit, miss.

Requires capabilities: spvRayTracingKHR, spvShaderInvocationReorderNV.