ehofman [Tue, 10 Nov 2009 14:28:28 +0000 (14:28 +0000)]
also recalculate the velocity in update_pos_and_orienation, so pass the north-east-down velocity directly and orientate position, orientation and velocity to OpenGL/OpenAL frames (x-right, y-up and z-back)
Tim Moore [Thu, 5 Nov 2009 08:06:18 +0000 (09:06 +0100)]
Property system optimizations
Profiling startup with the new effects code exposed some performance
gotchas. The objective is to reduce allocation of std::string
temporaries, especially when looking up node path names. Also, I
changed some paths to initialize strings with strings instead of char *;
this causes less allocation, at least with glibc. Also, eliminate
the old version of find_node and its helper functions by writing the
template version of find_node_aux to handle an explicit index
parameter.
Also, add const char[] as an internal property type
This doesn't actually add a new type to the property system, but allows using
character arrays as arguments to certain templates.
ehofman [Mon, 2 Nov 2009 10:31:05 +0000 (10:31 +0000)]
Position and orientation fixes thanks to Tim Moore (finaly). Code optimizations by moving code over from SGSoundSample to SGSampleGroup which means it will only run once for every sample group instead of once for every sample.
ehofman [Sun, 1 Nov 2009 14:51:10 +0000 (14:51 +0000)]
proper orientation(?) and comment out relative position and direction code since it messes with OpenAL in such a way that volume doesn't work properly anymore
ehofman [Wed, 28 Oct 2009 14:27:47 +0000 (14:27 +0000)]
Fix a bug where a sample was removed from the sample list before it was stopped. Proper listener orientation when inside the airplane (need to find a good solution for outside view).
ehofman [Sat, 24 Oct 2009 08:18:09 +0000 (08:18 +0000)]
get rid of aut_ptr, it only works with objects that can destroyed with delete (and not even delete[]) which is too limited. take drastic actions to find the sound-not-playing-bug: set all positions and orientations to default all the time.
ehofman [Sun, 18 Oct 2009 13:44:38 +0000 (13:44 +0000)]
Start the sound manager in a deactived state. This means the code now has to activate it explicitly when desired. A non active state means the update function will no be executed.
ehofman [Thu, 15 Oct 2009 17:08:45 +0000 (17:08 +0000)]
Initialization was done much earlier than expected resulting in some sample
groups not being activated (and sample loading using OpenAL/ALUT functions to
be scheduled before OpenAL was initilialized).
fix alutInit counter
remove left over static declaration fro SGSoundMgr::load
ehofman [Thu, 15 Oct 2009 09:18:21 +0000 (09:18 +0000)]
give the sample class as much info as possible to properly position and orientate the sounds. unfortunately at this time orientation seems to be from straight behind which means that sounds that have outer-gain set to 0.0 will not be heard yet.
ehofman [Sun, 11 Oct 2009 13:38:27 +0000 (13:38 +0000)]
Correct (and verrified) position, orientation and velocity vector. Todo: proper sound orientation (the all face forward using the airplane orientation now) and disabling doppler effect when tied to the listener
ehofman [Fri, 9 Oct 2009 09:00:53 +0000 (09:00 +0000)]
OpenAL buffer management; add a buffer cache to prevent loading the same sample in memory twice. Especially useful to save memory for multi-aircraft configurations and (later) for AI models.
jmt [Tue, 6 Oct 2009 20:05:46 +0000 (20:05 +0000)]
Update the screen-dump code to use osgDB, and hence write out files in more common formats (PNG, JPEG, etc). The PPM writing code is retained for the moment, in case someone other than FG is relying upon it.
ehofman [Mon, 5 Oct 2009 08:56:40 +0000 (08:56 +0000)]
Rename update() to update_late() for the sound manager to be able to initialize it before any other class that uses it. This will allow the SoundManager to be safely accessed in the constructor of those classes.
durk [Fri, 2 Oct 2009 05:44:25 +0000 (05:44 +0000)]
Stuart Buchanan:
Improvements to the cloudsystem:
- A new xml format
- Texture indexing based on the position of the sprite in the cloud
mass, allowing more control over the texture set.
- Improved fog and shading
- Better sprite distribution
- A more natural distribution of clouds, so no more obvious grids.
Tatsuhiro Nishioka:
Patches for configure.ac and Makefile.am files in FG/SG so Mac developers can build these in a unix way.
These also enables Mac developers to choose either PLIB framework or PLIB static libs.