[Openal] EFX Clarifications 2
solaryn at hotmail.com
Fri Sep 12 15:34:34 PDT 2008
> The exact formulas used for these properties are not available (they are Creative IP). All the properties except AL_EFFECTSLOT_GAIN are used to control the send level from each Source to the Effect Slot (this is completely different to what you wrote below).
No need for the exact formulas, I just wanted to know how they effected each-other. :)
Actually, I made a mistake, I didn't mean AL_EFFECTSLOT_GAIN, I meant the gain related to the send level for each source.
> and AL_AUXILIARY_SEND_FILTER_GAINHF_AUTO
> AL_EFFECTSLOT_AUXILIARY_SEND_AUTO is equivalent to the EAX 4.0 FX Slot "Environment" flag.
> When it is "off" (false) it means that a source's send signal to the effect is the same as the signal sent to the dry path, minus Direct Filter Gain and Gain HF and plus the Send Filter Gain and Gain HF.
So when off, the dry path attenuation (its gain and distance attenuation) is applied to the send gain in place of what is below.
> When it is "on" a source's send signal is attenuated by 1) reverb statistical model based on reverb decay time and source to listener distance, 2) Room RollOff (summation of Reverb Room RollOff Factor and Source Room RollOff Factor), 3) air absorption, and 4) source directivity (cone parameters).
Due to OpenAL's linear gain, these are all multiplied together then, right?
Since Generic Hardware and Generic Software force AL_EFFECTSLOT_AUXILIARY_SEND_AUTO on (for my system, anyway), how come the distance attenuation of the dry path still applies to the send gain? Or is this an issue with card/drivers?
> (1) is disabled if AL_AUXILIARY_SEND_FILTER_GAIN_AUTO is off (false)
Is the statistical model just a more advanced form of distance attenuation? Is this what I'm mistaking for the distance attenuation of the dry path above?
> (4) affect on low frequencies is disabled when AL_AUXILIARY_SEND_FILTER_GAIN_AUTO is off (false), affect on high frequencies is disabled when AL_AUXILIARY_SEND_FILTER_GAINHF_AUTO is off (false).
> This is a global attenuation of the effect output.
Yeah, it was the send gain I was intending to add (which really doesn't have a property unless a filter is used).
Again, thank you for the informative responses. :)
More information about the Openal