Skip to content
Snippets Groups Projects
Commit 761162ba authored by Vanessa Karolek's avatar Vanessa Karolek
Browse files

[#92] add manager for acceleration structures

To be implemented!
parent 25f6cd49
No related branches found
No related tags found
1 merge request!75Resolve "RTX-Module"
Pipeline #26821 passed
...@@ -11,10 +11,19 @@ set(vkcv_rtx_include ${PROJECT_SOURCE_DIR}/include) ...@@ -11,10 +11,19 @@ set(vkcv_rtx_include ${PROJECT_SOURCE_DIR}/include)
set(vkcv_rtx_sources set(vkcv_rtx_sources
${vkcv_rtx_include}/vkcv/rtx/RTX.hpp ${vkcv_rtx_include}/vkcv/rtx/RTX.hpp
${vkcv_rtx_source}/vkcv/rtx/RTX.cpp ${vkcv_rtx_source}/vkcv/rtx/RTX.cpp
${vkcv_rtx_include}/vkcv/rtx/ASManager.hpp
${vkcv_rtx_source}/vkcv/rtx/ASManager.cpp
) )
# adding source files to the project # adding source files to the project
add_library(vkcv_rtx STATIC ${vkcv_rtx_sources}) add_library(vkcv_rtx STATIC ${vkcv_rtx_sources})
# link the required libraries to the module
target_link_libraries(vkcv_rtx vkcv)
# including headers of dependencies and the VkCV framework
target_include_directories(vkcv_rtx SYSTEM BEFORE PRIVATE ${vkcv_include})
# add the own include directory for public headers # add the own include directory for public headers
target_include_directories(vkcv_rtx BEFORE PUBLIC ${vkcv_rtx_include} ${Vulkan_INCLUDE_DIR} ${Vulkan_LIBRARIES}) target_include_directories(vkcv_rtx BEFORE PUBLIC ${vkcv_rtx_include})
\ No newline at end of file \ No newline at end of file
#pragma once
#include <vkcv/Core.hpp>
namespace vkcv::rtx {
class ASManager {
private:
vkcv::BufferHandle m_buffer;
public:
/**
* @brief TODO
*/
ASManager(vkcv::Core *core);
};
}
\ No newline at end of file
#include "vkcv/rtx/ASManager.hpp"
namespace vkcv::rtx {
ASManager::ASManager(vkcv::Core *core) {
// RaytracingBuilder : build BLAS
// BLAS is a vector of BLASEntries which take entries of BLASInput vector
// we need to prepare build information for acceleration build command
// std::vector<vk::AccelerationStructureBuildGeometryInfoKHR> buildInfos(0 /* size of BLAS vector as uint32_t */);
// list of BLAS -> for each BLAS take AccelKHR -> createAcceleration(VkAccelerationStructureCreateInfoKHR)
// vk::AccelerationStructureCreateInfoKHR asCreateInfo = {
// {},
// /* hier muss ein buffer hin */
// };
// asCreateInfo.
// m_buffer = core->createBuffer<void*>(vkcv::BufferType::RT_ACCELERATION, ) // we need the size for the buffer :c
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment