diff --git a/include/neural-graphics-primitives/testbed.h b/include/neural-graphics-primitives/testbed.h index b52f00018da7f302a5330fad93f72bf5379d081e..7f69802641adde3c0473e39944e4a17519c5dd61 100644 --- a/include/neural-graphics-primitives/testbed.h +++ b/include/neural-graphics-primitives/testbed.h @@ -810,6 +810,8 @@ public: std::chrono::time_point<std::chrono::steady_clock> m_training_start_time_point; Eigen::Array4f m_background_color = {0.0f, 0.0f, 0.0f, 1.0f}; + bool m_vsync = false; + // Visualization of neuron activations int m_visualized_dimension = -1; int m_visualized_layer = 0; diff --git a/src/testbed.cu b/src/testbed.cu index eb48fcf5c57246845d338fa1201ca2ac6d1e6212..c2664fa7f13a8c34c7e27d543e9706fddedc341c 100644 --- a/src/testbed.cu +++ b/src/testbed.cu @@ -649,6 +649,9 @@ void Testbed::imgui() { } ImGui::Checkbox("Dynamic resolution", &m_dynamic_res); + if (ImGui::Checkbox("VSync", &m_vsync)) { + glfwSwapInterval(m_vsync ? 1 : 0); + } ImGui::SliderFloat("Target FPS", &m_dynamic_res_target_fps, 2.0f, 144.0f, "%.01f", ImGuiSliderFlags_Logarithmic | ImGuiSliderFlags_NoRoundToFormat); ImGui::SliderInt("Max spp", &m_max_spp, 0, 1024, "%d", ImGuiSliderFlags_Logarithmic | ImGuiSliderFlags_NoRoundToFormat);