Diligent Engine
 
Loading...
Searching...
No Matches
Diligent::BLASBuildTriangleData Struct Reference

Triangle geometry data description. More...

#include <DeviceContext.h>

Public Attributes

const Char * GeometryName = nullptr
 Geometry name used to map a geometry to a hit group in the shader binding table.
 
IBufferpVertexBuffer = nullptr
 Triangle vertices data source.
 
Uint64 VertexOffset = 0
 Data offset, in bytes, in pVertexBuffer.
 
Uint32 VertexStride = 0
 Stride, in bytes, between vertices.
 
Uint32 VertexCount = 0
 The number of triangle vertices.
 
VALUE_TYPE VertexValueType = VT_UNDEFINED
 The type of the vertex components.
 
Uint8 VertexComponentCount = 0
 The number of vertex components.
 
Uint32 PrimitiveCount = 0
 The number of triangles.
 
IBufferpIndexBuffer = nullptr
 Triangle indices data source.
 
Uint64 IndexOffset = 0
 Data offset in bytes in pIndexBuffer.
 
VALUE_TYPE IndexType = VT_UNDEFINED
 The type of triangle indices, see Diligent::VALUE_TYPE.
 
IBufferpTransformBuffer = nullptr
 Geometry transformation data source, must contain a float4x3 matrix aka Diligent::InstanceMatrix.
 
Uint64 TransformBufferOffset = 0
 Data offset in bytes in pTransformBuffer.
 
RAYTRACING_GEOMETRY_FLAGS Flags = RAYTRACING_GEOMETRY_FLAG_NONE
 Geometry flags, se Diligent::RAYTRACING_GEOMETRY_FLAGS.
 

Detailed Description

Triangle geometry data description.

Member Data Documentation

◆ GeometryName

const Char* Diligent::BLASBuildTriangleData::GeometryName = nullptr

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.

◆ IndexOffset

Uint64 Diligent::BLASBuildTriangleData::IndexOffset = 0

Data offset in bytes in pIndexBuffer.

Offset must be aligned by RayTracingProperties::IndexBufferAlignment and must be a multiple of the IndexType size.

◆ IndexType

VALUE_TYPE Diligent::BLASBuildTriangleData::IndexType = VT_UNDEFINED

The type of triangle indices, see Diligent::VALUE_TYPE.

This is an optional value. Must be undefined or same as in BLASTriangleDesc.

◆ pIndexBuffer

IBuffer* Diligent::BLASBuildTriangleData::pIndexBuffer = nullptr

Triangle indices data source.

Must be null if BLASTriangleDesc::IndexType is undefined. The buffer must be created with Diligent::BIND_RAY_TRACING flag.

◆ PrimitiveCount

Uint32 Diligent::BLASBuildTriangleData::PrimitiveCount = 0

The number of triangles.

Must equal to VertexCount / 3 if pIndexBuffer is null or must be equal to index count / 3.

◆ pTransformBuffer

IBuffer* Diligent::BLASBuildTriangleData::pTransformBuffer = nullptr

Geometry transformation data source, must contain a float4x3 matrix aka Diligent::InstanceMatrix.

The buffer must be created with Diligent::BIND_RAY_TRACING flag.

Note
Transform buffer is not supported in Metal backend.

◆ pVertexBuffer

IBuffer* Diligent::BLASBuildTriangleData::pVertexBuffer = nullptr

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.

◆ TransformBufferOffset

Uint64 Diligent::BLASBuildTriangleData::TransformBufferOffset = 0

Data offset in bytes in pTransformBuffer.

Offset must be aligned by RayTracingProperties::TransformBufferAlignment.

◆ VertexComponentCount

Uint8 Diligent::BLASBuildTriangleData::VertexComponentCount = 0

The number of vertex components.

This is an optional value. Must be undefined or same as in BLASTriangleDesc.

◆ VertexCount

Uint32 Diligent::BLASBuildTriangleData::VertexCount = 0

The number of triangle vertices.

Must be less than or equal to BLASTriangleDesc::MaxVertexCount.

◆ VertexOffset

Uint64 Diligent::BLASBuildTriangleData::VertexOffset = 0

Data offset, in bytes, in pVertexBuffer.

◆ VertexStride

Uint32 Diligent::BLASBuildTriangleData::VertexStride = 0

Stride, in bytes, between vertices.

◆ VertexValueType

VALUE_TYPE Diligent::BLASBuildTriangleData::VertexValueType = VT_UNDEFINED

The type of the vertex components.

This is an optional value. Must be undefined or same as in BLASTriangleDesc.