ehofman [Tue, 17 Nov 2009 13:06:32 +0000 (13:06 +0000)]
Set to default distance attenuation function but change the parameters a but for better sound effects (and most of all quieter sounds at greta distance
Tim Moore [Sun, 15 Nov 2009 22:51:08 +0000 (23:51 +0100)]
When instantiating effects, copy user data of any created nodes.
This bug was the cause of the huge memory consumption / death reported at some places:
the BVH data on "raw" .ac models (random objects) was dropped on the floor.
Tim Moore [Fri, 13 Nov 2009 13:59:29 +0000 (14:59 +0100)]
optimize creation and sharing of effects
Implement equality test and hash for for property trees. In an
Effect, make a hash table of Effects that inherit from it keyed on
their unmerged property tree. Using that, makeEffect() should return a
single Effect for given property tree description. Animations may
change that in the future...
Tim Moore [Tue, 8 Sep 2009 11:09:05 +0000 (13:09 +0200)]
Effects for models
Basically working, at last. Among other things, create effects in
models loaded directly from .ac files; this can happen, for example,
with the random models from the materials library.
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.