Diligent::BLASBuildTriangleData struct

Triangle geometry data description.

Contents

Public variables

const char* GeometryName
Geometry name used to map a geometry to a hit group in the shader binding table. Add geometry data to the geometry that is allocated by BLASTriangleDesc with the same name.
IBuffer* pVertexBuffer
Triangle vertices data source. Triangles are considered "inactive" if the x component of each vertex is NaN. The buffer must be created with BIND_RAY_TRACING flag.
Uint32 VertexOffset
Data offset in bytes in pVertexBuffer.
Uint32 VertexStride
Stride in bytes between vertices.
Uint32 VertexCount
The number of triangle vertices. Must be less than or equal to BLASTriangleDesc::MaxVertexCount.
VALUE_TYPE VertexValueType
The type of the vertex components. This is an optional value. Must be undefined or same as in BLASTriangleDesc.
Uint8 VertexComponentCount
The number of vertex components. This is an optional value. Must be undefined or same as in BLASTriangleDesc.
Uint32 PrimitiveCount
The number of triangles. Must equal to VertexCount / 3 if pIndexBuffer is null or must be equal to index count / 3.
IBuffer* pIndexBuffer
Triangle indices data source. Must be null if BLASTriangleDesc::IndexType is undefined. The buffer must be created with BIND_RAY_TRACING flag.
Uint32 IndexOffset
Data offset in bytes in pIndexBuffer.
VALUE_TYPE IndexType
The type of triangle indices, see Diligent::VALUE_TYPE. This is an optional value. Must be undefined or same as in BLASTriangleDesc.
IBuffer* pTransformBuffer
Geometry transformation data source. The buffer must be created with BIND_RAY_TRACING flag.
Uint32 TransformBufferOffset
Data offset in bytes in pTransformBuffer.
RAYTRACING_GEOMETRY_FLAGS Flags
Geometry flags, se Diligent::RAYTRACING_GEOMETRY_FLAGS.