MTLAccelerationStructureCommandEncoder
Encodes commands that build and refit acceleration structures for a single pass.
Declaration
protocol MTLAccelerationStructureCommandEncoder : MTLCommandEncoderMentioned in
Overview
Create an acceleration structure encoder by calling one of the factory methods on an MTLCommandBuffer instance, such as makeAccelerationStructureCommandEncoder().
Command stages
Most commands apply to one stage within a pass. The following table shows which stage applies to each command:
For more information about stages and synchronization, see MTLStages and Resource synchronization.
Topics
Building an acceleration structure
Copying an acceleration structure
copy(sourceAccelerationStructure:destinationAccelerationStructure:)writeCompactedSize(accelerationStructure:buffer:offset:)writeCompactedSize(accelerationStructure:buffer:offset:sizeDataType:)copyAndCompact(sourceAccelerationStructure:destinationAccelerationStructure:)
Refitting an acceleration structure
refit(sourceAccelerationStructure:descriptor:destinationAccelerationStructure:scratchBuffer:scratchBufferOffset:)refit(sourceAccelerationStructure:descriptor:destinationAccelerationStructure:scratchBuffer:scratchBufferOffset:options:)
Preventing resource access conflicts
Making indirect resources resident
Sampling counters
See Also
Acceleration structures
Improving ray-tracing data access using per-primitive dataMTLAccelerationStructureMTL4AccelerationStructureDescriptorMTLAccelerationStructureDescriptorMTL4PrimitiveAccelerationStructureDescriptorMTLPrimitiveAccelerationStructureDescriptorMTL4InstanceAccelerationStructureDescriptorMTLInstanceAccelerationStructureDescriptorMTLAccelerationStructureUsageMTLAccelerationStructureRefitOptions