aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/ALu.c
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2015-09-23 15:03:53 -0700
committerChris Robinson <[email protected]>2015-09-23 15:03:53 -0700
commit4bdd58bc83f583136cde917762ead5df90c01485 (patch)
tree699f0425efb6d6b70f3c6af6ed7f9fc7315138b3 /Alc/ALu.c
parentba4358227897748d9dff6ec37e27b9647db80d66 (diff)
Use N3D scaling instead of FuMa
Diffstat (limited to 'Alc/ALu.c')
-rw-r--r--Alc/ALu.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/Alc/ALu.c b/Alc/ALu.c
index cab48d98..1bed3f8e 100644
--- a/Alc/ALu.c
+++ b/Alc/ALu.c
@@ -513,14 +513,14 @@ ALvoid CalcNonAttnSourceParams(ALvoice *voice, const ALsource *ALSource, const A
aluCrossproduct(N, V, U);
aluNormalize(U);
- /* Build a rotate + channel reorder matrix (B-Format -> ACN), and
- * include scaling for first-order content. */
- scale = Device->AmbiScale;
+ /* Build a rotate + conversion matrix (B-Format -> N3D), and include
+ * scaling for first-order content. */
+ scale = Device->AmbiScale * 1.7321f;
aluMatrixSet(&matrix,
- 1.0f, 0.0f, 0.0f, 0.0f,
- 0.0f, -N[0]*scale, N[1]*scale, -N[2]*scale,
- 0.0f, U[0]*scale, -U[1]*scale, U[2]*scale,
- 0.0f, -V[0]*scale, V[1]*scale, -V[2]*scale
+ 1.4142f, 0.0f, 0.0f, 0.0f,
+ 0.0f, -N[0]*scale, N[1]*scale, -N[2]*scale,
+ 0.0f, U[0]*scale, -U[1]*scale, U[2]*scale,
+ 0.0f, -V[0]*scale, V[1]*scale, -V[2]*scale
);
for(c = 0;c < num_channels;c++)