Skip to content

LiteFX::Rendering::Backends::VulkanTopLevelAccelerationStructure::update

Performs an update on the acceleration structure.

Synopses

Declared in <litefx/backends/vulkan.hpp>

Performs an update on the acceleration structure.

[[dllimport, dllexport]] void update(
    ICommandBuffer const& commandBuffer,
    SharedPtr<IBuffer const> const& scratchBuffer = nullptr,
    SharedPtr<IBuffer const> const& buffer = nullptr,
    UInt64 offset = 0,
    UInt64 maxSize = 0);

» more...

Performs an update on the acceleration structure.

[[dllimport, dllexport]] void update(
    VulkanCommandBuffer const& commandBuffer,
    SharedPtr<IVulkanBuffer const> const& scratchBuffer = nullptr,
    SharedPtr<IVulkanBuffer const> const& buffer = nullptr,
    UInt64 offset = 0,
    UInt64 maxSize = 0);

» more...

Exceptions

NameThrown on
RuntimeExceptionThrown, if the acceleration structure backing buffer is not initialized, indicating the acceleration structure has not yet been built.
InvalidArgumentExceptionThrown, if scratchBuffer is not nullptr and does not contain enough scratch memory to build the acceleration structure.
ArgumentOutOfRangeExceptionThrown, if buffer is not nullptr and the range provided by offset and maxSize is not fully contained by the buffer.

Parameters

NameDescription
commandBufferThe command buffer used to record the acceleration structure build commands.
scratchBufferThe scratch buffer used during the acceleration structure build, or nullptr if a temporary buffer should be created.
bufferThe buffer that stores the acceleration structure after updating, or nullptr if a new buffer should be created.
offsetThe offset into buffer at which the acceleration structure should be stored. Must be a multiple of 256. Ignored if buffer is nullptr.
maxSizeThe maximum available size within buffer at offset. Ignored if buffer is nullptr.

See Also

build