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 [email protected] https://lists.sourceforge.net/lists/listinfo/flightgear-devel

