From fd5ee719faf8d057522d579e0b1e9d9591b8b68e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Branimir=20Karad=C5=BEi=C4=87?= Date: Thu, 5 Oct 2017 20:18:45 -0700 Subject: [PATCH] 36-sky: Added time scale. --- examples/36-sky/sky.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/examples/36-sky/sky.cpp b/examples/36-sky/sky.cpp index fc26d5cc9..e08adf813 100644 --- a/examples/36-sky/sky.cpp +++ b/examples/36-sky/sky.cpp @@ -445,6 +445,7 @@ namespace m_timeOffset = bx::getHPCounter(); m_time = 0.0f; + m_timeScale = 1.0f; s_texLightmap = bgfx::createUniform("s_texLightmap", bgfx::UniformType::Int1); u_sunLuminance = bgfx::createUniform("u_sunLuminance", bgfx::UniformType::Vec4); @@ -499,10 +500,11 @@ namespace return 0; } - void imgui() + void imgui(uint32_t _width) { ImGui::Begin("ProceduralSky"); - ImGui::SetWindowSize(ImVec2(350, 200)); + ImGui::SetWindowSize(ImVec2(float(_width), 200.0f) ); + ImGui::SliderFloat("Time scale", &m_timeScale, 0.0f, 1.0f); ImGui::SliderFloat("Time", &m_time, 0.0f, 24.0f); ImGui::SliderFloat("Latitude", &m_sun.m_latitude, -90.0f, 90.0f); ImGui::SliderFloat("Turbidity", &m_turbidity, 1.9f, 10.0f); @@ -537,7 +539,7 @@ namespace last = now; const double freq = double(bx::getHPFrequency()); const float deltaTime = float(frameTime / freq); - m_time += deltaTime; + m_time += m_timeScale * deltaTime; m_time = bx::fmod(m_time, 24.0f); m_sun.Update(m_time); @@ -554,11 +556,11 @@ namespace showExampleDialog(this); ImGui::SetNextWindowPos( - ImVec2(m_width - m_width / 5.0f - 10.0f, 10.0f) + ImVec2(m_width - m_width / 5.0f - 10.0f, 10.0f) , ImGuiSetCond_FirstUseEver ); - imgui(); + imgui(m_width / 5.0f - 10.0f); imguiEndFrame(); @@ -649,6 +651,7 @@ namespace entry::MouseState m_mouseState; float m_time; + float m_timeScale; int64_t m_timeOffset; float m_turbidity;