diff options
author | Kae <80987908+Novaenia@users.noreply.github.com> | 2024-03-19 18:21:54 +1100 |
---|---|---|
committer | Kae <80987908+Novaenia@users.noreply.github.com> | 2024-03-19 18:21:54 +1100 |
commit | 983bb82a96707ae81be5c35e7f9af700ade7d77e (patch) | |
tree | 7594648ca829fc8b4c958d02f86b9cc22b04f5d7 /source/client | |
parent | 17ea975970d8f2be994bb1c8e7646f9c8a6c4647 (diff) |
Async lighting improvements
Diffstat (limited to 'source/client')
-rw-r--r-- | source/client/StarClientApplication.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/source/client/StarClientApplication.cpp b/source/client/StarClientApplication.cpp index 6df7916..54c78b3 100644 --- a/source/client/StarClientApplication.cpp +++ b/source/client/StarClientApplication.cpp @@ -426,7 +426,14 @@ void ClientApplication::render() { LogMap::set("client_render_world_client", strf(u8"{:05d}\u00b5s", Time::monotonicMicroseconds() - clientStart)); auto paintStart = Time::monotonicMicroseconds(); - m_worldPainter->render(m_renderData, [&]() { worldClient->waitForLighting(&m_renderData.lightMap); }); + m_worldPainter->render(m_renderData, [&]() -> bool { + if (auto newMinPosition = worldClient->waitForLighting(&m_renderData.lightMap)) { + m_renderData.lightMinPosition = *newMinPosition; + return true; + } else { + return false; + } + }); LogMap::set("client_render_world_painter", strf(u8"{:05d}\u00b5s", Time::monotonicMicroseconds() - paintStart)); LogMap::set("client_render_world_total", strf(u8"{:05d}\u00b5s", Time::monotonicMicroseconds() - totalStart)); } |