Diligent::IBottomLevelAS struct

Bottom-level AS interface.

Defines the methods to manipulate a BLAS object

Base classes

struct IDeviceObject
Base interface for all objects created by the render device Diligent::IRenderDevice.

Derived classes

struct IBottomLevelASD3D12
Exposes Direct3D12-specific functionality of a bottom-level acceleration structure object.
struct IBottomLevelASVk
Exposes Vulkan-specific functionality of a Bottom-level acceleration structure object.

Public functions

auto GetDesc() const -> const BottomLevelASDesc& override
Returns the bottom level AS description used to create the object.
auto GetGeometryDescIndex(const char* Name) const -> Uint32 METHOD() virtual
Returns the geometry description index in BottomLevelASDesc::pTriangles or BottomLevelASDesc::pBoxes.
auto GetGeometryIndex(const char* Name) const -> Uint32 METHOD() virtual
Returns the geometry index that can be used in a shader binding table.
auto GetActualGeometryCount() const -> Uint32 METHOD() virtual
Returns the geometry count that was used to build AS. Same as BuildBLASAttribs::TriangleDataCount or BuildBLASAttribs::BoxDataCount.
auto GetScratchBufferSizes() const -> ScratchBufferSizes METHOD() virtual
Returns the scratch buffer info for the current acceleration structure.
auto GetNativeHandle() -> void*METHOD() virtual
Returns the native acceleration structure handle specific to the underlying graphics API.
auto SetState(RESOURCE_STATE State) -> void METHOD() virtual
Sets the acceleration structure usage state.
auto GetState() const -> RESOURCE_STATE METHOD() virtual
Returns the internal acceleration structure state.

Function documentation

Uint32 METHOD() Diligent::IBottomLevelAS::GetGeometryDescIndex(const char* Name) const virtual

Returns the geometry description index in BottomLevelASDesc::pTriangles or BottomLevelASDesc::pBoxes.

Parameters
Name in - Geometry name that is specified in BLASTriangleDesc or BLASBoundingBoxDesc.
Returns Geometry index or INVALID_INDEX if geometry does not exist.

Uint32 METHOD() Diligent::IBottomLevelAS::GetGeometryIndex(const char* Name) const virtual

Returns the geometry index that can be used in a shader binding table.

Parameters
Name in - Geometry name that is specified in BLASTriangleDesc or BLASBoundingBoxDesc.
Returns Geometry index or INVALID_INDEX if geometry does not exist.

Uint32 METHOD() Diligent::IBottomLevelAS::GetActualGeometryCount() const virtual

Returns the geometry count that was used to build AS. Same as BuildBLASAttribs::TriangleDataCount or BuildBLASAttribs::BoxDataCount.

Returns The number of geometries that was used to build AS.

ScratchBufferSizes METHOD() Diligent::IBottomLevelAS::GetScratchBufferSizes() const virtual

Returns the scratch buffer info for the current acceleration structure.

Returns ScratchBufferSizes object, see Diligent::ScratchBufferSizes.

void*METHOD() Diligent::IBottomLevelAS::GetNativeHandle() virtual

Returns the native acceleration structure handle specific to the underlying graphics API.

Returns pointer to ID3D12Resource interface, for D3D12 implementation
VkAccelerationStructure handle, for Vulkan implementation

void METHOD() Diligent::IBottomLevelAS::SetState(RESOURCE_STATE State) virtual

Sets the acceleration structure usage state.