Files
Seele/src/Engine/Graphics/Vulkan/RayTracing.h
T

32 lines
774 B
C++
Raw Normal View History

2024-06-09 10:44:24 +02:00
#pragma once
#include "Graphics.h"
2024-06-09 12:20:04 +02:00
#include "Graphics/Initializer.h"
2024-06-09 10:44:24 +02:00
#include "Graphics/RayTracing.h"
#include <vulkan/vulkan_core.h>
2024-06-09 12:20:04 +02:00
namespace Seele {
namespace Vulkan {
class BottomLevelAS : public Gfx::BottomLevelAS {
public:
2024-06-09 10:44:24 +02:00
BottomLevelAS(PGraphics graphics, const Gfx::BottomLevelASCreateInfo& createInfo);
~BottomLevelAS();
2024-06-09 12:20:04 +02:00
private:
2024-06-09 10:44:24 +02:00
PGraphics graphics;
VkAccelerationStructureKHR handle;
2024-06-13 15:43:03 +02:00
Gfx::OShaderBuffer buffer;
2024-06-09 10:44:24 +02:00
};
DEFINE_REF(BottomLevelAS)
2024-06-09 12:20:04 +02:00
class TopLevelAS : public Gfx::TopLevelAS {
public:
2024-06-09 10:44:24 +02:00
TopLevelAS(PGraphics graphics, const Gfx::TopLevelASCreateInfo& createInfo);
~TopLevelAS();
2024-06-09 12:20:04 +02:00
private:
2024-06-09 10:44:24 +02:00
PGraphics graphics;
VkAccelerationStructureKHR handle;
};
DEFINE_REF(TopLevelAS)
2024-06-09 12:20:04 +02:00
} // namespace Vulkan
} // namespace Seele