[Openal] AL_POSITION affects Doppler Shift

Tristan Grimmer tri at tactile3d.com
Thu Nov 16 09:55:40 PST 2006


Doppler needs to take into account the position... otherwise the the 
fire engine example I gave wouldn't work.  Just because the equation 
doesn't involve position directly doesn't mean it is independent of it.  
The relative velocity of the source wrt the listener is needed... .the 
direction of that vector is very much a function of position.   OpenAL 
computes this for you.  If OAL does not do a doppler update during a 
SetPosition call.... that's a bug.

In fact, I think this was discussed earlier with a very helpful 
gentleman explaining how it works ;)

http://opensource.creative.com/pipermail/openal/2004-July/007680.html

--tristan


Garin Hiebert wrote:
> You're correct that the position and Doppler shouldn't be related in 
> OpenAL.  I'm assuming that you're using Windows (since you reference a 
> .zip file in your email), and there isn't any code in any of the 
> Windows OpenAL implementations which could do that.  The only thing I 
> can think of that would explain this actually happening is that there 
> is a misbehaving DS3D driver in use which is applying Doppler shift.  
> Try explicitly opening the "Generic Software" device with 
> alcOpenDevice and see if anything changes.  The GS device only uses 
> DirectSound to output the final mix -- the OpenAL library 
> (wrap_oal.dll in this case) is doing the work.
>
> Garin
>
> _______________________________________________
> Openal mailing list
> Openal at opensource.creative.com
> http://opensource.creative.com/mailman/listinfo/openal
>
>


More information about the Openal mailing list