mirror of
https://github.com/minetest/irrlicht.git
synced 2024-11-08 16:53:52 +01:00
Fix problems in rendering nodes outside SceneManager caused by new render-per-buffer code
Did no longer render nodes which were rendered in SceneManager + outside SceneManager if they didn't have the per-buffer-rendering enabled. git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6491 dfc29bdd-3216-0410-991c-e03cc46cb475
This commit is contained in:
parent
79e435d02a
commit
31931b0455
@ -76,6 +76,11 @@ public:
|
||||
driver->setMaterial(material);
|
||||
driver->drawMeshBuffer(mb);
|
||||
}
|
||||
|
||||
// Resetting after each rendering so direct calls to render() for parent node continue to work
|
||||
// Assuming each pass only runs once
|
||||
RenderPass = ESNRP_NONE;
|
||||
ParentDoesRender = true;
|
||||
}
|
||||
|
||||
//! Renders the node.
|
||||
@ -84,10 +89,6 @@ public:
|
||||
video::IVideoDriver* driver = SceneManager->getVideoDriver();
|
||||
driver->setTransform(video::ETS_WORLD, MeshNodeParent.getAbsoluteTransformation());
|
||||
renderBuffer(driver);
|
||||
|
||||
// resetting each time so direct calls to render() for parent node continue to work
|
||||
RenderPass = ESNRP_NONE;
|
||||
ParentDoesRender = true;
|
||||
}
|
||||
|
||||
virtual const core::aabbox3d<f32>& getBoundingBox() const IRR_OVERRIDE
|
||||
|
@ -219,7 +219,7 @@ void CMeshSceneNode::render()
|
||||
}
|
||||
}
|
||||
|
||||
if ( bufRenderNode->getRenderPass() == renderPass )
|
||||
if ( bufRenderNode->getRenderPass() == renderPass || renderPass == ESNRP_NONE)
|
||||
bufRenderNode->renderBuffer(driver);
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
Tests finished. 72 tests of 72 passed.
|
||||
Compiled as DEBUG
|
||||
Test suite pass at GMT Mon May 08 14:14:47 2023
|
||||
Test suite pass at GMT Tue May 09 10:09:52 2023
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user