diff options
author | Chris Robinson <[email protected]> | 2016-03-25 23:25:13 -0700 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2016-03-25 23:25:13 -0700 |
commit | e0466766d7f9e3017c3bb8fc39a132ee05a357d6 (patch) | |
tree | dc5ae06aacb44335297a8e647165844d09cfe492 /Alc/ALu.c | |
parent | e23da7a1dea9997f61d23af50ed915ebee98f2e9 (diff) |
Include any first-order scaling in the FOAOut coefficients
Diffstat (limited to 'Alc/ALu.c')
-rw-r--r-- | Alc/ALu.c | 14 |
1 files changed, 2 insertions, 12 deletions
@@ -507,10 +507,8 @@ ALvoid CalcNonAttnSourceParams(ALvoice *voice, const ALsource *ALSource, const A aluCrossproduct(N, V, U); aluNormalize(U); - /* Build a rotate + conversion matrix (B-Format -> N3D), and include - * scaling for first-order content on second- or third-order output. - */ - scale = Device->Dry.AmbiScale * 1.732050808f; + /* Build a rotate + conversion matrix (B-Format -> N3D). */ + scale = 1.732050808f; aluMatrixfSet(&matrix, 1.414213562f, 0.0f, 0.0f, 0.0f, 0.0f, -N[0]*scale, N[1]*scale, -N[2]*scale, @@ -524,14 +522,6 @@ ALvoid CalcNonAttnSourceParams(ALvoice *voice, const ALsource *ALSource, const A ComputeFirstOrderGains(Device->FOAOut.AmbiCoeffs, Device->FOAOut.NumChannels, matrix.m[c], DryGain, voice->Direct.Gains[c].Target); - /* Rebuild the matrix, without the second- or third-order output - * scaling (effects take first-order content, and will do the scaling - * themselves when mixing to the output). - */ - scale = 1.732050808f; - aluMatrixfSetRow(&matrix, 1, 0.0f, -N[0]*scale, N[1]*scale, -N[2]*scale); - aluMatrixfSetRow(&matrix, 2, 0.0f, U[0]*scale, -U[1]*scale, U[2]*scale); - aluMatrixfSetRow(&matrix, 3, 0.0f, -V[0]*scale, V[1]*scale, -V[2]*scale); for(i = 0;i < NumSends;i++) { if(!SendSlots[i]) |