See attached patch. Removes black dots by accounting for radius of nodes when calculating visible nodes for traversal without removing the optimization. Confirmed fix with a few people on IRC. Can someone with CVS commit privileges add this to the OSG branch (obviously).
Jonathan Wagner
? Scenery.diff Index: tileentry.cxx =================================================================== RCS file: /var/cvs/FlightGear-0.9/source/src/Scenery/tileentry.cxx,v retrieving revision 1.57 diff -u -p -r1.57 tileentry.cxx --- tileentry.cxx 8 May 2007 06:12:27 -0000 1.57 +++ tileentry.cxx 24 May 2007 02:49:35 -0000 @@ -74,9 +74,9 @@ public: SGUpdateVisitor* updateVisitor = static_cast<SGUpdateVisitor*>(nv); osg::Vec3 center = node->getBound().center(); - double dist2 = distSqr(updateVisitor->getGlobalEyePos(), - SGVec3d(center[0], center[1], center[2])); - if (updateVisitor->getSqrVisibility() < dist2) + double distance = dist(updateVisitor->getGlobalEyePos(), + SGVec3d(center[0], center[1], center[2])) - node->getBound().radius(); + if (updateVisitor->getVisibility() < distance) return; traverse(node, nv);
Scenery.diff.bz2
Description: Binary data
------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/
_______________________________________________ Flightgear-devel mailing list Flightgear-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/flightgear-devel