Light Culling still doesn't work properly

This commit is contained in:
Dynamitos
2022-02-24 22:38:26 +01:00
parent 5268bb68e2
commit 84049a762c
44 changed files with 163 additions and 151 deletions
@@ -134,6 +134,7 @@ MainJob BasePass::beginFrame()
descriptorSets[INDEX_VIEW_PARAMS] = viewLayout->allocateDescriptorSet();
descriptorSets[INDEX_VIEW_PARAMS]->updateBuffer(0, viewParamBuffer);
descriptorSets[INDEX_VIEW_PARAMS]->writeChanges();
//std::cout << "BasePass beginFrame()" << std::endl;
co_return;
}
@@ -163,11 +164,13 @@ MainJob BasePass::render()
//co_await Job::all(jobs);
graphics->executeCommands(processor->getRenderCommands());
graphics->endRenderPass();
//std::cout << "BasePass render()" << std::endl;
co_return;
}
MainJob BasePass::endFrame()
{
//std::cout << "BasePass endFrame()" << std::endl;
co_return;
}
@@ -1,4 +1,4 @@
target_sources(SeeleEngine
target_sources(Engine
PRIVATE
BasePass.h
BasePass.cpp
@@ -115,6 +115,7 @@ MainJob DepthPrepass::beginFrame()
descriptorSets[INDEX_VIEW_PARAMS] = viewLayout->allocateDescriptorSet();
descriptorSets[INDEX_VIEW_PARAMS]->updateBuffer(0, viewParamBuffer);
descriptorSets[INDEX_VIEW_PARAMS]->writeChanges();
//std::cout << "DepthPrepass beginFrame()" << std::endl;
co_return;
}
@@ -134,11 +135,13 @@ MainJob DepthPrepass::render()
//co_await Job::all(jobs);
graphics->executeCommands(processor->getRenderCommands());
graphics->endRenderPass();
//std::cout << "DepthPrepass render()" << std::endl;
co_return;
}
MainJob DepthPrepass::endFrame()
{
//std::cout << "DepthPrepass endFrame()" << std::endl;
co_return;
}
@@ -75,7 +75,7 @@ MainJob LightCullingPass::beginFrame()
lightEnvDescriptorSet->updateBuffer(2, pointLightBuffer);
lightEnvDescriptorSet->updateBuffer(3, numPointLightBuffer);
lightEnvDescriptorSet->writeChanges();
//std::cout << "Finished light culling beginFrame()" << std::endl;
//std::cout << "LightCulling beginFrame()" << std::endl;
co_return;
}
@@ -103,11 +103,13 @@ MainJob LightCullingPass::render()
graphics->executeCommands(commands);
depthAttachment->changeLayout(Gfx::SE_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL);
depthAttachment->transferOwnership(Gfx::QueueType::GRAPHICS);
//std::cout << "LightCulling render()" << std::endl;
co_return;
}
MainJob LightCullingPass::endFrame()
{
//std::cout << "LightCulling endFrame()" << std::endl;
co_return;
}
@@ -26,7 +26,7 @@ public:
static void modifyRenderPassMacros(Map<const char*, const char*>& defines);
private:
void setupFrustums();
static constexpr uint32 BLOCK_SIZE = 8;
static constexpr uint32 BLOCK_SIZE = 32;
static constexpr uint32 INDEX_LIGHT_ENV = 1;
struct DispatchParams
{
@@ -39,9 +39,6 @@ private:
{
Vector n;
float d;
Vector p0;
Vector p1;
Vector p2;
};
struct Frustum
{