pub struct IndirectInstanceAccelerationStructureDescriptor(/* private fields */);Expand description
Descriptor for indirect instance (top-level) acceleration structures.
C++ equivalent: MTL::IndirectInstanceAccelerationStructureDescriptor
Implementations§
Source§impl IndirectInstanceAccelerationStructureDescriptor
impl IndirectInstanceAccelerationStructureDescriptor
Sourcepub fn new() -> Option<Self>
pub fn new() -> Option<Self>
Create a new indirect instance acceleration structure descriptor.
C++ equivalent: static IndirectInstanceAccelerationStructureDescriptor* 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 indirect 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 max_instance_count(&self) -> UInteger
pub fn max_instance_count(&self) -> UInteger
Get the maximum instance count.
C++ equivalent: NS::UInteger maxInstanceCount() const
Sourcepub fn set_max_instance_count(&self, count: UInteger)
pub fn set_max_instance_count(&self, count: UInteger)
Set the maximum instance count.
C++ equivalent: void setMaxInstanceCount(NS::UInteger)
Sourcepub fn instance_count_buffer(&self) -> Option<Buffer>
pub fn instance_count_buffer(&self) -> Option<Buffer>
Get the instance count buffer.
C++ equivalent: Buffer* instanceCountBuffer() const
Sourcepub fn set_instance_count_buffer(&self, buffer: Option<&Buffer>)
pub fn set_instance_count_buffer(&self, buffer: Option<&Buffer>)
Set the instance count buffer.
C++ equivalent: void setInstanceCountBuffer(Buffer*)
Sourcepub fn instance_count_buffer_offset(&self) -> UInteger
pub fn instance_count_buffer_offset(&self) -> UInteger
Get the instance count buffer offset.
C++ equivalent: NS::UInteger instanceCountBufferOffset() const
Sourcepub fn set_instance_count_buffer_offset(&self, offset: UInteger)
pub fn set_instance_count_buffer_offset(&self, offset: UInteger)
Set the instance count buffer offset.
C++ equivalent: void setInstanceCountBufferOffset(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 max_motion_transform_count(&self) -> UInteger
pub fn max_motion_transform_count(&self) -> UInteger
Get the maximum motion transform count.
C++ equivalent: NS::UInteger maxMotionTransformCount() const
Sourcepub fn set_max_motion_transform_count(&self, count: UInteger)
pub fn set_max_motion_transform_count(&self, count: UInteger)
Set the maximum motion transform count.
C++ equivalent: void setMaxMotionTransformCount(NS::UInteger)
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_buffer(&self) -> Option<Buffer>
pub fn motion_transform_count_buffer(&self) -> Option<Buffer>
Get the motion transform count buffer.
C++ equivalent: Buffer* motionTransformCountBuffer() const
Sourcepub fn set_motion_transform_count_buffer(&self, buffer: Option<&Buffer>)
pub fn set_motion_transform_count_buffer(&self, buffer: Option<&Buffer>)
Set the motion transform count buffer.
C++ equivalent: void setMotionTransformCountBuffer(Buffer*)
Sourcepub fn motion_transform_count_buffer_offset(&self) -> UInteger
pub fn motion_transform_count_buffer_offset(&self) -> UInteger
Get the motion transform count buffer offset.
C++ equivalent: NS::UInteger motionTransformCountBufferOffset() const
Sourcepub fn set_motion_transform_count_buffer_offset(&self, offset: UInteger)
pub fn set_motion_transform_count_buffer_offset(&self, offset: UInteger)
Set the motion transform count buffer offset.
C++ equivalent: void setMotionTransformCountBufferOffset(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)