1
0
Fork 0
Commit graph

88 commits

Author SHA1 Message Date
curt
e03752883e Unconvoluted around line #130 2001-04-11 20:09:23 +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
191bb3956a Updates from Bernie Bright to massage tile loading around to make it
slightly more conducive to future threading.
2001-03-29 01:42:31 +00:00
curt
f1b1077d93 More fg -> sg namespace changes in simgear. 2001-03-25 14:20:12 +00:00
curt
f380595144 fg_zlib.h -> sg_zlib.h 2001-03-24 14:12:00 +00:00
curt
182fd42b40 SG-ified logstream. 2001-03-24 06:03:11 +00:00
curt
17c96ae69e SG_ namespace 2001-03-24 04:48:44 +00:00
curt
5958389026 FG_ to SG_ namespace changes. 2001-03-23 22:59:18 +00:00
curt
8497f9b1ac FG_ to SG_ name changes. 2001-03-23 22:42:49 +00:00
curt
7191e8b810 Tweaks to PLIB version detection. 2001-03-14 23:38:34 +00:00
curt
e977778527 Fixed a problem with the object loader ignoring custom texture dimensions
specifiec in the materials file.
2001-01-29 04:36:46 +00:00
curt
576432ec75 David Megginson writes:
FGOptions is history, and the modules are (starting) to use the property
manager directly.  Let me know if I left any files out.

Inevitably, there will be some problems with broken options, etc.,
that I haven't found in my tests, but I'll try to fix them quickly.
We also need to stress that the property names currently in use are
not stable -- we need to reorganize them a bit for clarity.
2001-01-13 22:06:39 +00:00
curt
a701a2be4a Debugging output tweaks. 2001-01-13 00:14:47 +00:00
curt
5bfca5eff8 Removed some debugging output and added some optimizations. 2001-01-12 22:47:41 +00:00
curt
690d2ac3e8 Tweaks for new SGBinObject interface. 2001-01-06 05:31:45 +00:00
curt
49fc684885 Tweaks to binobj reader interface. 2001-01-06 05:09:40 +00:00
curt
ba8f62a540 Added support for loading binary object files. 2001-01-05 01:07:10 +00:00
curt
1db7986e0e Added a scenery version check so we will die if the program tries to load
scenery that is newer than we know how to handle.
2001-01-03 19:00:55 +00:00
curt
95d6d93bed Renamed FGBucket -> SGBucket. 2000-12-13 20:36:04 +00:00
curt
da97ac5b9f Tweaks. 2000-12-13 17:56:43 +00:00
curt
5fecec2bba More night ground lighting tweaks. 2000-12-06 22:16:12 +00:00
curt
40d68c5627 Tweaks to get lights to fade in quantity-wise as well as brightness-wise. 2000-12-06 13:57:29 +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
3ec542d18f Faster triangle area routine contributed by Norman Vine. 2000-12-05 20:20:57 +00:00
curt
90d30b023e Generate a set of ground lights when loading a scenery tile. 2000-12-04 22:35:38 +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
b1fbb16b9d Increased FG_MAX_NODES to 4000 2000-11-23 15:48:21 +00:00
curt
7715f7d872 Support aliasing one material name to another. 2000-11-03 20:21:43 +00:00
curt
01c44cbb99 Code clean ups relating to FGOptions ... and moved it into globals-> space. 2000-10-19 21:24:43 +00:00
curt
ce574d59f5 The following changes were made to flightgear-0.7.5 code to implement the follow
ing features:

a) ADA Flight model - ADA.cxx, ADA.hxx, flight.hxx
b) Fighter a/c HUD       - flight.hxx, hud.hxx, hud.cxx, cockpit.cxx, hud_ladr.c
xx, hud_card.cxx
c) 3-window display      - options.hxx, options.cxx, viewer.cxx
d) Moving objects (ship) - main.cxx
e) Patches               - main.cxx

ADA.cxx, ADA.hxx
--------------------------
Interface to the external ADA flight dynamics package.

flight.hxx
----------
Included prototypes for accepting additional data fron the External flight
model for fighter aircraft HUD

Hud.hxx
-------
Included prototypes for accepting additional data for fighter HUD from Exernal F
light model.
Defined FIGHTER_HUD pre-processor directive to enable compilation of fighter hud
 code.

hud.cxx, cockpit.cxx, hud_ladr.cxx, hud_card.cxx
---------------------------------------
Included code to initialise additional reticles/text for fighter HUD which is co
nditionally
compiled if FIGHTER_HUD is defined.

options.hxx
-----------
Added window_offset, and function to retrieve its value for 3 windows

options.cxx
-----------
Changed few options to suit ADA/CEF projection system/screens and checks for win
dow offset.

views.cxx
---------
Added code to retrieve view offset for window.

Main.cxx
--------
Added code to load and move an aircraft carrier.
Patch to enable clouds from command line until Curtis fixes it. By default cloud
s are disabled.
2000-10-19 19:46:13 +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
f6fac40a11 David Megginson writes:
I have a scrollable panel working (it didn't take long in the end).  A
panel can now be much wider or higher than the available area, and the
user can scroll around using [Shift]F5, [Shift]F6, [Shift]F7, and
[Shift]F8.  The user can also scroll the panel down to get a bigger
external view.  Mouse clicks seem still to be working correctly.

To set the panel's (virtual) height and width, use the panel file's /w
and /h properties in a panel XML file; to set the initial x- and y-
offsets (untested), use the panel file's /x-offset and /y-offset
properties; to set the initial height of the external view (untested
and optional), use the panel file's /view-height property.  Note that
none of these show up in the regular FGFS property manager.

Unfortunately, these patches will not affect your initialization
problems with the property manager -- I'm having a hard time tracking
them down because I cannot reproduce them.

I have also made some patches to main.cxx and views.cxx to do two
things:

1. Expand or shrink the external view as the panel moves up and down.

2. Set the window ratio correctly, so that we don't get an oval sun
   and flat clouds when the panel is visible (the problem before was
   integer division, so I added casts).

Unfortunately, the window ratio is not set properly at start-up --
there are too many dependencies, and I haven't figured that part out
yet.  As soon as you hide and redisplay the panel or move it
vertically (i.e. force fgReshape to be called), you'll see the correct
ratio.
2000-10-06 21:16:01 +00:00
curt
4e3abe851b Trial support for texture sets with varying resolution. 2000-10-04 20:51:57 +00:00
curt
32528d0cd6 A bit of fg->sg namespace changing. 2000-09-27 20:16:22 +00:00
curt
bf14bb1151 Fixes for MSVC++ issues. 2000-09-21 22:59:27 +00:00
curt
e891774a8c builddir -> srcdir so builds can be done outside the master source directory. 2000-09-20 23:27:25 +00:00
curt
655ce0e20d MACOS -> macintosh 2000-09-10 00:04:50 +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
curt
39ae3864de Cleaned up all the old fragment and material_mgr stuff which originated
from the pre-ssg / render everything ourselves days.  Replaced with a
material library manager that is much better suited for working in the
context of ssg.  This simplified and cleaned up a ton of old junk.
2000-06-23 00:30:04 +00:00
curt
2d4cd1b24d Added support back in for raw triangle faces in the object file. 2000-06-06 00:33:30 +00:00
curt
838c4a684c A few enhancements to allow object definitions to reference new textures
on the fly.
2000-06-02 23:37:40 +00:00
curt
a371fe4e6d Minor fiddling with material properties *trying* to chase down a visual bug
where the scene get's brighter or dimmer depending on whether or not the sun
or moon is in the field of view.
2000-06-01 21:14:06 +00:00
curt
b074559216 MSVC5 portability changes contributed by Bruce Finney. 2000-05-24 06:10:01 +00:00
curt
a9f48c0dac Rendering tweaks. 2000-03-17 06:16:15 +00:00
curt
b00c41ab45 Slight updates to material properties. 2000-03-16 04:15:47 +00:00
curt
8d27e09b91 Pass NULL for ColourArray when creating cloud objects. 2000-03-06 23:28:52 +00:00