aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/ALu.c
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2011-07-01 02:29:10 -0700
committerChris Robinson <[email protected]>2011-07-01 02:30:15 -0700
commita5ccae57793c75c6c4162d29be0ac6c5eae8ec63 (patch)
treed046ba61e2ba0781073658069ccb27cb48d15f6e /Alc/ALu.c
parent1635132fd52e99f17a12362b0458c736b873b9cf (diff)
Do air absorption with linear gain values
This copies the way the calculation is done with the wet path
Diffstat (limited to 'Alc/ALu.c')
-rw-r--r--Alc/ALu.c12
1 files changed, 1 insertions, 11 deletions
diff --git a/Alc/ALu.c b/Alc/ALu.c
index 66cf6009..7cddb5a8 100644
--- a/Alc/ALu.c
+++ b/Alc/ALu.c
@@ -537,17 +537,7 @@ ALvoid CalcSourceParams(ALsource *ALSource, const ALCcontext *ALContext)
// Distance-based air absorption
if(AirAbsorptionFactor > 0.0f && EffectiveDist > 0.0f)
- {
- ALfloat absorb;
-
- // Absorption calculation is done in dB
- absorb = (AirAbsorptionFactor*AIRABSORBGAINDBHF) *
- EffectiveDist;
- // Convert dB to linear gain before applying
- absorb = aluPow(10.0f, absorb/20.0f);
-
- DryGainHF *= absorb;
- }
+ DryGainHF *= aluPow(AIRABSORBGAINHF, AirAbsorptionFactor*EffectiveDist);
//3. Apply directional soundcones
Angle = aluAcos(aluDotproduct(Direction,SourceToListener)) * (180.0/M_PI);