From ca32c59a58d37c1822e185a2d5f3d0d3e8943593 Mon Sep 17 00:00:00 2001 From: Marijn Tamis Date: Thu, 3 May 2018 18:22:48 +0200 Subject: NvCloth 1.1.4 Release. (24070740) --- NvCloth/samples/SampleBase/scene/SceneController.cpp | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) (limited to 'NvCloth/samples/SampleBase/scene/SceneController.cpp') diff --git a/NvCloth/samples/SampleBase/scene/SceneController.cpp b/NvCloth/samples/SampleBase/scene/SceneController.cpp index fa35d5d..2eedfe4 100644 --- a/NvCloth/samples/SampleBase/scene/SceneController.cpp +++ b/NvCloth/samples/SampleBase/scene/SceneController.cpp @@ -76,6 +76,8 @@ void SceneController::onSampleStart() mPhysXPrimitiveRenderMaterial = new RenderMaterial(getRenderer().getResourceManager(), "physx_primitive", ""); mPhysXPlaneRenderMaterial = new RenderMaterial(getRenderer().getResourceManager(), "physx_primitive_plane", ""); + mWeightedModelSkinRenderMaterial = new RenderMaterial(getRenderer().getResourceManager(), "weighted_model_skinned", ""); + /*{ IRenderMesh* mesh = getRenderer().getPrimitiveRenderMesh(PrimitiveRenderMeshType::Plane); @@ -184,13 +186,20 @@ void SceneController::changeScene(int index) mActiveScene = Scene::CreateScene(0, this); } mActiveScene->onInitialize(); + mDebugLineRenderBuffer->clear(); + mActiveScene->drawDebugVisualization(); } void SceneController::Animate(double dt) { if(mPaused && (mSingleStep <= 0)) { - //Re render debug lines from last frame + if(mActiveScene->debugVisualizationUpdateRequested()) + { + mDebugLineRenderBuffer->clear(); + mActiveScene->drawDebugVisualization(); + } + //else Re render debug lines from last frame getRenderer().queueRenderBuffer(mDebugLineRenderBuffer); return; } @@ -200,8 +209,6 @@ void SceneController::Animate(double dt) dt = 1.0 / 60.0; } - mDebugLineRenderBuffer->clear(); - mLeftOverTime += dt * mTimeScale; double simulationStep = 0.0; @@ -211,6 +218,8 @@ void SceneController::Animate(double dt) simulationStep = 1.0 / 60.0; mActiveScene->Animate(simulationStep); + mDebugLineRenderBuffer->clear(); + mActiveScene->drawDebugVisualization(); getRenderer().queueRenderBuffer(mDebugLineRenderBuffer); } @@ -267,6 +276,10 @@ void SceneController::drawUI() for(int i = 0; i < Scene::GetSceneCount(); i++) { pressed = pressed | ImGui::RadioButton(Scene::GetSceneName(i), &mActiveSceneIndex, i); + if(i == mActiveSceneIndex) + { + pressed = pressed | mActiveScene->drawSubScenes(); + } } if(pressed) changeScene(mActiveSceneIndex); -- cgit v1.2.3