1
0
Fork 0
Commit graph

15 commits

Author SHA1 Message Date
curt
dae9b63a14 Nuked the segfault on exit bug everyone was seeing. The material lib could
have multiple ptrs to individual entries (aliases) but the destructor was
trying to delete every ptr so it would delete already freed memory for aliases.
I implimented a simple ref counting scheme (similar to the plib mechanism) to
track references to material lib entries and only "delete" them when the last
reference is removed.
2001-07-13 05:15:29 +00:00
curt
46b82360b0 Fixed a couple items for Norman's large resolution print routines. 2001-06-13 20:31:49 +00:00
curt
da33ab1cf8 Oops, fixed a bug introduced in the previous round that munged many
runway textures.
2001-06-12 22:24:52 +00:00
curt
b0b6c34249 Initial stab at a threaded tile loader contributed by Bernie Bright.
He writes:

Here are the final changes to add threads to the tile loading.  All the
thread related code is in the new FGTileLoader class.

./configure.in
./acconfig.h
Added --with-threads option and corresponding ENABLE_THREADS
definition.  The default is no threads.

./src/Scenery/tilemgr
Removed load_queue and associated references.  This has been replaced by
a new class FGTileLoader in FGNewCache.
Made the global variable global_tile_cache a member.
schedule_needed(): removed global_tile_cache.exists() tests since
sched_tile() effectively repeats the test.
initialize_queue(): removed code that loads tiles since this is now
performed by FGTileLoader.
update(): ditto

./src/Scenery/newcache
Added new class FGTileLoader to manage tile queuing and loading.
tile_map typedefs are private.
exists() is a const member function.
fill_in(): deleted
load_tile(): added.

./src/Scenery/FGTileLoader
The new threaded tile loader.  Maintains a queue of tiles waiting to be
loaded and an array of one or more threads to load the tiles.  Currently
only a single thread is created.  The queue is guarded by a mutex to
synchronize access.  A condition variable signals the thread when the
queue is non-empty.

CLO: I made a few tweaks to address a couple issues, hopefully what we
have is solid, but now we kick it out to the general public to see. :-)
2001-04-11 02:47:15 +00:00
curt
f1b1077d93 More fg -> sg namespace changes in simgear. 2001-03-25 14:20:12 +00:00
curt
182fd42b40 SG-ified logstream. 2001-03-24 06:03:11 +00:00
curt
8497f9b1ac FG_ to SG_ name changes. 2001-03-23 22:42:49 +00:00
curt
84440e9b5e Added support for specifying light coverage on a per material basis in the
materials file (contributed by David Megginson.)
2000-12-05 20:53:14 +00:00
curt
bb108c7917 Added a hardcoded "LIGHTING" material entry in the matlib.
Fixed a typo in creating textured ssg simple states.
Start looking at a faster method for generating surface lighting based on the
scenery triangles.
2000-12-04 05:23:06 +00:00
curt
445c4bbdb1 I guess we have to ref() ssgStateTable as well as ssgSimpleState. 2000-10-18 07:03:49 +00:00
curt
806511bd99 Added ref() count increment calls to all ssgSimpleState creation to prevent
them from being delete by ssg once nothing in the scene graph points to them.
2000-10-18 00:48:12 +00:00
curt
b48424236b Tweaks relating to texture repeating effects for runways and disabling mipmaps
(experimental).
2000-09-06 00:10:50 +00:00
curt
faeb25940e Add support in materials file for non-repeating textures. 2000-08-25 05:53:12 +00:00
curt
4c72f1df98 Updates to cloud code to add different basic cloud types. This isn't the
final list of cloud types, but servers as an example / template for someone
who wants to tweak this out and do it right.
2000-06-23 04:55:55 +00:00
curt
33bfe7587d Rewrites of material.[ch]xx and materialmgr.[ch]xx 2000-06-23 02:59:03 +00:00