1
0
Fork 0
Commit graph

213 commits

Author SHA1 Message Date
curt
f8e4de2d13 Bernie Bright <bbright@c031.aone.net.au> writes:
I've made some changes to the Scenery handling.  Basically just tidy ups.
The main difference is in tile.[ch]xx where I've changed list<fgFRAGMENT> to
vector<fgFRAGMENT>.  Studying our usage patterns this seems reasonable.
Lists are good if you need to insert/delete elements randomly but we
don't do that.  All access seems to be sequential.  Two additional
benefits are smaller memory usage - each list element requires pointers
to the next and previous elements, and faster access - vector iterators
are smaller and faster than list iterators.  This should also help
Charlie Hotchkiss' problem when compiling with Borland and STLport.

./Lib/Bucket/bucketutils.hxx
  Convenience functions for fgBUCKET.

./Simulator/Scenery/tile.cxx
./Simulator/Scenery/tile.hxx
  Changed fragment list to a vector.
  Added some convenience member functions.

./Simulator/Scenery/tilecache.cxx
./Simulator/Scenery/tilecache.hxx
  use const fgBUCKET& instead of fgBUCKET* where appropriate.

./Simulator/Scenery/tilemgr.cxx
./Simulator/Scenery/tilemgr.hxx
  uses all the new convenience functions.
1998-11-09 23:40:46 +00:00
curt
c74350c4fe Converted to new logstream debugging facility. This allows release
builds with no messages at all (and no performance impact) by using
the -DFG_NDEBUG flag.
1998-11-06 21:17:31 +00:00
curt
7efee52485 Point3D tweaks. 1998-10-18 01:17:16 +00:00
curt
5b752bfb5f C++ ifying ... 1998-10-17 01:33:52 +00:00
curt
bf5fb5108b C++-ifying. 1998-10-16 23:26:44 +00:00
curt
eed94c33cf Fixed a bug in the conversion to Point3D. 1998-10-16 18:12:28 +00:00
curt
7e240adff1 Converted to Point3D class. 1998-10-16 00:51:46 +00:00
curt
f7e6fca7dd Tweaks and optimizations by Norman Vine. 1998-09-17 18:35:52 +00:00
curt
b4abef6ab8 cleaned up my fragment.num_faces hack :-) to use the STL (no need in
duplicating work.)
Tweaked fgTileMgrRender() do not calc tile matrix unless necessary.
removed some unneeded stuff from fgTileMgrCurElev()
1998-09-15 01:35:03 +00:00
curt
9e65cd11b0 minor tweaks. 1998-09-14 12:45:23 +00:00
curt
42728f52c2 /Simulator/Objects/fragment.hxx
Nested fgFACE inside fgFRAGMENT since its not used anywhere else.

./Simulator/Objects/material.cxx
./Simulator/Objects/material.hxx
  Made fgMATERIAL and fgMATERIAL_MGR bona fide classes with private
  data members - that should keep the rabble happy :)

./Simulator/Scenery/tilemgr.cxx
  In viewable() delay evaluation of eye[0] and eye[1] in until they're
  actually needed.
  Change to fgTileMgrRender() to call fgMATERIAL_MGR::render_fragments()
  method.

./Include/fg_stl_config.h
./Include/auto_ptr.hxx
  Added support for g++ 2.7.
  Further changes to other files are forthcoming.

Brief summary of changes required for g++ 2.7.
  operator->() not supported by iterators: use (*i).x instead of i->x
  default template arguments not supported,
  <functional> doesn't have mem_fun_ref() needed by callbacks.
  some std include files have different names.
  template member functions not supported.
1998-09-10 19:07:09 +00:00
curt
e641ccb51d Tweaks to loop constructs with STL usage. 1998-09-09 20:58:09 +00:00
curt
780814812a Optimization by Norman Vine. 1998-09-08 15:05:10 +00:00
curt
8c2cd1284a Use erase() instead of while ( size() ) pop_front(); 1998-09-02 14:37:08 +00:00
curt
283a23159a Contributions from Bernie Bright <bbright@c031.aone.net.au>
- use strings for fg_root and airport_id and added methods to return
  them as strings,
- inlined all access methods,
- made the parsing functions private methods,
- deleted some unused functions.
- propogated some of these changes out a bit further.
1998-08-27 17:01:55 +00:00
curt
aa408d2829 material.cxx material.hxx obj.cxx obj.hxx texload.c texload.h moved to
../Objects
1998-08-25 16:52:38 +00:00
curt
aaa7174002 Tweaks ... 1998-08-24 20:11:39 +00:00
curt
e33dbca814 Attempting to iron out seg faults and crashes.
Did some shuffling to fix a initialization order problem between view
position, scenery elevation.
1998-08-22 14:49:55 +00:00
curt
f4ddd8811d increased fragment list size. 1998-08-22 02:01:34 +00:00
curt
82702880dd obj.cxx: use more explicit parenthases.
texload.[ch]: use const in function definitions where appropriate.
1998-08-20 15:16:43 +00:00
curt
5f1fd50f6a Used a forward declaration of classes fgTILE and fgMATERIAL to eliminate
the need for "void" pointers and casts.
Quick hack to count the number of scenery polygons that are being drawn.
1998-08-20 15:12:03 +00:00
curt
ab51d8ca5c Need to negate the test for textures so that textures aren't loaded when
they are disabled rather than visa versa ... :-)
1998-08-12 21:41:27 +00:00
curt
d212b2d459 material.cxx: don't load textures if they are disabled
obj.cxx: optimizations from Norman Vine
tile.cxx: minor tweaks
tile.hxx: addition of num_faces
tilemgr.cxx: minor tweaks
1998-08-12 21:13:03 +00:00
curt
a7cf4f0a53 material.cxx: whups, double method declaration with no definition.
obj.cxx: tweaks to avoid errors in SGI's CC.
tile.cxx: optimizations by Norman Vine.
tilemgr.cxx: optimizations by Norman Vine.
1998-07-24 21:42:06 +00:00
curt
f8356621c1 Add basic fgFACE methods contributed by Charlie Hotchkiss.
intersect optimization from Norman Vine.
1998-07-22 21:41:42 +00:00
curt
adee4bc151 Added far clip plane to fragment clipping calculations and tie this to
weather->visibility.  This way you can increase framerates by increasing
for and lowering visibility.
1998-07-20 12:51:26 +00:00
curt
5ed5107fc1 Ground collision detection optimizations contributed by Norman Vine. 1998-07-16 17:34:24 +00:00
curt
4abe562805 Wrote access functions for current fgOPTIONS. 1998-07-13 21:00:09 +00:00
curt
262b2f0607 Added ground collision detection. This involved:
- saving the entire vertex list for each tile with the tile records.
- saving the face list for each fragment with the fragment records.
- code to intersect the current vertical line with the proper face in
  an efficient manner as possible.
Fixed a bug where the tiles weren't being shifted to "near" (0,0,0)
1998-07-12 03:18:27 +00:00
curt
a0f58259dd Fix GL_MODULATE vs. GL_DECAL problem introduced by splash screen.
polare3d.h renamed to polar3d.hxx
fg{Cartesian,Polar}Point3d consolodated.
Added some initial support for calculating local current ground elevation.
1998-07-08 14:47:20 +00:00
curt
39c1facaef Added using namespace std for compilers that support this. 1998-07-06 21:34:33 +00:00
curt
6d48ba08a0 Added automatic mipmap generation.
When rendering fragments, use saved model view matrix from associated tile
rather than recalculating it with push() translate() pop().
1998-07-04 00:54:28 +00:00
curt
be9d6ea4ea Check for GL_VERSION_1_1 or GL_EXT_texture_object to decide whether to use
"EXT" versions of texture management routines.
1998-06-27 16:54:59 +00:00
curt
24c78e8146 Load and manage multiple textures defined in the Materials library.
Boost max material fagments for each material property to 800.
Multiple texture support when rendering.
1998-06-17 21:36:39 +00:00
curt
7b98736e32 Build only static libraries.
Declare memmove/memset for Sloaris.
1998-06-12 00:55:58 +00:00
curt
a6c7336cad Working first pass at material proporty sorting. 1998-06-08 17:57:54 +00:00
curt
d0b19c0ce1 I goofed on the log message in the last commit ... now fixed. 1998-06-06 01:09:31 +00:00
curt
0a840e1dbd Increased per material fragment list size from 100 to 400. 1998-06-06 01:07:17 +00:00
curt
5c10725624 Working on sorting by, and rendering by material properties. 1998-06-05 22:39:53 +00:00
curt
22dd9999a8 Recognize file, file.gz, and file.obj as scenery object files. 1998-06-05 18:19:18 +00:00
curt
eda1cfe31c No .h for STL includes.
Minor view culling optimizations.
1998-06-03 00:47:50 +00:00
curt
3615dd708a Incremental additions to material.cxx (not fully functional)
Tweaked vfc_ratio math to avoid divide by zero.
1998-06-01 17:56:20 +00:00
curt
823c662ed4 Added material.cxx material.hxx 1998-05-30 01:56:44 +00:00
curt
922f9e9ba1 Implimented fragment level view frustum culling. 1998-05-24 02:49:09 +00:00
curt
4c1ec83f52 farting around with CVS ... 1998-05-23 14:49:58 +00:00
curt
26757b73b2 Derived file "Makefile.in" removed from version control. 1998-05-23 14:18:28 +00:00
curt
a1654d7c8d removed from version control. 1998-05-23 14:17:45 +00:00
curt
a60f1d812d Added tile.cxx and tile.hxx.
Working on rewriting the tile management system so a tile is just a list
fragments, and the fragment record contains the display list for that fragment.
1998-05-23 14:09:20 +00:00
curt
70fae724a7 Moved global ref point and radius (bounding sphere info, and offset) to
data file rather than calculating it on the fly.
Fixed polygon winding problem in scenery generation stage rather than
compensating for it on the fly.
Made a fgTILECACHE class.
1998-05-20 20:53:53 +00:00
curt
e57fd21bd3 Frist pass at view frustum culling now operational. 1998-05-17 16:59:34 +00:00