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
+8 -10
View File
@@ -27,21 +27,16 @@ void Window::addView(PView view)
MainJob Window::render()
{
gfxHandle->beginFrame();
Array<MainJob> jobs;
for(auto& windowView : views)
{
co_await windowView->updateFinished;
windowView->updateFinished.reset();
{
std::scoped_lock lock(windowView->workerMutex);
windowView->view->prepareRender();
}
windowView->view->render();
}
for(auto& windowView : views)
{
co_await windowView->view->renderFinished();
windowView->view->resetRender();
jobs.add(windowView->view->render());
}
co_await MainJob::all(jobs);
gfxHandle->endFrame();
if(owner->isActive())
{
@@ -82,8 +77,11 @@ Job Window::viewWorker(size_t viewIndex)
windowView->view->commitUpdate();
}
//std::cout << "Update completed" << std::endl;
windowView->updateFinished.raise();
//windowView->updateFinished.raise();
// enqueue next frame update
viewWorker(viewIndex);
if(owner->isActive())
{
viewWorker(viewIndex);
}
co_return;
}