mfranz [Sat, 12 Jul 2008 15:31:29 +0000 (15:31 +0000)]
s/getChild/getNode/ (otherwise "start/size" wouldn't work)
mfranz [Sat, 12 Jul 2008 14:06:11 +0000 (14:06 +0000)]
- XML interface changes:
* condition at top level
* <start|end>/<color|size> hierarchy
* wind/gravity -> bool
* rename some properties (rotspeed -> rotation-speed, etc.)
* unit suffixes
- remove redundant code
- warnings--
mfranz [Thu, 10 Jul 2008 10:33:32 +0000 (10:33 +0000)]
fix SGPropertyNode::LAST_USED_ATTRIBUTE
mfranz [Wed, 9 Jul 2008 17:31:55 +0000 (17:31 +0000)]
write-protection warning: use simplified path
mfranz [Wed, 9 Jul 2008 16:17:52 +0000 (16:17 +0000)]
let readProperties() refuse to overwrite write-proteced properties
mfranz [Sun, 22 Jun 2008 18:07:50 +0000 (18:07 +0000)]
remove redundant #defines (they are already in compiler.h)
timoore [Thu, 12 Jun 2008 08:14:40 +0000 (08:14 +0000)]
From Benoit Laniel: replace SG threading constructs with those from OpenThreads
Also, move any static local mutexes up to global level.
fredb [Sun, 8 Jun 2008 16:45:13 +0000 (16:45 +0000)]
Update MSVC 7.1 projects
mfranz [Sat, 7 Jun 2008 14:45:22 +0000 (14:45 +0000)]
warnings--
timoore [Mon, 2 Jun 2008 20:26:07 +0000 (20:26 +0000)]
add OSGVersion.hxx to VC7.1 project file
timoore [Mon, 2 Jun 2008 20:22:16 +0000 (20:22 +0000)]
OSG DatabasePager interface change in 2.5.1
Move OSG version macro from FlightGear to simgear
timoore [Mon, 2 Jun 2008 20:21:50 +0000 (20:21 +0000)]
Replace header files istream and ostream with iosfwd
timoore [Mon, 2 Jun 2008 20:21:27 +0000 (20:21 +0000)]
Don't include <iostream> and "using" declarations in header files
<iostream> sucks in expensive initialization of the standard streams
and isn't appropriate in a header file. Use <istream> and <ostream>
instead.
using declarations should never appear at global scope in a header
file; source files get to decide what they want to use in their
namespace.
fredb [Sun, 1 Jun 2008 17:25:05 +0000 (17:25 +0000)]
Fix non threadsafe code
fredb [Sat, 31 May 2008 12:08:17 +0000 (12:08 +0000)]
Report abnormal condition
fredb [Sat, 31 May 2008 12:06:30 +0000 (12:06 +0000)]
Update MSVC 7.1 projects
fredb [Sat, 31 May 2008 12:05:11 +0000 (12:05 +0000)]
Fix a problem in loading models with paged LOD in some circunstances ( debug with MSVC for instance )
fredb [Sat, 31 May 2008 10:02:43 +0000 (10:02 +0000)]
Use bool instead of int to represent boolean values
mfranz [Wed, 21 May 2008 14:51:39 +0000 (14:51 +0000)]
xmlsound: warning--
mfranz [Wed, 21 May 2008 14:47:06 +0000 (14:47 +0000)]
add <delay-sec> parameter that defines how many seconds after triggering
the sound should be played (default: 0)
mfranz [Mon, 19 May 2008 15:17:55 +0000 (15:17 +0000)]
update library version requirements
fredb [Thu, 15 May 2008 06:19:15 +0000 (06:19 +0000)]
Win32 fix
timoore [Wed, 14 May 2008 22:07:50 +0000 (22:07 +0000)]
sg: move most scenery-related code to simgear
From Till Busch
mfranz [Thu, 1 May 2008 12:21:52 +0000 (12:21 +0000)]
Till BUSCH: enable HOT intersection tests on random buildings
mfranz [Sat, 26 Apr 2008 15:25:29 +0000 (15:25 +0000)]
Nicolas: let SGPath::create_dir() return success/failure (for screenshot)
mfranz [Fri, 25 Apr 2008 08:41:29 +0000 (08:41 +0000)]
Till BUSCH:
"tim recently noticed the database pager was repeatedly loading and unloading
the same objects. he also tracked down the problem to missing bounding sphere
information in osgDB::PagedLOD. this is a simplicistic approach to fix this:
SGPagedLOD will now remember whatever value it sees for getBound() after
loading a child. this patch will make database pager run much calmer."
timoore [Thu, 24 Apr 2008 22:06:06 +0000 (22:06 +0000)]
Fix new livery code
It turns out that the database pager causes the texture image to be
unloaded after it is applied, so the image and its file name may not
be available for doing the livery substitution. Ask a work around we
set the name of the texture to its file name.
fredb [Wed, 23 Apr 2008 22:09:23 +0000 (22:09 +0000)]
Update MSVC 7.1 projects
timoore [Wed, 23 Apr 2008 18:13:50 +0000 (18:13 +0000)]
Rewrite livery texture replacement to copy StateSet objects
Also, add a NodeAndDrawableVisitor that descends into osg::Drawable.
That motivation for this is that it's a bad idea to modify state sets
that the osgDB::SharedStateManager might be keeping.
mfranz [Wed, 23 Apr 2008 12:28:45 +0000 (12:28 +0000)]
Till BUSCH:
this is a small (-1/+3) patch to fix pick animations on scenery objects.
since picking apparently doesn't care for polygon offsets, the objects
got into the picklist in the wrong way. now, no matter if the "highlight
group" or the "normal group" gets hit first, the callback will fire.
timoore [Mon, 14 Apr 2008 21:44:21 +0000 (21:44 +0000)]
rewrite of sky dome code
Add more points to the dome, giving it a dome shape rather than a
dunce cap shape.
Represent as OpenGL DrawElements instead of as triangle strips.
Only calculate have the sky colors and reflect those across the dome.
fredb [Mon, 14 Apr 2008 06:27:26 +0000 (06:27 +0000)]
Update MSVC 7.1 projects
timoore [Sun, 13 Apr 2008 21:11:44 +0000 (21:11 +0000)]
Fixes for compiling with gcc 4.3
Include standard header files and qualify with std:: where needed.
Add "const" to various char parameters and variables.
fredb [Wed, 2 Apr 2008 22:25:12 +0000 (22:25 +0000)]
Allows to load submodels with path relative to current model path.
Submodel path must be prefixed by ./ otherwise path is relative to fg_root ( current behavior )
timoore [Mon, 24 Mar 2008 21:41:30 +0000 (21:41 +0000)]
Change the tile light group node mask to traverse VASI lights too.
The change to set the light group node mask to LIGHTS_BITS caused
VASI/PAPI lights to not be displayed during the day. This patch fixes
that and optimizes VASI creation a bit.
fredb [Sat, 22 Mar 2008 11:39:01 +0000 (11:39 +0000)]
Update MSVC 7.1 projects
fredb [Sat, 22 Mar 2008 11:38:50 +0000 (11:38 +0000)]
Win32 fix
timoore [Sat, 22 Mar 2008 09:30:26 +0000 (09:30 +0000)]
model paging patch from Till Busch
Comments 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
mfranz [Thu, 20 Mar 2008 17:20:54 +0000 (17:20 +0000)]
- warnings--
- make one-shot sounds subject to volume and pitch control (To get
constant volume/pitch during the whole lifetime, just *configure*
the sound that way.)
timoore [Mon, 17 Mar 2008 08:46:23 +0000 (08:46 +0000)]
rationalize node masks a bit
curt [Sat, 15 Mar 2008 16:33:49 +0000 (16:33 +0000)]
argh, missed 1.8.4 in one spot.
curt [Sat, 15 Mar 2008 16:32:36 +0000 (16:32 +0000)]
Simgear also enforces plib-1.8.5 in order to build.
timoore [Tue, 11 Mar 2008 13:44:43 +0000 (13:44 +0000)]
From Till Busch: use install -p if possible
fredb [Sun, 9 Mar 2008 22:09:52 +0000 (22:09 +0000)]
Update MSVC 7.1 projects
mfranz [Tue, 4 Mar 2008 11:48:51 +0000 (11:48 +0000)]
use new arrow shortcuts for compatibility reasons (will be removed later)
timoore [Tue, 4 Mar 2008 08:58:33 +0000 (08:58 +0000)]
cleanup of precipitation contribution
Reindent everything to Stroustrup style and make member variable style
consistent.
Remove unused header files.
SGPrecipitation is now a subclass of osg::Referenced.
Initialize snow and ice intensity to 0 directly. The methods that set
the intensities change the value slowly and so don't work when the
initial value is garbage.
timoore [Tue, 4 Mar 2008 08:54:00 +0000 (08:54 +0000)]
precipitation effects from Nicolas Vivien
timoore [Tue, 4 Mar 2008 08:53:27 +0000 (08:53 +0000)]
Add methods to SGGeod to return OSG Matrix objects for local frames.
Methods have been added for Z down (simulation) and Z up frames.
fredb [Sun, 2 Mar 2008 16:49:07 +0000 (16:49 +0000)]
Initialize variables before using them
durk [Sun, 2 Mar 2008 16:09:57 +0000 (16:09 +0000)]
Olaf Flebbe: Micro update to the MSVC8 Project files.
fredb [Thu, 28 Feb 2008 21:25:44 +0000 (21:25 +0000)]
Update MSVC 7.1 projects
mfranz [Wed, 20 Feb 2008 23:36:27 +0000 (23:36 +0000)]
don't reset visibility modifier in the M5SM case
mfranz [Sat, 16 Feb 2008 22:09:40 +0000 (22:09 +0000)]
Syd ADAMS: remove season suffix, this is now done via <condition>s
mfranz [Sat, 16 Feb 2008 17:01:01 +0000 (17:01 +0000)]
remove getRootNode(), as this resets the model root
mfranz [Fri, 15 Feb 2008 17:54:01 +0000 (17:54 +0000)]
Csaba HALASZ: implement conditional (e.g. seasonal) texture loading at startup
timoore [Fri, 15 Feb 2008 06:44:24 +0000 (06:44 +0000)]
Cleanup of particles contribution
Put particles classes inside simgear namespace
Refactored some redundant code
Reworked local frame math to use OSG math classes as much as possible
timoore [Fri, 15 Feb 2008 06:44:05 +0000 (06:44 +0000)]
particles from Tiago_G
timoore [Thu, 7 Feb 2008 23:01:32 +0000 (23:01 +0000)]
Small cleanup of tree shader
timoore [Thu, 7 Feb 2008 23:01:16 +0000 (23:01 +0000)]
Minor cleanup of Stuart Buchanan's tree patch.
Separate random objects and random trees for real.
timoore [Thu, 7 Feb 2008 23:00:23 +0000 (23:00 +0000)]
Second trees patch from Stuart Buchanan
Adds random variation of tree texture maps
timoore [Sat, 2 Feb 2008 23:01:27 +0000 (23:01 +0000)]
Cleanup and performance tuning of the random trees code.
The QuadTreeBuilder class was completely revamped as a templated class
to support flexible creation of scene graph quad trees, and a major
bug was fixed as well. Now it actually generates quadtrees instead of
some weird striped thing.
One StateSet is shared among all the "forests." The trees are drawn
after normal terrain objects to minimize some of the transparency
related artifacts.
Lighting was implemented in the ShaderGeometry shader (for both
polygon sides). Ambient-diffuse values for trees are hard-coded in
TreeBin.cxx.
DotOsg wrappers were added for ShaderGeometry so it can be output in
the scene graph dump.
timoore [Sat, 2 Feb 2008 23:01:05 +0000 (23:01 +0000)]
Random trees from Stuart Buchanan
Stuart's new file SGTreeBin.hxx has been split into 4 files:
TreeBin.[ch]xx and ShaderGeometry.[ch]xx.
timoore [Thu, 24 Jan 2008 23:05:18 +0000 (23:05 +0000)]
Memory leak fixes from Till Busch
fredb [Thu, 17 Jan 2008 21:41:48 +0000 (21:41 +0000)]
Update MSVC 7.1 projects
timoore [Thu, 17 Jan 2008 08:28:15 +0000 (08:28 +0000)]
fix memory leaks in random object code
Don't allocate mt structures (for the random number generator) on the heap.
fredb [Sat, 12 Jan 2008 08:50:21 +0000 (08:50 +0000)]
Avoid spitting gazillion 'Cannot find image file "" ' message on the console while loading random objects
frohlich [Mon, 7 Jan 2008 22:05:48 +0000 (22:05 +0000)]
Modified Files:
simgear/scene/model/animation.cxx:
Change factor/offset order for texture animations.
Fixes remaining bug with texture animations.
timoore [Sun, 6 Jan 2008 15:04:43 +0000 (15:04 +0000)]
Random object support from Stuart Buchanan
In addition to Stuart's changes, there's an independent quad tree
builder class for constructing loose quad trees from scene graph nodes.
Stuart also implemented changes to the random number generator suggested by
Andy Ross.
fredb [Fri, 4 Jan 2008 21:45:41 +0000 (21:45 +0000)]
Update MSVC 7.1 projects
fredb [Fri, 4 Jan 2008 21:45:14 +0000 (21:45 +0000)]
Remove warnings
timoore [Fri, 4 Jan 2008 07:33:42 +0000 (07:33 +0000)]
Give the sky a BACKGROUND_BIT nodemask
Add a MODEL_BIT and tag clouds with that.
Remove vestigial post_root from sky code.
timoore [Fri, 4 Jan 2008 07:33:23 +0000 (07:33 +0000)]
background node mask
frohlich [Mon, 31 Dec 2007 15:49:01 +0000 (15:49 +0000)]
Modified Files:
simgear/scene/model/SGClipGroup.cxx
simgear/scene/model/SGClipGroup.hxx Update the clip group.
frohlich [Mon, 31 Dec 2007 15:48:02 +0000 (15:48 +0000)]
Modified Files:
simgear/scene/model/animation.cxx: Create animation inputs if not
already there. Fixes broken texture animations from past checkin.
frohlich [Wed, 26 Dec 2007 19:19:51 +0000 (19:19 +0000)]
Modified Files:
Makefile.am SGPickCallback.hxx: add proirities for pick callbacks.
frohlich [Wed, 26 Dec 2007 19:12:04 +0000 (19:12 +0000)]
Modified Files:
animation.cxx animation.hxx: Make use of the expression stuff.
Factors out common code with other animations stuff in flightgear.
frohlich [Wed, 26 Dec 2007 19:10:40 +0000 (19:10 +0000)]
Modified Files:
Makefile.am
Added Files:
SGExpression.cxx SGExpression.hxx: Add not yet complete but already
usable expression tree. Will be used with the panel code.
frohlich [Wed, 26 Dec 2007 19:08:45 +0000 (19:08 +0000)]
Modified Files:
scene/model/SGClipGroup.cxx: Oops, add missing simgear_config.h
frohlich [Wed, 26 Dec 2007 19:05:06 +0000 (19:05 +0000)]
Modified Files:
Makefile.am
Added Files:
SGClipGroup.cxx SGClipGroup.hxx: Add helper group node for reuse
of clipping planes. Will be used for the panel code.
frohlich [Wed, 26 Dec 2007 19:03:21 +0000 (19:03 +0000)]
Modified Files:
simgear/props/props.hxx: Add a bunch of convinience functions.
timoore [Sun, 23 Dec 2007 23:33:04 +0000 (23:33 +0000)]
Pass ReaderWriter options to SGMaterialAnimation
It needs to grab the path list from options in order to support the texture
change animation.
timoore [Sat, 22 Dec 2007 23:01:36 +0000 (23:01 +0000)]
Fix tiny bugs in sun constructor and repaint code
timoore [Fri, 21 Dec 2007 06:29:36 +0000 (06:29 +0000)]
Add StateAttributeFactory files to VS project file
timoore [Fri, 21 Dec 2007 06:25:40 +0000 (06:25 +0000)]
optimize groups from .AC file optimizer run
timoore [Fri, 21 Dec 2007 06:25:13 +0000 (06:25 +0000)]
Repaint 2D cloud layers using texture combiner
Don't change the color in the cloud layer geometry
timoore [Fri, 21 Dec 2007 06:24:53 +0000 (06:24 +0000)]
Fix cloud layer - point lights visibility issue
Move point lights to render bin 8, clouds to render bin 9. Turn on
AlphaFunc for cloud layers.
Create a StateAttributeFactory object to create and share common state
objects.
fredb [Tue, 18 Dec 2007 22:25:24 +0000 (22:25 +0000)]
Update MSVC 7.1 projects
timoore [Thu, 13 Dec 2007 23:30:24 +0000 (23:30 +0000)]
Use node masks and shared state sets to manage ground lights
Do away with the switch in each terrain tile for the ground lights. They are
turned on by node masks now.
Share state sets among all the light nodes and manage the fog values through a
"GroundLightManager" instead of having separate state sets and callback
functions for each group in each tile.
timoore [Tue, 11 Dec 2007 11:07:21 +0000 (11:07 +0000)]
minor fix to ModelRegistry and syntax changes for Windows
Create the local path in the right order in OptionsPusher. When
OptionsPusher is used, put it inside a new code block so the order of
destruction with respect to the mutex on reader functions id clear.
Add #include <algorithm> to top of ModelRegistry.cxx.
Change include syntax in PathOptions.cxx
timoore [Mon, 10 Dec 2007 08:30:43 +0000 (08:30 +0000)]
Check for null options before changing path in registry
timoore [Sun, 9 Dec 2007 22:38:10 +0000 (22:38 +0000)]
Work around osg Registry path list problems
The OSG reader plugins overwrite the path list passed in options with the local
directory of the file being read, forcing you to set the path list in
the Registry. I think this a bug, but in the meantime here's a workaround.
timoore [Fri, 7 Dec 2007 23:35:04 +0000 (23:35 +0000)]
Add operator!= to SGBucket
timoore [Fri, 7 Dec 2007 09:13:34 +0000 (09:13 +0000)]
Add option to SGLoadTexture2D to load dynamic textures
mfranz [Thu, 6 Dec 2007 17:57:41 +0000 (17:57 +0000)]
- comparison: don't crash if second element is missing
- better messages ("panel"?!)
timoore [Tue, 4 Dec 2007 22:38:40 +0000 (22:38 +0000)]
Don't modify OSG Registry with file path
To set a path when loading model files, use an osg ReaderWriter::Options object.
Put locks in ModelRegistry::readNode and ModelRegistry::readImage to avoid
conflicts when files are loaded from both the pager and the main thread.
fredb [Sun, 2 Dec 2007 12:28:30 +0000 (12:28 +0000)]
Update MSVC 7.1 projects
timoore [Thu, 29 Nov 2007 23:56:49 +0000 (23:56 +0000)]
Change the main ModelRegistry callback function to stash the substituted file in the cache.
timoore [Thu, 29 Nov 2007 23:56:31 +0000 (23:56 +0000)]
Avoid copying drawables and dirtying display lists.
For the alpha-test animation, use an OVERRIDE attribute on the state
set of the top level node instead of copying drawables and state sets
throughout the model.
As a temporary hack in the blend animation, don't use display lists in
the cloned drawables.
These changes are aimed at cutting down the number of display lists
that the pager needs to compile.
timoore [Thu, 29 Nov 2007 23:56:09 +0000 (23:56 +0000)]
rewrite ModelRegistry callbacks as a template with pluggable policy classes
In a big effort to improve use of the object cache, provide a
ModelRegistryCallback template class with different policies for
substitution, caching, optimization, etc.
Change SGTexDataVarianceVistor to make StateSets static too.
timoore [Thu, 29 Nov 2007 23:55:35 +0000 (23:55 +0000)]
Start of cleanup of scene graph node masks