Skip to content

Commit

Permalink
updating changes to builtins
Browse files Browse the repository at this point in the history
  • Loading branch information
natevm committed Dec 31, 2024
1 parent 5c4ecc7 commit 609c5fa
Showing 1 changed file with 29 additions and 2 deletions.
31 changes: 29 additions & 2 deletions gprt/gprt_builtins.slang
Original file line number Diff line number Diff line change
Expand Up @@ -63,14 +63,14 @@ public struct PointDesc
public __init() {};
};

/// Traces a sphere through the acceleration structure.
/// Traces a point through the acceleration structure.
/// @param AccelerationStructure The acceleration structure to traverse
/// @param RayFlags Flags controlling ray behavior
/// @param InstanceInclusionMask Mask for filtering instance visibility
/// @param RayContributionToHitGroupIndex Offset for hit group indexing
/// @param MultiplierForGeometryContributionToHitGroupIndex Multiplier for geometry-based hit group indexing
/// @param MissShaderIndex Index of the miss shader to execute if no hit is found
/// @param Origin The query point origin to trace
/// @param Point The query point origin to trace
/// @param Payload Structure for passing data between shaders
/// @remarks Core ray tracing function for initiating traversal
/// @category raytracing
Expand All @@ -89,4 +89,31 @@ public void TracePoint<payload_t>(
RaytracingAccelerationStructure accel = getAccelFromAddress(AccelerationStructure.address);
TraceRay(accel, RayFlags, InstanceInclusionMask, RayContributionToHitGroupIndex, MultiplierForGeometryContributionToHitGroupIndex, MissShaderIndex, { Point.Origin, 0.0, float3(1.0), 0.0 }, Payload);
}

/// Traces a point through the acceleration structure.
/// @param AccelerationStructure The acceleration structure to traverse
/// @param RayFlags Flags controlling ray behavior
/// @param InstanceInclusionMask Mask for filtering instance visibility
/// @param RayContributionToHitGroupIndex Offset for hit group indexing
/// @param MultiplierForGeometryContributionToHitGroupIndex Multiplier for geometry-based hit group indexing
/// @param MissShaderIndex Index of the miss shader to execute if no hit is found
/// @param Ray Description of the ray to trace
/// @param Payload Structure for passing data between shaders
/// @remarks Core ray tracing function for initiating traversal
/// @category raytracing
[ForceInline]
[require(cuda_glsl_hlsl_spirv, raytracing_raygen_closesthit_miss)]
public void TraceRay<payload_t>(
SurfaceAccelerationStructure AccelerationStructure,
uint RayFlags,
uint InstanceInclusionMask,
uint RayContributionToHitGroupIndex,
uint MultiplierForGeometryContributionToHitGroupIndex,
uint MissShaderIndex,
RayDesc Ray,
inout payload_t Payload)
{
RaytracingAccelerationStructure accel = getAccelFromAddress(AccelerationStructure.address);
TraceRay(accel, RayFlags, InstanceInclusionMask, RayContributionToHitGroupIndex, MultiplierForGeometryContributionToHitGroupIndex, MissShaderIndex, Ray, Payload);
}
#endif

0 comments on commit 609c5fa

Please sign in to comment.