1
0
Fork 0
Commit graph

473 commits

Author SHA1 Message Date
ThorstenB
e5b81a8bb6 Minor pointer safety and compiler warning issues. 2012-09-25 22:10:06 +02:00
James Turner
649d579124 Helpers to access view position.
Avoid direct use of FGViewer in various places, by providing property-based accessors to the current view position.
2012-09-25 10:06:56 +01:00
ThorstenB
a2cfef95fb Minor tile manager clean-up.
The tilemgr schedules scenery, so it should also trigger the
"sceneryloaded" signals once it's done.
2012-09-24 23:42:25 +02:00
Mathias Froehlich
26664aaff0 Push SGMaterial use into these classes that need it. 2012-08-29 06:29:29 +02:00
Mathias Froehlich
7e97a4c693 Fix compile of simgear headless past bvh rework. 2012-08-27 17:58:25 +02:00
Mathias Froehlich
e3ad3d3a07 bvh: Adapt to upstream bvh changes in simgear. 2012-08-24 21:24:12 +02:00
James Turner
8a087582bc Whoops, case-sensitivity matters on Linux. 2012-08-22 00:53:48 +01:00
James Turner
588eba658a Make some include dependencies explicit. 2012-08-22 00:07:53 +01:00
Stuart Buchanan
5e3ec6209c Add command to reload materials definitions. Note that this explicitly
does not attempt to delete the old materials definitions, as they
may be in use at the time.
2012-07-19 22:06:08 +01:00
Frederic Bouvier
622c10b8f9 The terrain branch can contain models having lights 2012-06-11 09:14:23 +02:00
Frederic Bouvier
d84f48cc0c Get more fps in Rembrandt: don't redraw the terrain in the lighting stage. Should also fix the green z-fight that occurs on terrain with some camera directions. 2012-06-10 22:29:16 +02:00
Frederic Bouvier
75fc136931 Remove redundant inclusion of math/SGMath.hxx 2012-05-05 11:20:04 +02:00
ThorstenB
89b41395d8 Move viewer-related sources to separate folder.
Simple source directory clean-up, so "Main" folder contains fewer stuff
and the list of files in the editors a lot shorter.
2012-04-25 23:28:00 +02:00
ThorstenB
d683d39e85 Fix SceneryPager destruction sequence.
SceneryPager singleton must not be removed while FGScenery is still alive,
so hold a reference to it in FGScenery, saving the pager from being
deleted first.
2012-04-15 15:30:44 +02:00
ThorstenB
da2ee04eea Fix scenery reload issues.
Aircraft could fall through the ground on scenery reload.
2012-04-07 16:35:04 +02:00
ThorstenB
9effb06047 Fix scenery reload issues.
Aircraft could fall through the ground on scenery reload. Properly reset
the "sceneryloaded" flag to pause FDM processing while scenery is being
reloaded. Also stop processing some instruments while scenery is reloaded.
2012-04-07 16:20:22 +02:00
ThorstenB
5ef15023fc Properly drop empty tiles from tile cache.
Tiles which expired before being loaded could clog the tile cache.
2012-03-28 23:03:13 +02:00
ThorstenB
f14ca9c611 tilemanager: initialize member variables
Also drop some obsolete members.
2012-03-26 21:11:03 +02:00
Mathias Froehlich
1ddb658a70 scenery: Move flightgears paging back into the application.
This way of scenery paging is really application code.
Now that the simgear stg loader is seperated from the paging
code, this appication specific paging can reside here.
May be at some time also use the spt stuff here.
2012-03-15 20:56:37 +01:00
Mathias Froehlich
44c716bb03 scenery: The tile entries load callback is not needed anymore.
The stg loader can do this itself.
2012-03-15 19:39:07 +01:00
Mathias Froehlich
8d3e1b06be Remove /sim/paths/use-custom-scenery-data.
Scenery people tell me that this is always set to true
today. Thus we can remove this property as this allows
me for some further osg loader cleanups.
2012-03-15 18:48:57 +01:00
ThorstenB
17590ba436 Fix another line lost in a merge conflict. 2012-02-07 21:12:51 +01:00
ThorstenB
ff14ddf914 Fix missing declaration. 2012-02-07 19:32:55 +01:00
ThorstenB
578df0f484 #553: decouple OSG callbacks from Nasal subsystem 2012-02-06 22:19:33 +01:00
ThorstenB
33c63a6d72 This 'fixes' #613 but partly re-introduces #553. 2012-02-06 22:12:58 +01:00
ThorstenB
7b83b49260 Oops... 2012-01-29 10:44:28 +01:00
ThorstenB
3e08e5ecfe Minor clean-up. 2012-01-29 10:34:11 +01:00
ThorstenB
59d400d58b Temporarily disable Nasal callbacks in lazily loaded scenery models
to avoid segfaults due to multi-threading issues. Will need to be replaced
by proper fix, if this proves Nasal related segfaults to be fixed.
2012-01-08 13:31:49 +01:00
ThorstenB
dcaf3d9aea Avoid spamming the log output
Stop printing "State == Running" debug messages in every update loop
(makes "--log-level=debug" a lot more usable)
2011-12-17 15:22:50 +01:00
Mathias Froehlich
42fb9b8e9f Consolidate the different ReaderWriterOptions classes. 2011-11-13 18:34:53 +01:00
ThorstenB
318e7ac773 Untangle subsystems by replacing direct TileCache call with callback. 2011-11-13 15:47:52 +01:00
ThorstenB
7aae4484d1 Fixed typo. 2011-11-10 22:10:51 +01:00
Mathias Froehlich
ec16f43f86 Use deferred models for scenery tile models.
Instead of PagedLOD nodes use ProxyNodes for models in
scenery tiles. This should lower the amount of PagedLOD nodes
in the active scene. Since the models are part of the to level
tiles they are then paged out once the tile is paged out.
2011-11-08 21:25:10 +01:00
James Turner
70b4f38ebc Goodbye automake. 2011-11-01 11:15:53 +00:00
James Turner
b1b4b7ecf4 Fix (nearly) all the std:: namespace violations in headers, in preparation for fixing SGsmplstat.hxx to *not* do a 'using namespace std'. 2011-10-17 17:41:59 +01:00
ThorstenB
741efe2efb Attempt to tidy up the search path mess (noticed by TorstenD)
When a model is not found in the custom scenery directories, load data
from base-package (instead of trying to access file "").
Also allow paged models to be loaded from custom scenery folders.
2011-09-04 11:09:21 +02:00
ThorstenB
cf2236351c Avoid some useless file accesses
Empty "markers" in between scenery search paths shouldn't be
considered when building search paths.
2011-08-20 23:13:27 +02:00
ThorstenB
e9a9f8c96d Use some more logging class variety.
Stop using SG_GENERAL and SG_ALL everywhere. Using different
classes makes switching the classes really useful...
2011-08-12 00:09:26 +02:00
Mathias Froehlich
fc38d69823 Fixes #397: YASim aircraft start at >32000ft instead of runway
The usual 'modify code before checkin but past testing' Problem.
Return the elevation of the intersection result instead of the
elevation of the querys start point.
2011-08-08 19:12:14 +02:00
Mathias Froehlich
2c24b1da17 Use the bv tree leafs for altitude queries.
Make use ot the bounding volume tree nodes already
present in the scenegraph for the ground cache for
scenery intersection and elevation queries.
2011-08-07 11:12:45 +02:00
Durk Talsma
5228053f7f Merge branch 'next' into durk-atc 2011-07-24 08:44:22 +02:00
James Turner
1c8d8e7908 More CMake headers support 2011-07-19 07:58:03 +01:00
ThorstenB
80f9092460 Fix issue reported by heap debugger
Subsystems are erased by the subsystem manager - so better avoid
dependencies in their destructors.
2011-07-14 00:22:35 +02:00
Durk Talsma
f8a8805e2d Merge branch 'next' into durk-atc 2011-07-01 22:20:40 +02:00
ThorstenB
d767fe1696 Avoid compiler warning. 2011-06-12 13:45:10 +02:00
ThorstenB
ee40e8ae3f Introduce terrasync subsystem.
Fix tile reloading issue.
2011-06-12 00:44:07 +02:00
ThorstenB
fb52b013f0 Clear OSG object cache on scenery reload
Scenery reload (menu: Debug-> Reload Scenery) also needs to clear the OSG
object cache, otherwise scenery isn't really reloaded from disk.
2011-04-15 21:34:44 +02:00
Durk Talsma
ee9a5cf73d Merge branch 'next' into durk-atc 2011-04-17 10:21:09 +02:00
Durk Talsma
65e87bf2f8 Added some code to visualize the ground networks. 2011-04-17 10:19:58 +02:00
Tim Moore
9c98258ab0 Merge branch 'releases/2.2.0' into next
Conflicts:
	CMakeModules/FindSvnClient.cmake
	src/FDM/JSBSim/JSBSim.cxx
2011-02-15 13:26:24 +01:00
Tim Moore
c5366cceb6 accomodate changes to osgDB::DatabasePager interface
The change was introduced in OSG SVN revision 12080. Note: that
revision has a bug that causes fgfs to crash. The bug is fixed in
revision 12170.
2011-02-15 12:42:53 +01:00
ThorstenB
7bc9749d91 Support scenery reloading (needs simgear update).
TileMgr subsystem reinit: remove all scenery tiles from scenegraph and
clear cache (simgear update required).
"normal" sim resets: no TileMgr reset is needed (avoid reloading scenery).
2011-02-13 19:26:55 +01:00
ThorstenB
4a351fdd8b Update tile loader options whenever its config properties change
New listener for tile-loader properties.
2011-02-13 19:26:44 +01:00
James Turner
a91ec5f9f9 Initial work on CMake build files, with considerable help from Olaf Flebbe. 2010-12-19 15:06:04 +00:00
Tim Moore
4b2436a4e5 remove call to function removed in OSG 2010-11-30 12:01:52 +01:00
ThorstenB
44901ae86f Tile manager improvements
Priority scheme for tile loading/removing
Cleaner tile manager interface for AI/groundcache/...
Reduce start-up delay. Drop splash screen when inner scenery is available.
Be nice to osg loader: slow-down main loop while initial scenery is still loading.
2010-11-19 13:59:43 +01:00
Christian Schmitt
0a5e86f4e6 remove old .cvsignore files 2010-11-11 01:16:29 +01:00
Tim Moore
dba471519f Thorsten Brem's patches for bug 122
Fixes teleporting problems and disappearing tiles.
2010-10-03 08:35:12 +02:00
James Turner
0beab94cb5 Make the tile-manager a well-behaved SGSubsystem 2010-10-01 19:09:19 +01:00
James Turner
9604908a8d Remove all (2) uses of simgear/math/vector.h from FlightGear. 2010-07-23 13:26:07 +01:00
Tim Moore
3abe700dc8 Move the property expression code back to simgear. 2009-12-20 10:34:07 +01:00
ehofman
a3af4ed1d8 make it compile again 2009-10-12 12:53:22 +02:00
durk
b40321380d New feature: Allow the loading of shared models that are not located inside
the base package, but are maintained in the SVN repository of the custom
scenery project.
2009-10-06 07:27:39 +02:00
frohlich
2f6107982c Use the new vector conversion functions.
Modified Files:
	src/FDM/groundcache.cxx src/Main/renderer.cxx
	src/Main/viewer.cxx src/Scenery/scenery.cxx
2009-09-09 08:56:31 +02:00
frohlich
5c56757303 Move dynamic_casts to EffectGeode into the findMaterial method.
Modified Files:
	src/Scenery/scenery.cxx
2009-09-09 08:56:31 +02:00
frohlich
690231ff64 Fix a problem introduced with the past vector changes.
Fix a potential nan problem with the scenery_available method.

Modified Files:
	src/Scenery/scenery.cxx
2009-09-09 08:56:31 +02:00
frohlich
93d2f8a963 Correct logic to determine if we really have a hit.
Modified Files:
	src/Scenery/scenery.cxx
2009-09-09 08:56:31 +02:00
frohlich
aac4bec5c7 Add a possible node not to visit.
Modified Files:
	scenery.cxx scenery.hxx
2009-08-08 08:37:14 +02:00
fredb
94caa0b891 Fix case typo 2009-07-27 23:52:33 +02:00
fredb
9718338560 Compile under MSVC9 2009-07-27 23:52:33 +02:00
timoore
e2b21c1e0c Property predicate for techniques 2009-07-16 12:10:48 +02:00
timoore
d7a07bdd58 Find material from EffectGeode and Effect
The scenery now uses the Effect class.
2009-07-16 12:10:48 +02:00
frohlich
f291636ee4 Remove unused header.
Modified Files:
 	src/Scenery/scenery.cxx
2009-06-11 16:05:19 +02:00
Tim Moore
70be1629e6 Merge branch 'maint' into next 2009-05-18 12:23:33 +02:00
frohlich
047af7dec4 Make flightgear compile with todays osg trunk.
Modified Files:
	src/Scenery/SceneryPager.cxx src/Scenery/SceneryPager.hxx
	src/Scenery/tilemgr.cxx
2009-05-16 17:15:03 +02:00
frohlich
a99ea1c7b5 Port over remaining Point3D usage to the more type and unit safe SG* classes.
Remove leftover headers from plib/sg.

Modified Files:
 	src/AIModel/AIBase.cxx
 	src/AIModel/AIFlightPlanCreateCruise.cxx
 	src/ATCDCL/AIEntity.cxx src/ATCDCL/AIEntity.hxx
 	src/ATCDCL/AIGAVFRTraffic.cxx src/ATCDCL/AIGAVFRTraffic.hxx
 	src/ATCDCL/AILocalTraffic.cxx src/ATCDCL/AILocalTraffic.hxx
 	src/ATCDCL/AIMgr.cxx src/ATCDCL/ATC.hxx
 	src/ATCDCL/ATCDialog.cxx src/ATCDCL/ATCProjection.cxx
 	src/ATCDCL/ATCProjection.hxx src/ATCDCL/ATCutils.cxx
 	src/ATCDCL/ATCutils.hxx src/ATCDCL/approach.cxx
 	src/ATCDCL/commlist.cxx src/ATCDCL/ground.cxx
	src/ATCDCL/ground.hxx src/ATCDCL/tower.cxx
 	src/ATCDCL/tower.hxx src/Airports/calc_loc.cxx
 	src/Airports/dynamics.cxx src/Airports/groundnetwork.cxx
 	src/Airports/parking.cxx src/Airports/runwayprefs.cxx
 	src/Airports/simple.cxx src/Cockpit/cockpit.cxx
 	src/Cockpit/hud.hxx src/Cockpit/hud_card.cxx
 	src/Cockpit/hud_rwy.cxx src/Environment/environment.cxx
 	src/FDM/UFO.cxx src/FDM/SP/MagicCarpet.cxx src/GUI/dialog.hxx
 	src/Instrumentation/HUD/HUD.hxx
 	src/Instrumentation/HUD/HUD_runway.cxx
 	src/Instrumentation/KLN89/kln89.cxx src/Main/fg_init.cxx
 	src/Main/viewer.cxx src/Main/viewmgr.cxx
 	src/Model/panelnode.cxx src/MultiPlayer/mpmessages.hxx
 	src/Scenery/tilemgr.cxx src/Traffic/SchedFlight.cxx
 	src/Traffic/TrafficMgr.cxx
2009-03-18 08:00:08 +01:00
frohlich
7e73a87882 Improove FGTileMgr::scenery_available for small ranges.
Use SGGeod in FGTileMgr, FGScenery apis.

Modified Files:
	src/AIModel/AIBallistic.cxx src/Main/main.cxx
	src/Scenery/scenery.cxx src/Scenery/scenery.hxx
	src/Scenery/tilemgr.cxx src/Scenery/tilemgr.hxx
	src/Scripting/NasalSys.cxx
2009-03-18 08:00:07 +01:00
frohlich
b125315e50 Avoid SGLocation usage.
Again, the previous commit did not complete for some reason.

Modified Files:
        configure.ac src/AIModel/AIBase.cxx
        src/ATCDCL/AILocalTraffic.cxx src/FDM/Makefile.am
        src/FDM/flight.hxx src/FDM/LaRCsim/LaRCsim.cxx
        src/Main/Makefile.am src/Main/fg_init.cxx src/Main/main.cxx
        src/Main/viewer.cxx src/Main/viewer.hxx
        src/Scenery/tilemgr.cxx src/Scenery/tilemgr.hxx
2009-03-11 23:14:34 +01:00
frohlich
85be5659a7 Remove SGLocation based api.
Modified Files:
	src/Scenery/tilemgr.cxx src/Scenery/tilemgr.hxx
2009-03-11 23:14:34 +01:00
frohlich
1845a95fd3 Add scenery functions working on SGGeod in place of SGLocation. 2009-03-11 23:14:33 +01:00
frohlich
fc35624a4f Use that static material function instead of the member one.
Modified Files:
 	src/FDM/groundcache.cxx src/Scenery/scenery.cxx
2009-02-27 23:42:34 +01:00
Tim Moore
0603aba9ae Merge branch 'tbm/graphics-bug' into next 2009-01-04 00:03:26 +01:00
timoore
ada7f622d7 Change the order of the main cameras from NESTED_RENDER to POST_RENDER
This seems to be accepted OSG usage for slave cameras. It's possible
that this order is important for rendering instruments that use RTT
textures on systems without frame buffer object support. I'm thinking
that the resulting bugs may be implicated in the "black rectangle" problem.
2009-01-03 23:56:03 +01:00
jmt
0f4f044a94 Kill off many Point3D includes, and a couple of uses in the HUD code.
Requires a SimGear update to get some new SGGeodesy helpers.
2008-12-26 12:28:05 +00:00
timoore
77318b23a5 msg 2008-11-25 22:49:19 +00:00
timoore
4f4434787f Cleanup of camera code in preperation for shadows
Partition depth in CameraGroup:
Remove the ViewPartionNode scenegraph node. The split rendering of the
scene, done to avoid Z buffer precision problems, is now done by two
slave cameras of the viewer.

Rename FGManipulator to FGEventHandler.

Remove virtual member functions that aren't required for event handlers.

Begin using camera group properties to update cameras at runtime;
Initially only the viewport properties are used.

When no camera group is found in the property tree (the default),
create the properties for one. Expose the default window by name.

Add a test for Boost headers to configure.ac. Boost is now a
dependency.

Remove GLUT and SDL versions of the OSG graphics.
2008-11-18 22:45:57 +00:00
timoore
6f802959ce CameraGroup class for managing multiple cameras.
CameraGroup supports cameras opened in different windows or in the
same window, with flexible view and perspective specification.

Clean up mouse click handling via osgViewer. Don't let any camera
"have focus;" this forces events to be reported in window coordinates
and simplifies life. Don't use the osgViewer::View::requestWarpPointer
method; instead use our own code which only deals with window
coordinates.

Make glut and sdl versions work with CameraGroup too.
2008-08-01 15:57:29 +00:00
timoore
5d5b1f3ca4 One more try at the osg 2.5.1 pager fix 2008-06-03 07:32:03 +00:00
timoore
97d86e10f7 Fix typo in DatabasePager interface changes for OSG 2.4 2008-06-03 05:36:19 +00:00
timoore
8d1c97d94b Changes for new DatabasePager interface in OSG 2.5.1 2008-06-02 21:10:13 +00:00
timoore
4dea9807f6 fg: move most scenery-related code to simgear
From Till Busch.
2008-05-14 22:10:07 +00:00
mfranz
a04d4cbed6 Till BUSCH:
"the [...] patch (for fg) increases the time before invisible geometry (i.e.
geometry not inside the view frustrum) gets deleted. default was 10 seconds
which i am increasing to 2 minutes."
2008-04-25 08:43:59 +00:00
timoore
fd492a297a model paging patch from Till Busch
From Till:
i started the project at the end of february with a simple idea: move all
3d-model loading to the DatabasePager-thread. my first attempts looked
promising, though they were a little too optimistic (or naive?). the patch
has evolved a lot since.

currently it does the following things:
1. revive SGModelLib, move functions for xml-model-loading there

2. replace all calls to sgLoad3dModel with calls to either
SGModelLib::loadModel() or SGModelLib::loadPagedModel()
almost all models will be loaded by the DatabasePager. the few exceptions are:
your own plane, shared models in scenery, random objects, AIBallistic models.

3. simplify mode-loading functions (avoid passing around fg_root)

4. avoid supurious MatrixTransform nodes in loaded models

5. fix some memory leaks
2008-03-22 09:31:06 +00:00
timoore
b8de58bcdd cleanup of precipitation contribution
Reindent to Stroustrup style.

Make FGPrecipitationMgr an SGSubsystem and remove all references to it
in main.cxx and renderer.cxx.

Use SGGeod::makeZUpFrame instead of a private function in
tileentry.cxx. Rewrite that function, WorldCoordinate, to use
makeZUpFrame too.
2008-03-04 09:03:54 +00:00
timoore
eb26cb3590 precipitation effects from Nicolas Vivien 2008-03-04 09:02:24 +00:00
timoore
72a42c2240 Cleaned up comments to tile entry code 2008-02-21 22:50:05 +00:00
curt
c3ee389fe0 Till Busch:
As discussed with Tim on irc: Here is a quick fix for the memory-hungry tile
manager. Due to bugs in FGNewCache, old tiles were never deleted.

I left the timestamp-updates in the cull-traversal. but imho things work
just as well when timestamps are updated in FGNewCache::insert_tile() and
FGNewCache::get_tile()
2008-02-21 21:36:20 +00:00
timoore
f6723429a0 Toggle tree effect on /sim/rendering/random-vegetation property 2008-02-07 23:02:51 +00:00
timoore
853e371d1e Fix for "falling through ground" problem
The LOD far range on the tile entry scenegraph node was initialized to
0. This meant that any traverals of active children that happened
before the tile manager updated the node would ignore the node
altogether. Among these is the groundcache traversal which was failing
at startup even though scenery was loaded.

Also added a function to dump scene graph nodes to files; very handy
in gdb.
2007-12-20 23:20:51 +00:00
timoore
f105f47e91 Added copyright to SceneryPager. Removed FGTileLoader 2007-12-15 06:01:24 +00:00