pub struct InstanceAccelerationStructureDescriptor(/* private fields */);Implementations§
Source§impl InstanceAccelerationStructureDescriptor
impl InstanceAccelerationStructureDescriptor
Sourcepub fn new() -> Option<Self>
pub fn new() -> Option<Self>
Create a new instance acceleration structure descriptor.
C++ equivalent: static InstanceAccelerationStructureDescriptor* alloc()->init()
Sourcepub unsafe fn from_raw(ptr: *mut c_void) -> Option<Self>
pub unsafe fn from_raw(ptr: *mut c_void) -> Option<Self>
Create from a raw pointer.
§Safety
The pointer must be a valid Metal instance acceleration structure descriptor.
Sourcepub fn usage(&self) -> AccelerationStructureUsage
pub fn usage(&self) -> AccelerationStructureUsage
Get the usage flags.
C++ equivalent: AccelerationStructureUsage usage() const
Sourcepub fn set_usage(&self, usage: AccelerationStructureUsage)
pub fn set_usage(&self, usage: AccelerationStructureUsage)
Set the usage flags.
C++ equivalent: void setUsage(AccelerationStructureUsage)
Sourcepub fn instance_count(&self) -> UInteger
pub fn instance_count(&self) -> UInteger
Get the instance count.
C++ equivalent: NS::UInteger instanceCount() const
Sourcepub fn set_instance_count(&self, count: UInteger)
pub fn set_instance_count(&self, count: UInteger)
Set the instance count.
C++ equivalent: void setInstanceCount(NS::UInteger)
Sourcepub fn instance_descriptor_buffer(&self) -> Option<Buffer>
pub fn instance_descriptor_buffer(&self) -> Option<Buffer>
Get the instance descriptor buffer.
C++ equivalent: Buffer* instanceDescriptorBuffer() const
Sourcepub fn set_instance_descriptor_buffer(&self, buffer: Option<&Buffer>)
pub fn set_instance_descriptor_buffer(&self, buffer: Option<&Buffer>)
Set the instance descriptor buffer.
C++ equivalent: void setInstanceDescriptorBuffer(Buffer*)
Sourcepub fn instance_descriptor_buffer_offset(&self) -> UInteger
pub fn instance_descriptor_buffer_offset(&self) -> UInteger
Get the instance descriptor buffer offset.
C++ equivalent: NS::UInteger instanceDescriptorBufferOffset() const
Sourcepub fn set_instance_descriptor_buffer_offset(&self, offset: UInteger)
pub fn set_instance_descriptor_buffer_offset(&self, offset: UInteger)
Set the instance descriptor buffer offset.
C++ equivalent: void setInstanceDescriptorBufferOffset(NS::UInteger)
Sourcepub fn instance_descriptor_stride(&self) -> UInteger
pub fn instance_descriptor_stride(&self) -> UInteger
Get the instance descriptor stride.
C++ equivalent: NS::UInteger instanceDescriptorStride() const
Sourcepub fn set_instance_descriptor_stride(&self, stride: UInteger)
pub fn set_instance_descriptor_stride(&self, stride: UInteger)
Set the instance descriptor stride.
C++ equivalent: void setInstanceDescriptorStride(NS::UInteger)
Sourcepub fn instance_descriptor_type(
&self,
) -> AccelerationStructureInstanceDescriptorType
pub fn instance_descriptor_type( &self, ) -> AccelerationStructureInstanceDescriptorType
Get the instance descriptor type.
C++ equivalent: AccelerationStructureInstanceDescriptorType instanceDescriptorType() const
Sourcepub fn set_instance_descriptor_type(
&self,
descriptor_type: AccelerationStructureInstanceDescriptorType,
)
pub fn set_instance_descriptor_type( &self, descriptor_type: AccelerationStructureInstanceDescriptorType, )
Set the instance descriptor type.
C++ equivalent: void setInstanceDescriptorType(AccelerationStructureInstanceDescriptorType)
Sourcepub fn instance_transformation_matrix_layout(&self) -> MatrixLayout
pub fn instance_transformation_matrix_layout(&self) -> MatrixLayout
Get the instance transformation matrix layout.
C++ equivalent: MatrixLayout instanceTransformationMatrixLayout() const
Sourcepub fn set_instance_transformation_matrix_layout(&self, layout: MatrixLayout)
pub fn set_instance_transformation_matrix_layout(&self, layout: MatrixLayout)
Set the instance transformation matrix layout.
C++ equivalent: void setInstanceTransformationMatrixLayout(MatrixLayout)
Sourcepub fn motion_transform_buffer(&self) -> Option<Buffer>
pub fn motion_transform_buffer(&self) -> Option<Buffer>
Get the motion transform buffer.
C++ equivalent: Buffer* motionTransformBuffer() const
Sourcepub fn set_motion_transform_buffer(&self, buffer: Option<&Buffer>)
pub fn set_motion_transform_buffer(&self, buffer: Option<&Buffer>)
Set the motion transform buffer.
C++ equivalent: void setMotionTransformBuffer(Buffer*)
Sourcepub fn motion_transform_buffer_offset(&self) -> UInteger
pub fn motion_transform_buffer_offset(&self) -> UInteger
Get the motion transform buffer offset.
C++ equivalent: NS::UInteger motionTransformBufferOffset() const
Sourcepub fn set_motion_transform_buffer_offset(&self, offset: UInteger)
pub fn set_motion_transform_buffer_offset(&self, offset: UInteger)
Set the motion transform buffer offset.
C++ equivalent: void setMotionTransformBufferOffset(NS::UInteger)
Sourcepub fn motion_transform_count(&self) -> UInteger
pub fn motion_transform_count(&self) -> UInteger
Get the motion transform count.
C++ equivalent: NS::UInteger motionTransformCount() const
Sourcepub fn set_motion_transform_count(&self, count: UInteger)
pub fn set_motion_transform_count(&self, count: UInteger)
Set the motion transform count.
C++ equivalent: void setMotionTransformCount(NS::UInteger)
Sourcepub fn motion_transform_stride(&self) -> UInteger
pub fn motion_transform_stride(&self) -> UInteger
Get the motion transform stride.
C++ equivalent: NS::UInteger motionTransformStride() const
Sourcepub fn set_motion_transform_stride(&self, stride: UInteger)
pub fn set_motion_transform_stride(&self, stride: UInteger)
Set the motion transform stride.
C++ equivalent: void setMotionTransformStride(NS::UInteger)
Sourcepub fn motion_transform_type(&self) -> TransformType
pub fn motion_transform_type(&self) -> TransformType
Get the motion transform type.
C++ equivalent: TransformType motionTransformType() const
Sourcepub fn set_motion_transform_type(&self, transform_type: TransformType)
pub fn set_motion_transform_type(&self, transform_type: TransformType)
Set the motion transform type.
C++ equivalent: void setMotionTransformType(TransformType)
Sourcepub fn instanced_acceleration_structures_ptr(&self) -> *const c_void
pub fn instanced_acceleration_structures_ptr(&self) -> *const c_void
Get the instanced acceleration structures as a raw NS::Array pointer.
C++ equivalent: NS::Array* instancedAccelerationStructures() const
§Safety
The returned pointer is an NS::Array containing AccelerationStructure objects. The caller must manage the memory appropriately.
Sourcepub unsafe fn set_instanced_acceleration_structures_ptr(
&self,
instanced_acceleration_structures: *const c_void,
)
pub unsafe fn set_instanced_acceleration_structures_ptr( &self, instanced_acceleration_structures: *const c_void, )
Set the instanced acceleration structures from a raw NS::Array pointer.
C++ equivalent: void setInstancedAccelerationStructures(const NS::Array*)
§Safety
The instanced_acceleration_structures pointer must be a valid NS::Array or null.