LiteFX::Rendering::Backends::VulkanBottomLevelAccelerationStructure::build¶
Performs a complete build of the acceleration structure.
Synopses¶
Declared in <litefx/backends/vulkan.hpp>
Performs a complete build of the acceleration structure.
[[dllimport, dllexport]] void build(
ICommandBuffer const& commandBuffer,
SharedPtr<IBuffer const> const& scratchBuffer = nullptr,
SharedPtr<IBuffer const> const& buffer = nullptr,
UInt64 offset = 0,
UInt64 maxSize = 0);
Performs a complete build of the acceleration structure.
[[dllimport, dllexport]] void build(
VulkanCommandBuffer const& commandBuffer,
SharedPtr<IVulkanBuffer const> const& scratchBuffer = nullptr,
SharedPtr<IVulkanBuffer const> const& buffer = nullptr,
UInt64 offset = 0,
UInt64 maxSize = 0);
Exceptions¶
| Name | Thrown on |
|---|---|
InvalidArgumentException | Thrown, if scratchBuffer is not nullptr and does not contain enough scratch memory to build the acceleration structure. |
ArgumentOutOfRangeException | Thrown, if buffer is not nullptr and the range provided by offset and maxSize is not fully contained by the buffer. |
Parameters¶
| Name | Description |
|---|---|
| commandBuffer | The command buffer used to record the acceleration structure build commands. |
| scratchBuffer | The scratch buffer used during the acceleration structure build, or nullptr if a temporary buffer should be created. |
| buffer | The buffer that stores the acceleration structure after building, or nullptr if a new buffer should be created. |
| offset | The offset into buffer at which the acceleration structure should be stored. Must be a multiple of 256. Ignored if buffer is nullptr. |
| maxSize | The maximum available size within buffer at offset. Ignored if buffer is nullptr. |
See Also¶
update