Mandrill 2025.6.0
Loading...
Searching...
No Matches
Mandrill::AccelerationStructure Class Reference

Acceleration structure class for building and managing acceleration structures. More...

#include <AccelerationStructure.h>

Inherits std::enable_shared_from_this< AccelerationStructure >.

Public Member Functions

MANDRILL_API AccelerationStructure (ptr< Device > pDevice, std::weak_ptr< Scene > wpScene, VkBuildAccelerationStructureFlagsKHR flags)
 Create a new acceleration structure.
 
MANDRILL_API ~AccelerationStructure ()
 Destructor for acceleration structure.
 
MANDRILL_API void update (VkBuildAccelerationStructureFlagsKHR flags)
 Rebuild the top level of the acceleration structure to account for updates in instance transforms.
 
MANDRILL_API VkAccelerationStructureKHR getAccelerationStructure () const
 Get the TLAS acceleration structure handle.
 
MANDRILL_API VkWriteDescriptorSet getWriteDescriptor (uint32_t binding) const
 Get the write descriptor of the acceleration structure.
 

Detailed Description

Acceleration structure class for building and managing acceleration structures.

Constructor & Destructor Documentation

◆ AccelerationStructure()

AccelerationStructure::AccelerationStructure ( ptr< Device pDevice,
std::weak_ptr< Scene wpScene,
VkBuildAccelerationStructureFlagsKHR  flags 
)

Create a new acceleration structure.

Parameters
pDeviceDevice to use
wpSceneScene to create the acceleration structure of
flagsFlags for building acceleration structure

Member Function Documentation

◆ getAccelerationStructure()

MANDRILL_API VkAccelerationStructureKHR Mandrill::AccelerationStructure::getAccelerationStructure ( ) const
inline

Get the TLAS acceleration structure handle.

Returns
A VkAccelerationStructureKHR handle

◆ getWriteDescriptor()

MANDRILL_API VkWriteDescriptorSet Mandrill::AccelerationStructure::getWriteDescriptor ( uint32_t  binding) const
inline

Get the write descriptor of the acceleration structure.

Parameters
bindingBinding to assign to the write descriptor
Returns
A write descriptor

◆ update()

void AccelerationStructure::update ( VkBuildAccelerationStructureFlagsKHR  flags)

Rebuild the top level of the acceleration structure to account for updates in instance transforms.

Returns

The documentation for this class was generated from the following files: