Fixed a tile caching bug. When I was freeing tiles to make room in the
cache, I was only checking currently visible tiles, rather than checking
all the cache entries.
(Hopefully) fixed bug which caused corrupt entries to be loaded into the
scene graph when a tile shift occured while the tile load queue was not
empty.
curt [Wed, 30 Jun 1999 14:35:01 +0000 (14:35 +0000)]
Added some early support for a cheezy external view of TuX.
'v' toggles internal vs. external view modes.
Add the distance of the bouding radius into the tile's range selector.
curt [Wed, 30 Jun 1999 00:28:20 +0000 (00:28 +0000)]
Ssg tweaks.
Better handling of missing tiles.
Added a range selector so we can completely ignore tiles that are beyond
our visibility range.
Added a routine to prep the ssg nodes before rendering by updating the
transform and range selector values.
curt [Sun, 20 Jun 1999 03:54:57 +0000 (03:54 +0000)]
Borland C++ tweaks.
MacOS/Metrowerks tweaks.
Fix for fgText default constructor.
More ssg fiddling.
Fixed an include problem with client/server tile build tools.
curt [Fri, 18 Jun 1999 03:42:54 +0000 (03:42 +0000)]
Now use plib in native install mode.
Preparations for unstable development version 0.7.0
Some reorganizational changes.
Beginning to test the use of ssg (part of plib)
curt [Sun, 13 Jun 1999 05:58:02 +0000 (05:58 +0000)]
Created an FGTileMgr class to encapsulate the high level tile management
tasks.
Created a tile load queue. When we init, or cross a tile boundary, we
stuff the new tiles to be loaded on a load queue, and then only load
one tile per frame. This will need further refinement, but it is better
than what we had.
curt [Sat, 12 Jun 1999 21:11:21 +0000 (21:11 +0000)]
Renamed fgTILE -> FGTileEntry.
Started working on dynamic tile cache.
Started working on dynamic tile entries (for drawing entirely in immediate
mode.)
curt [Thu, 10 Jun 1999 02:01:09 +0000 (02:01 +0000)]
Reversing the order of points causes the area calculation to return a
negative number. Polygon holes are wound opposite of non-holes. I was
throwing out holes with area < epsilon (i.e. all holes) ... enough said.
curt [Mon, 7 Jun 1999 03:40:33 +0000 (03:40 +0000)]
Sliver detection and elimination:
After I clip a polygon against the more important stuff, I
check the area and minimum interior angle of each of it's contours.
If both (area and min interior angle) are below some threshhold I'm
calling it a sliver. Then I go and look for another polygon such that
result = polygon_union( poly, sliver ) yields a result that doesn't
have anymore contours than the original poly. This means the sliver
is adjacent to poly. So I replace poly with result (the union) and
keep going.
curt [Sun, 6 Jun 1999 02:31:34 +0000 (02:31 +0000)]
Rewrote the polygon.[ch]xx class to save actual point data, rather than
indices to points.
Then with that in place I added wrapper functions for the libgpc calls so
I could ensure that I was always deallocating any allocated memory (which
was a concern before.)
This was all done in order to facilitate sliver detection and elimination
which is my next order of business.
These changes then were propogated through out the construction tools.