Add code to allow for depth buffer query (Fixes #18)

This commit is contained in:
Georg Hagen
2024-08-01 10:29:07 +02:00
parent 579c4bcca1
commit e54404ec61
8 changed files with 171 additions and 16 deletions

View File

@@ -18,6 +18,11 @@
namespace OpenVulkano::Vulkan
{
Renderer::Renderer()
: depthBufferQuery(*this)
{
}
void Renderer::Init(IGraphicsAppManager* graphicsAppManager, IWindow* window)
{
logger = Logger::RENDER;
@@ -62,6 +67,8 @@ namespace OpenVulkano::Vulkan
}
}
depthBufferQuery.Init();
logger->info("Vulkan renderer initialized");
}
@@ -87,6 +94,7 @@ namespace OpenVulkano::Vulkan
closeables.pop_back();
closeable->Close();
}
depthBufferQuery.Close();
uiRenderer.Close();
resourceManager.Close();
commands.clear();
@@ -138,6 +146,7 @@ namespace OpenVulkano::Vulkan
CommandHelper* cmdHelper = GetCommandData(commands.size() - 1);
cmdHelper->cmdBuffer.executeCommands(submitBuffers[currentImageId].size(), submitBuffers[currentImageId].data());
context.swapChainRenderPass.End(cmdHelper->cmdBuffer);
depthBufferQuery.Encode(cmdHelper->cmdBuffer);
uiRenderer.DrawUiFrame(cmdHelper->cmdBuffer);
cmdHelper->cmdBuffer.end();
std::array<vk::PipelineStageFlags, 2> stateFlags = { vk::PipelineStageFlags(vk::PipelineStageFlagBits::eColorAttachmentOutput), vk::PipelineStageFlags(vk::PipelineStageFlagBits::eColorAttachmentOutput) };