|
@@ -4,7 +4,6 @@
|
|
|
|
|
|
import { Vector3 } from '../math/Vector3.js';
|
|
|
import { Quaternion } from '../math/Quaternion.js';
|
|
|
-import { Clock } from '../core/Clock.js';
|
|
|
import { Object3D } from '../core/Object3D.js';
|
|
|
import { AudioContext } from './AudioContext.js';
|
|
|
|
|
@@ -21,8 +20,6 @@ function AudioListener() {
|
|
|
|
|
|
this.filter = null;
|
|
|
|
|
|
- this.timeDelta = 0;
|
|
|
-
|
|
|
}
|
|
|
|
|
|
AudioListener.prototype = Object.assign( Object.create( Object3D.prototype ), {
|
|
@@ -98,7 +95,6 @@ AudioListener.prototype = Object.assign( Object.create( Object3D.prototype ), {
|
|
|
var scale = new Vector3();
|
|
|
|
|
|
var orientation = new Vector3();
|
|
|
- var clock = new Clock();
|
|
|
|
|
|
return function updateMatrixWorld( force ) {
|
|
|
|
|
@@ -107,27 +103,21 @@ AudioListener.prototype = Object.assign( Object.create( Object3D.prototype ), {
|
|
|
var listener = this.context.listener;
|
|
|
var up = this.up;
|
|
|
|
|
|
- this.timeDelta = clock.getDelta();
|
|
|
-
|
|
|
this.matrixWorld.decompose( position, quaternion, scale );
|
|
|
|
|
|
orientation.set( 0, 0, - 1 ).applyQuaternion( quaternion );
|
|
|
|
|
|
if ( listener.positionX ) {
|
|
|
|
|
|
- // code path for Chrome (see #14393)
|
|
|
-
|
|
|
- var endTime = this.context.currentTime + this.timeDelta;
|
|
|
-
|
|
|
- listener.positionX.linearRampToValueAtTime( position.x, endTime );
|
|
|
- listener.positionY.linearRampToValueAtTime( position.y, endTime );
|
|
|
- listener.positionZ.linearRampToValueAtTime( position.z, endTime );
|
|
|
- listener.forwardX.linearRampToValueAtTime( orientation.x, endTime );
|
|
|
- listener.forwardY.linearRampToValueAtTime( orientation.y, endTime );
|
|
|
- listener.forwardZ.linearRampToValueAtTime( orientation.z, endTime );
|
|
|
- listener.upX.linearRampToValueAtTime( up.x, endTime );
|
|
|
- listener.upY.linearRampToValueAtTime( up.y, endTime );
|
|
|
- listener.upZ.linearRampToValueAtTime( up.z, endTime );
|
|
|
+ listener.positionX.setValueAtTime( position.x, this.context.currentTime );
|
|
|
+ listener.positionY.setValueAtTime( position.y, this.context.currentTime );
|
|
|
+ listener.positionZ.setValueAtTime( position.z, this.context.currentTime );
|
|
|
+ listener.forwardX.setValueAtTime( orientation.x, this.context.currentTime );
|
|
|
+ listener.forwardY.setValueAtTime( orientation.y, this.context.currentTime );
|
|
|
+ listener.forwardZ.setValueAtTime( orientation.z, this.context.currentTime );
|
|
|
+ listener.upX.setValueAtTime( up.x, this.context.currentTime );
|
|
|
+ listener.upY.setValueAtTime( up.y, this.context.currentTime );
|
|
|
+ listener.upZ.setValueAtTime( up.z, this.context.currentTime );
|
|
|
|
|
|
} else {
|
|
|
|