I have ran into a problem, and it drives me crazy. I have a custom scene node (Rostrum Node) which holds some data necessary for the rostrum after the race, and it adds a mesh scene node as child with the model of the rostrum. After some debugging I found out that the render pass of that mesh scene node is "ESNRP_NONE", and I don't know why or how I can change this. Can you give me some hint on what I'm doing wrong?
The code in the constructor of my node is:
Code: Select all
setScale(irr::core::vector3df(15.0f));
setVisible(true);
irr::scene::IAnimatedMesh *l_pMesh = a_pMgr->getMesh("data/objects/rostrum.3ds");
if (l_pMesh) {
irr::scene::IMeshSceneNode *l_pNode = a_pMgr->addMeshSceneNode(l_pMesh->getMesh(0), this, -1);
l_pNode->setIsDebugObject(true);
l_pNode->setVisible(true);
l_pNode->setName("Rostrum");
}
Some more lines which might be of interest:
Code: Select all
void CRostrumNode::OnRegisterSceneNode() {
SceneManager->registerNodeForRendering(this, irr::scene::ESNRP_SOLID);
}
void CRostrumNode::render() {
for (irr::core::list<irr::scene::ISceneNode *>::ConstIterator it = Children.begin(); it != Children.end(); it++)
(*it)->render();
}