I was comparing with the source in 2.8.1, not 2.8.3 as I thought.. Anyway, in 
the function SceneView::cullStag() I've noticed following differences:


Code:

2.9.11: (row 891)
// traverse the scene graph to search for occluder in there new positions.
_collectOccludersVisitor->traverse(*_camera);

2.8.1:
// traverse the scene graph to search for occluder in there new positions.
for(unsigned int i=0; i< _camera->getNumChildren(); ++i)
{
  _camera->getChild(i)->accept(*_collectOccludersVisitor);
}

---

2.9.11: (row 935)
// achieves a certain amount of frame cohereancy of memory allocation.
rendergraph->clean();

renderStage->setInitialViewMatrix(mv.get());
renderStage->setViewport(viewport);

2.8.1:
// achieves a certain amount of frame cohereancy of memory allocation.
rendergraph->clean();

renderStage->setViewport(viewport);

---

2.9.11: (row 965)
if (_globalStateSet.valid()) cullVisitor->pushStateSet(_globalStateSet.get());
if (_secondaryStateSet.valid()) 
cullVisitor->pushStateSet(_secondaryStateSet.get());
if (_localStateSet.valid()) cullVisitor->pushStateSet(_localStateSet.get());

// traverse the scene graph to generate the rendergraph.    
// If the camera has a cullCallback execute the callback which has the  
// requirement that it must traverse the camera's children.
{
  osg::NodeCallback* callback = _camera->getCullCallback();
  if (callback) (*callback)(_camera.get(), cullVisitor);
  else cullVisitor->traverse(*_camera);
}

2.8.1:
if (_globalStateSet.valid()) cullVisitor->pushStateSet(_globalStateSet.get());
if (_localStateSet.valid()) cullVisitor->pushStateSet(_localStateSet.get());

// traverse the scene graph to generate the rendergraph.
for(unsigned int childNo=0;
     childNo<_camera->getNumChildren();
     ++childNo)
{
  _camera->getChild(childNo)->accept(*cullVisitor);
}

----

2.9.11: (row 989)
if (_localStateSet.valid()) cullVisitor->popStateSet();
if (_secondaryStateSet.valid()) cullVisitor->popStateSet();
if (_globalStateSet.valid()) cullVisitor->popStateSet();

2.8.1:
if (_localStateSet.valid()) cullVisitor->popStateSet();
if (_globalStateSet.valid()) cullVisitor->popStateSet();





Not qualified to say if those changes had anything to do with my problems 
though.

Cheers!

------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=35407#35407





_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to