16
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-07-23 14:29:18 +02:00

fix camera-lights lag

This commit is contained in:
milek7
2018-10-18 22:34:58 +02:00
parent 6cf93f5a6d
commit 1761f0b367

View File

@@ -404,7 +404,6 @@ void opengl_renderer::Render_pass(rendermode const Mode)
break; break;
} }
Update_Lights(simulation::Lights);
scene_ubs.time = Timer::GetTime(); scene_ubs.time = Timer::GetTime();
scene_ubs.projection = OpenGLMatrices.data(GL_PROJECTION); scene_ubs.projection = OpenGLMatrices.data(GL_PROJECTION);
scene_ubo->update(scene_ubs); scene_ubo->update(scene_ubs);
@@ -431,7 +430,7 @@ void opengl_renderer::Render_pass(rendermode const Mode)
Render_pass(rendermode::shadows); Render_pass(rendermode::shadows);
if (!FreeFlyModeFlag) if (!FreeFlyModeFlag)
Render_pass(rendermode::cabshadows); Render_pass(rendermode::cabshadows);
setup_pass(m_renderpass, Mode); // restore draw mode. TBD, TODO: render mode stack setup_pass(m_renderpass, Mode); // restore draw mode. TBD, TODO: render mode stack
Timer::subsystem.gfx_shadows.stop(); Timer::subsystem.gfx_shadows.stop();
glDebug("render shadowmap end"); glDebug("render shadowmap end");
@@ -1576,6 +1575,8 @@ void opengl_renderer::Render(scene::basic_region *Region)
{ {
case rendermode::color: case rendermode::color:
{ {
Update_Lights(simulation::Lights);
Render(std::begin(m_sectionqueue), std::end(m_sectionqueue)); Render(std::begin(m_sectionqueue), std::end(m_sectionqueue));
// draw queue is filled while rendering sections // draw queue is filled while rendering sections
if (EditorModeFlag) if (EditorModeFlag)
@@ -3542,7 +3543,7 @@ void opengl_renderer::Update_Lights(light_array &Lights)
return false; return false;
} }
if (Right.intensity == 0.f) if (Right.intensity == 0.f)
{ {
return true; return true;
} }
// ...otherwise prefer closer and/or brigher light sources // ...otherwise prefer closer and/or brigher light sources