Pārlūkot izejas kodu

Fix the animation

Panagiotis Christopoulos Charitos 2 gadi atpakaļ
vecāks
revīzija
bc18724698
2 mainītis faili ar 7 papildinājumiem un 1 dzēšanām
  1. 6 0
      Samples/Common/SampleApp.cpp
  2. 1 1
      Samples/Common/SampleApp.h

+ 6 - 0
Samples/Common/SampleApp.cpp

@@ -19,6 +19,7 @@ public:
 	Bool m_lsVis = false;
 	Bool m_giVis = false;
 	Bool m_reflVis = false;
+	Second* m_timesOfLastTouchEvent = nullptr;
 
 	ButtonsUiNode(SceneGraph* scene, CString name)
 		: SceneNode(scene, name)
@@ -64,6 +65,7 @@ public:
 			if(ImGui::Checkbox("Light Shading", &m_lsVis))
 			{
 				m_giVis = m_reflVis = false;
+				*m_timesOfLastTouchEvent = SampleApp::kIdleTime;
 			}
 
 			ImGui::SameLine();
@@ -75,6 +77,7 @@ public:
 			if(ImGui::Checkbox("Global Illumination", &m_giVis))
 			{
 				m_lsVis = m_reflVis = false;
+				*m_timesOfLastTouchEvent = SampleApp::kIdleTime;
 			}
 
 			ImGui::SameLine();
@@ -86,6 +89,7 @@ public:
 			if(ImGui::Checkbox("Reflections", &m_reflVis))
 			{
 				m_lsVis = m_giVis = false;
+				*m_timesOfLastTouchEvent = SampleApp::kIdleTime;
 			}
 
 			ImGui::SameLine();
@@ -97,6 +101,7 @@ public:
 
 		if(ImGui::Checkbox("VRS", &m_vrs))
 		{
+			*m_timesOfLastTouchEvent = SampleApp::kIdleTime;
 		}
 
 		m_config->setRVrs(m_vrs);
@@ -160,6 +165,7 @@ Error SampleApp::init(int argc, char** argv, CString sampleName)
 	node->m_renderer = &getMainRenderer().getOffscreenRenderer();
 	node->m_config = &m_config;
 	node->m_vrs = m_config.getRVrs();
+	node->m_timesOfLastTouchEvent = &m_timesOfLastTouchEvent;
 
 	return Error::kNone;
 }

+ 1 - 1
Samples/Common/SampleApp.h

@@ -15,7 +15,7 @@ public:
 	anki::CanvasPtr m_canvas;
 
 	anki::Second m_timesOfLastTouchEvent = 0.0f;
-	static constexpr anki::Second kIdleTime = 4.0;
+	static constexpr anki::Second kIdleTime = 12.0;
 	class anki::AnimationEvent* m_cameraAnimationEvent = nullptr;
 
 	anki::Error init(int argc, char** argv, anki::CString sampleName);