Skip to content

Commit

Permalink
Add MTLAccelerationStructureInstanceDescriptorType
Browse files Browse the repository at this point in the history
  • Loading branch information
kvark committed Mar 12, 2023
1 parent a6101fc commit 64d98e7
Showing 1 changed file with 18 additions and 0 deletions.
18 changes: 18 additions & 0 deletions src/accelerator_structure.rs
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,16 @@ bitflags! {
}
}

/// See <https://developer.apple.com/documentation/metal/mtlaccelerationstructureinstancedescriptortype>
#[repr(u64)]
#[allow(non_camel_case_types)]
#[derive(Copy, Clone, Debug, Hash, PartialEq, Eq)]
pub enum MTLAccelerationStructureInstanceDescriptorType {
Default = 0,
UserID = 1,
Motion = 2,
}

#[derive(Clone, Copy, PartialEq, Debug, Default)]
#[repr(C)]
pub struct MTLAccelerationStructureInstanceDescriptor {
Expand Down Expand Up @@ -214,6 +224,10 @@ impl InstanceAccelerationStructureDescriptor {
}

impl InstanceAccelerationStructureDescriptorRef {
pub fn set_instance_descriptor_type(&self, ty: MTLAccelerationStructureInstanceDescriptorType) {
unsafe { msg_send![self, setInstanceDescriptorType: ty] }
}

pub fn set_instanced_acceleration_structures(
&self,
instances: &ArrayRef<AccelerationStructure>,
Expand All @@ -232,6 +246,10 @@ impl InstanceAccelerationStructureDescriptorRef {
pub fn set_instance_descriptor_buffer_offset(&self, offset: NSUInteger) {
unsafe { msg_send![self, setInstanceDescriptorBufferOffset: offset] }
}

pub fn set_instance_descriptor_stride(&self, stride: NSUInteger) {
unsafe { msg_send![self, setInstanceDescriptorStride: stride] }
}
}

pub enum MTLAccelerationStructureCommandEncoder {}
Expand Down

0 comments on commit 64d98e7

Please sign in to comment.