SpiecsEngine
 
Loading...
Searching...
No Matches
VulkanAccelerationStructure.cpp
Go to the documentation of this file.
1/**
2* @file VulkanAccelerationStructure.cpp.
3* @brief The VulkanAccelerationStructure Class Implementation.
4* @author Spices.
5*/
6
7#include "Pchheader.h"
9
10namespace Spices {
11
13 VulkanState& vulkanState ,
14 VkAccelerationStructureCreateInfoKHR& accel
15 )
16 : VulkanObject(vulkanState)
17 , m_Accel(nullptr)
18 {
20
21 vulkanState.m_VkFunc.vkCreateAccelerationStructureKHR(
22 vulkanState.m_Device ,
23 &accel ,
24 nullptr ,
25 &m_Accel
26 );
27 }
28
30 {
32
33 m_VulkanState.m_VkFunc.vkDestroyAccelerationStructureKHR(m_VulkanState.m_Device, m_Accel, nullptr);
34 m_Accel = nullptr;
35 }
36
38 {
40
41 VkAccelerationStructureDeviceAddressInfoKHR addressInfo{};
42 addressInfo.sType = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR;
43 addressInfo.accelerationStructure = m_Accel;
44
45 return m_VulkanState.m_VkFunc.vkGetAccelerationStructureDeviceAddressKHR(m_VulkanState.m_Device, &addressInfo);
46 }
47}
#define SPICES_PROFILE_ZONE
VkDeviceAddress GetACDeviceAddress() const
Get AC Buffer Address.
virtual ~VulkanAccelerationStructure() override
Destructor Function.
VulkanAccelerationStructure(VulkanState &vulkanState, VkAccelerationStructureCreateInfoKHR &accel)
Constructor Function. Create VkBuffer.
This Class is a Wrapper of VkAccelerationStructure.
VulkanObject(VulkanState &vulkanState)
Constructor Function. Init member variables.
VulkanObject Class. This class defines the basic behaves of VulkanObject. When we create an new Vulka...
This struct contains all Vulkan object in used global.
Definition VulkanUtils.h:74