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¶
| Name | Description |
|---|---|
IAccelerationStructure | Base interface for a ray tracing acceleration structure. |
Types¶
| Name | Description |
|---|---|
BoundingBoxes | Stores a buffer that contains axis-aligned bounding boxes. |
TriangleMesh | Represents a triangle mesh. |
Member Functions¶
| Name | Description |
|---|---|
~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¶
| Name | Description |
|---|---|
IBottomLevelAccelerationStructure [constructor] | Constructors |
operator= | Assignment operators |
Derived Classes¶
| Name | Description |
|---|---|
DirectX12BottomLevelAccelerationStructure | Implements a DirectX 12 bottom-level acceleration structure (BLAS). |
VulkanBottomLevelAccelerationStructure | Implements a Vulkan bottom-level acceleration structure (BLAS). |
See Also¶
TriangleMesh
AxisAlignedBoundingBox
ITopLevelAccelerationStructure