Go to the documentation of this file.
53 VkAccelerationStructureKHR vkTLAS);
62 return reinterpret_cast<void*
>(Handle);
71 const VkAccelerationStructureKHR*
GetVkTLASPtr()
const {
return &m_VulkanTLAS; }
74 VkDeviceAddress m_DeviceAddress = 0;
78 VkDeviceSize m_MemoryAlignedOffset = 0;
~TopLevelASVkImpl()
Definition: TopLevelASVkImpl.cpp:127
Base interface for a reference counter object that stores the number of strong and weak references an...
Definition: ReferenceCounters.h:44
Render device implementation in Vulkan backend.
Definition: RenderDeviceVkImpl.hpp:58
virtual VkDeviceAddress GetVkDeviceAddress() const override
Implementation of ITopLevelASVk::GetVkDeviceAddress().
Definition: TopLevelASVkImpl.hpp:69
Top-level AS description.
Definition: TopLevelAS.h:49
DEFINE_VULKAN_OBJECT_WRAPPER(Buffer) BufferWrapper
Definition: VulkanLogicalDevice.hpp:69
virtual VkAccelerationStructureKHR GetVkTLAS() const override
Implementation of ITopLevelASVk::GetVkTLAS().
Definition: TopLevelASVkImpl.hpp:66
const VkAccelerationStructureKHR * GetVkTLASPtr() const
Definition: TopLevelASVkImpl.hpp:71
DEFINE_VULKAN_OBJECT_WRAPPER(AccelerationStructureKHR) AccelStructWrapper
Definition: VulkanLogicalDevice.hpp:85
TopLevelASVkImpl(IReferenceCounters *pRefCounters, RenderDeviceVkImpl *pRenderDeviceVk, const TopLevelASDesc &Desc)
Definition: TopLevelASVkImpl.cpp:36
#define IMPLEMENT_QUERY_INTERFACE_IN_PLACE(InterfaceID, ParentClassName)
Definition: ObjectBase.hpp:59
#define DILIGENT_CALL_TYPE
Definition: CommonDefinitions.h:45
virtual void * GetNativeHandle() override final
Implementation of ITopLevelAS::GetNativeHandle() in Vulkan backend.
Definition: TopLevelASVkImpl.hpp:59
RESOURCE_STATE
Resource usage state.
Definition: GraphicsTypes.h:2814
Definition: TopLevelASVkImpl.hpp:41
Template class implementing base functionality of the top-level acceleration structure object.
Definition: TopLevelASBase.hpp:53
Definition: VulkanMemoryManager.hpp:48
The library uses Direct3D-style math:
Definition: AdvancedMath.hpp:37