diff --git a/Renderer.cc b/Renderer.cc index 1ee40e81b2f96c7a63dd7262426e0ea957ac1921..0d3171ed1cd23e338636f1d10f1c0a613e5b9393 100644 --- a/Renderer.cc +++ b/Renderer.cc @@ -113,14 +113,15 @@ void Renderer::traverseRenderableNodes( GLState* _glState, SceneGraph::DrawModes _node->enter(*_glState, _drawMode); - if (_node->status() != SceneGraph::BaseNode::HideNode) - _node->getRenderObjects(this, *_glState, nodeDM, _mat); - - // fetch material + // fetch material (Node itself can be a material node, so we have to + // set that in front of the nodes own rendering SceneGraph::MaterialNode* matNode = dynamic_cast(_node); if (matNode) _mat = &matNode->material(); + if (_node->status() != SceneGraph::BaseNode::HideNode) + _node->getRenderObjects(this, *_glState, nodeDM, _mat); + if (process_children) { diff --git a/Renderer.hh b/Renderer.hh index 18f612dbf63df9400905702068315bbacb28515d..51f3087459656243cd759596731d7f7068830063 100644 --- a/Renderer.hh +++ b/Renderer.hh @@ -182,9 +182,9 @@ protected: /** - Dump list of renderobjects to text file. + Dump list of render objects to text file. @param _fileName name of text file to write to - @param _sortedList dump sorted renderobjects in order, may be 0 to use the unsorted list instead + @param _sortedList dump sorted render objects in order, may be 0 to use the unsorted list instead */ void dumpRenderObjectsToText(const char* _fileName, ACG::RenderObject** _sortedList = 0) const;