diff options
| author | Marijn Tamis <[email protected]> | 2018-05-03 18:22:48 +0200 |
|---|---|---|
| committer | Marijn Tamis <[email protected]> | 2018-05-03 18:22:48 +0200 |
| commit | ca32c59a58d37c1822e185a2d5f3d0d3e8943593 (patch) | |
| tree | b06b9eec03f34344ef8fc31aa147b2714d3962ee /NvCloth/samples/SampleBase/scene/SceneController.cpp | |
| parent | Forced rename of platform folders in cmake dir. Git didn't pick this up before. (diff) | |
| download | nvcloth-ca32c59a58d37c1822e185a2d5f3d0d3e8943593.tar.xz nvcloth-ca32c59a58d37c1822e185a2d5f3d0d3e8943593.zip | |
NvCloth 1.1.4 Release. (24070740)
Diffstat (limited to 'NvCloth/samples/SampleBase/scene/SceneController.cpp')
| -rw-r--r-- | NvCloth/samples/SampleBase/scene/SceneController.cpp | 19 |
1 files changed, 16 insertions, 3 deletions
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); |