createNodeRenderable() return null

mrmclovin

08-11-2008 23:42:48

I'm having a custom body/actor class. The code is pretty much from http://www.nxogre.org/Inheriting_Actor_and_forcing_NxOgre_to_use_your_own_Body_type_class.

The app generates an 'Access violation ...' run-time error and I've figured out that the mRenderable = mOwner->getSceneRenderer()->createNodeRenderable(visualParams);

Returns a null pointer. And then I had a look at NxOgreSceneRenderer.h and saw this:
class NxPublicClass NullSceneRenderer : public SceneRenderer {

friend class Scene;

public:

NullSceneRenderer(Scene* s, NxString rud) : SceneRenderer(s, rud) {}
~NullSceneRenderer() {}

NodeRenderable* createNodeRenderable(NodeRenderableParams) {
return NULL;
}


I've used cutom actor/body for a while without problem but I was refactoring code and then it showed up. What's going on?

mrmclovin

09-11-2008 00:57:11

It looks like somehow the Nx scene thought that I had a own scene renderer so I just set:
SceneParams::mRenderer = SceneParams::RN_OGRE

and it worked.

mcaden

09-11-2008 02:53:12

you set the renderer when making your scene


mScene = mWorld->createScene("NxScene", "renderer: ogre, controller: accumulator, gravity: yes, floor: no");