[Solved] VisualDebugger a way to toggle on and off?

danoli3

27-09-2009 11:53:02

Hey,

Anyone know a way to toggle the VisualDebugger on and off.
I currently tried doing this:

.header

// NxOgre Visual Debugger variables
NxOgre::VisualDebugger* pPhysVisDebug;
OGRE3DRenderable* pPhysVisDebugRenderable;
Ogre::SceneNode* pPhysVisDebugNode;


init:
//Init the VisualDebugger
pPhysVisDebug = pPhysWorld->getVisualDebugger();
pPhysVisDebugRenderable = new OGRE3DRenderable( NxOgre::Enums::RenderableType_VisualDebugger );
pPhysVisDebug->setRenderable( pPhysVisDebugRenderable );
pPhysVisDebugNode = sceneMgr->getRootSceneNode()->createChildSceneNode();
pPhysVisDebugNode->attachObject( pPhysVisDebugRenderable );
pPhysVisDebug->setVisualisationMode( NxOgre::Enums::VisualDebugger_ShowAll );




Update:
// turn on visual debugger
if(isPhysVisDebug == true)
{
pPhysVisDebug->draw();
pPhysVisDebugNode->needUpdate();
}


At the moment, if you press F3 it changes isPhysVisDebug bool to the oppisite of what it is. So on or off.

This actually works however the 3d environment still has all of the 'lines' created by the VisualDebugger just doesnt update.

How or is it possible to toggle it off and have no artifacts of the un-updated draw?
Thanks in advance
-Danoli3

spacegaier

27-09-2009 12:05:34

At program startup time I initialize the VisualDebugger:

m_pVisualDebugger = m_pWorld->getVisualDebugger();
m_pVisualDebuggerRenderable = new OGRE3DRenderable(NxOgre::Enums::RenderableType_VisualDebugger);
m_pVisualDebugger->setRenderable(m_pVisualDebuggerRenderable);
m_pVisualDebuggerNode = OgreFramework::getSingletonPtr()->m_pSceneMgr->getRootSceneNode()->createChildSceneNode();
m_pVisualDebuggerNode->attachObject(m_pVisualDebuggerRenderable);
m_pVisualDebugger->setVisualisationMode(NxOgre::Enums::VisualDebugger_ShowAll);
m_pVisualDebuggerNode->setVisible(m_bVisualDebugger);


In my main loop I have this if-statement:

if(m_bVisualDebugger == true)
{
m_pVisualDebugger->draw();
m_pVisualDebuggerNode->needUpdate();
}


m_bVisualDebugger is switched to the opposite value each time I press a certain key:

if(OgreFramework::getSingletonPtr()->m_pKeyboard->isKeyDown(OIS::KC_V))
{
m_bVisualDebugger = !m_bVisualDebugger;
m_pVisualDebuggerNode->setVisible(m_bVisualDebugger);
}

danoli3

27-09-2009 12:27:22

Thanks that worked!