.TH "MPSTriangleAccelerationStructure" 3 "Mon Jul 9 2018" "Version MetalPerformanceShaders-119.3" "MetalPerformanceShaders.framework" \" -*- nroff -*- .ad l .nh .SH NAME MPSTriangleAccelerationStructure .SH SYNOPSIS .br .PP .PP \fC#import \fP .PP Inherits \fBMPSAccelerationStructure\fP\&. .SS "Properties" .in +1c .ti -1c .RI "id< MTLBuffer > _Nullable \fBvertexBuffer\fP" .br .RI "Vertex buffer containing vertex data encoded as three 32 bit floats per vertex\&. Note that by default each vertex is aligned to the alignment of the vector_float3 type: 16 bytes\&. This can be changed using the vertexStride property\&. \fBA\fP vertex buffer must be provided before the acceleration structure is built\&. Degenerate (zero or negative area) triangles are ignored during acceleration structure construction\&. This can be used to pad triangle indices if needed\&. " .ti -1c .RI "NSUInteger \fBvertexBufferOffset\fP" .br .RI "Offset, in bytes, into the vertex buffer\&. Defaults to 0 bytes\&. Must be aligned to 4 bytes\&. " .ti -1c .RI "NSUInteger \fBvertexStride\fP" .br .RI "Offset, in bytes, between consecutive vertices in the vertex buffer\&. Defaults to 0 bytes, indicating that the vertices are packed according to the natural alignment of the vector_float3 type: 16 bytes\&. " .ti -1c .RI "id< MTLBuffer > _Nullable \fBindexBuffer\fP" .br .RI "Index buffer containing index data encoded as uint32_t per index\&. Each index references a vertex in the vertex buffer\&. May be nil\&. " .ti -1c .RI "\fBMPSDataType\fP \fBindexType\fP" .br .RI "Index type\&. Defaults to MPSDataTypeUInt32\&. Only MPSDataTypeUInt16 and MPSDataTypeUInt32 are supported\&. " .ti -1c .RI "NSUInteger \fBindexBufferOffset\fP" .br .RI "Offset, in bytes, into the index buffer\&. Defaults to 0 bytes\&. Must be aligned to a multiple of the index type\&. Changes to this property require rebuilding the acceleration structure\&. " .ti -1c .RI "id< MTLBuffer > _Nullable \fBmaskBuffer\fP" .br .RI "Mask buffer containing one uint32_t mask per triangle\&. May be nil\&. Otherwise, the mask type must be specified on the \fBMPSRayIntersector\fP with which it is used\&. " .ti -1c .RI "NSUInteger \fBmaskBufferOffset\fP" .br .RI "Offset, in bytes, into the mask buffer\&. Defaults to 0 bytes\&. Must be aligned to 4 bytes\&. " .ti -1c .RI "NSUInteger \fBtriangleCount\fP" .br .RI "Number of triangles\&. Changes to this property require rebuilding the acceleration structure\&. " .in -1c .SS "Additional Inherited Members" .SH "Property Documentation" .PP .SS "\- (id _Nullable) indexBuffer\fC [read]\fP, \fC [write]\fP, \fC [nonatomic]\fP, \fC [retain]\fP" .PP Index buffer containing index data encoded as uint32_t per index\&. Each index references a vertex in the vertex buffer\&. May be nil\&. .SS "\- (NSUInteger) indexBufferOffset\fC [read]\fP, \fC [write]\fP, \fC [nonatomic]\fP, \fC [assign]\fP" .PP Offset, in bytes, into the index buffer\&. Defaults to 0 bytes\&. Must be aligned to a multiple of the index type\&. Changes to this property require rebuilding the acceleration structure\&. .SS "\- (\fBMPSDataType\fP) indexType\fC [read]\fP, \fC [write]\fP, \fC [nonatomic]\fP, \fC [assign]\fP" .PP Index type\&. Defaults to MPSDataTypeUInt32\&. Only MPSDataTypeUInt16 and MPSDataTypeUInt32 are supported\&. .SS "\- (id _Nullable) maskBuffer\fC [read]\fP, \fC [write]\fP, \fC [nonatomic]\fP, \fC [retain]\fP" .PP Mask buffer containing one uint32_t mask per triangle\&. May be nil\&. Otherwise, the mask type must be specified on the \fBMPSRayIntersector\fP with which it is used\&. .SS "\- (NSUInteger) maskBufferOffset\fC [read]\fP, \fC [write]\fP, \fC [nonatomic]\fP, \fC [assign]\fP" .PP Offset, in bytes, into the mask buffer\&. Defaults to 0 bytes\&. Must be aligned to 4 bytes\&. .SS "\- (NSUInteger) triangleCount\fC [read]\fP, \fC [write]\fP, \fC [nonatomic]\fP, \fC [assign]\fP" .PP Number of triangles\&. Changes to this property require rebuilding the acceleration structure\&. .SS "\- (id _Nullable) vertexBuffer\fC [read]\fP, \fC [write]\fP, \fC [nonatomic]\fP, \fC [retain]\fP" .PP Vertex buffer containing vertex data encoded as three 32 bit floats per vertex\&. Note that by default each vertex is aligned to the alignment of the vector_float3 type: 16 bytes\&. This can be changed using the vertexStride property\&. \fBA\fP vertex buffer must be provided before the acceleration structure is built\&. Degenerate (zero or negative area) triangles are ignored during acceleration structure construction\&. This can be used to pad triangle indices if needed\&. .SS "\- (NSUInteger) vertexBufferOffset\fC [read]\fP, \fC [write]\fP, \fC [nonatomic]\fP, \fC [assign]\fP" .PP Offset, in bytes, into the vertex buffer\&. Defaults to 0 bytes\&. Must be aligned to 4 bytes\&. .SS "\- (NSUInteger) vertexStride\fC [read]\fP, \fC [write]\fP, \fC [nonatomic]\fP, \fC [assign]\fP" .PP Offset, in bytes, between consecutive vertices in the vertex buffer\&. Defaults to 0 bytes, indicating that the vertices are packed according to the natural alignment of the vector_float3 type: 16 bytes\&. This can be used to skip past any additional per-vertex data which may be stored alongside the position such as the vertex normal and texture coordinates\&. Must be a multiple of 4 bytes, and must be at least 12 bytes\&. Changes to this property require rebuilding the acceleration structure\&. .SH "Author" .PP Generated automatically by Doxygen for MetalPerformanceShaders\&.framework from the source code\&.