Struct spirv_std::ray_tracing::AccelerationStructure
source · #[repr(C)]pub struct AccelerationStructure { /* private fields */ }
Expand description
An acceleration structure type which is an opaque reference to an acceleration structure handle as defined in the client API specification.
Implementations§
source§impl AccelerationStructure
impl AccelerationStructure
sourcepub unsafe fn from_u64(id: u64) -> AccelerationStructure
pub unsafe fn from_u64(id: u64) -> AccelerationStructure
Converts a 64-bit integer into an AccelerationStructure
.
§Safety
The 64-bit integer must point to a valid acceleration structure.
sourcepub unsafe fn from_vec(id: impl Vector<u32, 2>) -> AccelerationStructure
pub unsafe fn from_vec(id: impl Vector<u32, 2>) -> AccelerationStructure
Converts a vector of two 32 bit integers into an AccelerationStructure
.
§Safety
The combination must point to a valid acceleration structure.
sourcepub unsafe fn trace_ray<T>(
&self,
ray_flags: RayFlags,
cull_mask: i32,
sbt_offset: i32,
sbt_stride: i32,
miss_index: i32,
ray_origin: impl Vector<f32, 3>,
ray_tmin: f32,
ray_direction: impl Vector<f32, 3>,
ray_tmax: f32,
payload: &mut T
)
pub unsafe fn trace_ray<T>( &self, ray_flags: RayFlags, cull_mask: i32, sbt_offset: i32, sbt_stride: i32, miss_index: i32, ray_origin: impl Vector<f32, 3>, ray_tmin: f32, ray_direction: impl Vector<f32, 3>, ray_tmax: f32, payload: &mut T )
Trace a ray into the acceleration structure.
-
structure
is the descriptor for the acceleration structure to trace into. -
ray_flags
contains one or more of the Ray Flag values. -
cull_mask
is the mask to test against the instance mask. Only the 8 least-significant bits of are used by this instruction - other bits are ignored. -
sbt_offset
andsbt_stride
control indexing into the SBT (Shader Binding Table) for hit shaders called from this trace. Only the 4 least-significant bits ofsbt_offset
andsbt_stride
are used by this instruction - other bits are ignored. -
miss_index
is the index of the miss shader to be called from this trace call. Only the 16 least-significant bits are used by this instruction - other bits are ignored. -
ray_origin
,ray_tmin
,ray_direction
, andray_tmax
control the basic parameters of the ray to be traced. -
payload
is a pointer to the ray payload structure to use for this trace.payload
must have a storage class ofray_payload
orincoming_ray_payload
.
This instruction is allowed only in ray_generation
, closest_hit
and
miss
execution models.
This instruction is a shader call instruction which may invoke shaders with
the intersection
, any_hit
, closest_hit
, and miss
execution models.
Trait Implementations§
source§impl Clone for AccelerationStructure
impl Clone for AccelerationStructure
source§fn clone(&self) -> AccelerationStructure
fn clone(&self) -> AccelerationStructure
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more