Skip to content

LiteFX::Rendering::Backends::VulkanBottomLevelAccelerationStructure

Implements a Vulkan bottom-level acceleration structure (BLAS).

Synopsis

Declared in <litefx/backends/vulkan.hpp>

class [[dllimport, dllexport]] VulkanBottomLevelAccelerationStructure final
    : public IBottomLevelAccelerationStructure
    , public virtual IVulkanAccelerationStructure
    , public virtual StateResource
    , public virtual Resource<VkAccelerationStructureKHR>

Base Classes

NameDescription
IBottomLevelAccelerationStructureA structure that holds a singular entity of geometry for hardware ray-tracing.
IVulkanAccelerationStructureRepresents the base interface for a Vulkan acceleration structure implementation.
StateResourceBase class for a resource that can be identified by a name string within a DeviceState.
Resource<VkAccelerationStructureKHR>Implements the IResource interface.

Types

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

Type Aliases

Member Functions

NameDescription
VulkanBottomLevelAccelerationStructure [constructor]Initializes a new Vulkan bottom-level acceleration structure (BLAS).
~VulkanBottomLevelAccelerationStructure [destructor] [virtual]Destructor
operator= Assignment operators
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.
handle [virtual]Returns the resource managed by the class.
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
operator= Assignment operators
handle [virtual]Returns the resource managed by the class.
name Returns the name of the resource.

Friends

NameDescription
LiteFX::Rendering::Backends::VulkanCommandBufferRecords commands for a VulkanQueue
LiteFX::Rendering::Backends::VulkanDeviceImplements a Vulkan graphics device.
LiteFX::Rendering::Backends::VulkanBottomLevelAccelerationStructure::VulkanBottomLevelAccelerationStructureImpl
LiteFX::PimplPtrA smart pointer that manages an implementation instance for a public interface class.

See Also

VulkanTopLevelAccelerationStructure