diff --git a/examples/jsm/controls/OrbitControls.js b/examples/jsm/controls/OrbitControls.js index dc3b42b56af608..3103649c925f0f 100644 --- a/examples/jsm/controls/OrbitControls.js +++ b/examples/jsm/controls/OrbitControls.js @@ -176,7 +176,7 @@ class OrbitControls extends EventDispatcher { const twoPI = 2 * Math.PI; - return function update() { + return function update( deltaTime = null ) { const position = scope.object.position; @@ -190,7 +190,7 @@ class OrbitControls extends EventDispatcher { if ( scope.autoRotate && state === STATE.NONE ) { - rotateLeft( getAutoRotationAngle() ); + rotateLeft( getAutoRotationAngle( deltaTime ) ); } @@ -469,9 +469,17 @@ class OrbitControls extends EventDispatcher { const pointers = []; const pointerPositions = {}; - function getAutoRotationAngle() { + function getAutoRotationAngle( deltaTime ) { - return 2 * Math.PI / 60 / 60 * scope.autoRotateSpeed; + if ( deltaTime !== null ) { + + return ( 2 * Math.PI / 60 * scope.autoRotateSpeed ) * deltaTime; + + } else { + + return 2 * Math.PI / 60 / 60 * scope.autoRotateSpeed; + + } } diff --git a/examples/webgl2_volume_instancing.html b/examples/webgl2_volume_instancing.html index d0c5fc3498373f..faa90f0a39666b 100644 --- a/examples/webgl2_volume_instancing.html +++ b/examples/webgl2_volume_instancing.html @@ -38,8 +38,7 @@ } - let renderer, scene, camera; - let controls; + let renderer, scene, camera, controls, clock; init(); animate(); @@ -61,6 +60,8 @@ controls.autoRotateSpeed = - 1.0; controls.enableDamping = true; + clock = new THREE.Clock(); + // Material const vertexShader = /* glsl */` @@ -234,8 +235,9 @@ function animate() { requestAnimationFrame( animate ); - - controls.update(); + + const delta = clock.getDelta(); + controls.update( delta ); renderer.render( scene, camera );