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

Bottom-level AS description. More...

#include <BottomLevelAS.h>

Inheritance diagram for Diligent::BottomLevelASDesc:
Diligent::DeviceObjectAttribs

Public Member Functions

bool operator== (const BottomLevelASDesc &rhs) const
 Tests if two BLAS descriptions are equal.
 

Public Attributes

const BLASTriangleDescpTriangles = nullptr
 Array of triangle geometry descriptions.
 
Uint32 TriangleCount = 0
 The number of triangle geometries in pTriangles array.
 
const BLASBoundingBoxDescpBoxes = nullptr
 Array of AABB geometry descriptions.
 
Uint32 BoxCount = 0
 The number of AABB geometries in pBoxes array.
 
RAYTRACING_BUILD_AS_FLAGS Flags = RAYTRACING_BUILD_AS_NONE
 Ray tracing build flags, see Diligent::RAYTRACING_BUILD_AS_FLAGS.
 
Uint64 CompactedSize = 0
 
Uint64 ImmediateContextMask = 1
 Defines which immediate contexts are allowed to execute commands that use this BLAS.
 
- Public Attributes inherited from Diligent::DeviceObjectAttribs
const Char * Name = nullptr
 Object name.
 

Detailed Description

Bottom-level AS description.

Member Function Documentation

◆ operator==()

bool Diligent::BottomLevelASDesc::operator== ( const BottomLevelASDesc & rhs) const
inline

Tests if two BLAS descriptions are equal.

Parameters
[in]RHS- reference to the structure to compare with.
Returns
true if all members of the two structures except for the Name are equal, and false otherwise.
Note
The operator ignores the Name field as it is used for debug purposes and doesn't affect the BLAS properties.

Member Data Documentation

◆ CompactedSize

Uint64 Diligent::BottomLevelASDesc::CompactedSize = 0

Size from the result of IDeviceContext::WriteBLASCompactedSize() if this acceleration structure is going to be the target of a compacting copy (IDeviceContext::CopyBLAS() with COPY_AS_MODE_COMPACT).

◆ ImmediateContextMask

Uint64 Diligent::BottomLevelASDesc::ImmediateContextMask = 1

Defines which immediate contexts are allowed to execute commands that use this BLAS.

When ImmediateContextMask contains a bit at position n, the acceleration structure may be used in the immediate context with index n directly (see DeviceContextDesc::ContextId). It may also be used in a command list recorded by a deferred context that will be executed through that immediate context.

Remarks
Only specify these bits that will indicate those immediate contexts where the BLAS will actually be used. Do not set unnecessary bits as this will result in extra overhead.