[Openal] EFX Clarifications 2
Christopher Fitzgerald
solaryn at hotmail.com
Fri Sep 12 02:06:28 PDT 2008
Greetings,
Is it possible for someone in the know to lay out the exact order and application of the following properties for the effect slot, reverb effect, and source?
AL_EFFECTSLOT_AUXILIARY_SEND_AUTO
AL_EFFECTSLOT_GAIN
AL_AUXILIARY_SEND_FILTER_GAIN_AUTO
AL_ROOM_ROLLOFF_FACTOR
AL_REVERB_ROOM_ROLLOFF_FACTOR
The documentation isn't entirely clear to me as to how these interact in all cases. My assumption from what I can read and from testing Generic Hardware and Generic Software is that it works as follows (please correct me if I'm wrong):
roomRolloff = AL_REVERB_ROOM_ROLLOFF_FACTOR;
if (AL_EFFECTSLOT_AUXILIARY_SEND_AUTO == AL_TRUE)
roomRolloff += AL_ROOM_ROLLOFF_FACTOR;
AL_EFFECTSLOT_GAIN *= Attenuate (roomRolloff);
if (AL_AUXILIARY_SEND_FILTER_GAIN_AUTO == AL_TRUE)
AL_EFFECTSLOT_GAIN *= Attenuate (AL_ROLLOFF_FACTOR);
Or possibly (since I can't disable AL_EFFECTSLOT_AUXILIARY_SEND_AUTO in either Generic Hardware or Generic Software):
// Maybe the below line should be in the if statement too?
roomRolloff = AL_REVERB_ROOM_ROLLOFF_FACTOR;
if (AL_EFFECTSLOT_AUXILIARY_SEND_AUTO == AL_TRUE) {
roomRolloff += AL_ROOM_ROLLOFF_FACTOR;
if (AL_AUXILIARY_SEND_FILTER_GAIN_AUTO == AL_TRUE)
AL_EFFECTSLOT_GAIN *= Attenuate (AL_ROLLOFF_FACTOR);
}
AL_EFFECTSLOT_GAIN *= Attenuate (roomRolloff);
Any help with this matter would be greatly appreciated. Thank you! :)
Regards,
- Christopher
_________________________________________________________________
More information about the Openal
mailing list