Skip to content

LiteFX::Rendering::IBottomLevelAccelerationStructure

A structure that holds a singular entity of geometry for hardware ray-tracing.

Synopsis

Declared in <litefx/rendering_api.hpp>

class [[dllimport, dllexport]] IBottomLevelAccelerationStructure
    : public virtual IAccelerationStructure

Description

Bottom-level acceleration structures describe actual pieces of geometry (sets of triangular meshes or axis-aligned bounding boxes for procedural geometry). They can best be thought of entities in terms of a scene graph, whilst ITopLevelAccelerationStructure "ITopLevelAccelerationStructures" represent their respective instances. For example, a top-level acceleration structure (TLAS) would store the world transform of the object itself, which can be placed multiple times in the scene with different transforms each time. Each TLAS points to a bottom-level acceleration structure (BLAS), that contains the actual geometry, consisting of multiple meshes that are all transformed relative to the TLAS transform.

Note that a bottom-level acceleration structure can only contain either triangle meshes or bounding boxes, but never both in the same structure.

Base Classes

NameDescription
IAccelerationStructureBase interface for a ray tracing acceleration structure.

Types

NameDescription
BoundingBoxes Stores a buffer that contains axis-aligned bounding boxes.
TriangleMesh Represents a triangle mesh.

Member Functions

NameDescription
~IBottomLevelAccelerationStructure [destructor] [virtual]Destructor
addBoundingBox Adds a buffer containing axis-aligned bounding boxes to the BLAS.
addTriangleMesh Adds a triangle mesh to the BLAS.
boundingBoxes [virtual]Returns an array of buffers, each containing axis-aligned bounding boxes stored in the BLAS.
buffer Returns the acceleration structure backing buffer, that stores its last build.
build Performs a complete build of the acceleration structure.
clear [virtual]Clears all bounding boxes and triangle meshes from the acceleration structure.
copy Copies the acceleration structure into the acceleration structure provided by destination.
flags [virtual]Returns the flags that control how the acceleration structure should be built.
name [virtual]Returns the name of the resource.
offset [virtual]Returns the offset into buffer at which the acceleration structure is stored.
remove remove overloads
size [virtual]Returns the amount of memory in bytes inside buffer that store the acceleration structure.
triangleMeshes [virtual]Returns an array of triangle meshes contained by the BLAS.
update Performs an update on the acceleration structure.
withBoundingBox Adds a buffer containing axis-aligned bounding boxes to the BLAS.
withTriangleMesh Adds a triangle mesh to the BLAS.

Protected Member Functions

NameDescription
IBottomLevelAccelerationStructure [constructor]Constructors
operator= Assignment operators

Derived Classes

NameDescription
DirectX12BottomLevelAccelerationStructure Implements a DirectX 12 bottom-level acceleration structure (BLAS).
VulkanBottomLevelAccelerationStructure Implements a Vulkan bottom-level acceleration structure (BLAS).

See Also

TriangleMesh

AxisAlignedBoundingBox

ITopLevelAccelerationStructure