Pārlūkot izejas kodu

EffectComposer: Clock instead of Date.now

Guilherme Avila 6 gadi atpakaļ
vecāks
revīzija
52088d0440

+ 2 - 4
examples/js/postprocessing/EffectComposer.js

@@ -58,7 +58,7 @@ THREE.EffectComposer = function ( renderer, renderTarget ) {
 
 	this.copyPass = new THREE.ShaderPass( THREE.CopyShader );
 
-	this._previousFrameTime = Date.now();
+	this.clock = new THREE.Clock();
 
 };
 
@@ -109,12 +109,10 @@ Object.assign( THREE.EffectComposer.prototype, {
 
 		if ( deltaTime === undefined ) {
 
-			deltaTime = ( Date.now() - this._previousFrameTime ) * 0.001;
+			deltaTime = this.clock.getDelta();
 
 		}
 
-		this._previousFrameTime = Date.now();
-
 		var currentRenderTarget = this.renderer.getRenderTarget();
 
 		var maskActive = false;

+ 3 - 4
examples/jsm/postprocessing/EffectComposer.js

@@ -9,6 +9,7 @@ import {
 	PlaneBufferGeometry,
 	RGBAFormat,
 	Vector2,
+	Clock,
 	WebGLRenderTarget
 } from "../../../build/three.module.js";
 import { CopyShader } from "../shaders/CopyShader.js";
@@ -72,7 +73,7 @@ var EffectComposer = function ( renderer, renderTarget ) {
 
 	this.copyPass = new ShaderPass( CopyShader );
 
-	this._previousFrameTime = Date.now();
+	this.clock = new Clock();
 
 };
 
@@ -123,12 +124,10 @@ Object.assign( EffectComposer.prototype, {
 
 		if ( deltaTime === undefined ) {
 
-			deltaTime = ( Date.now() - this._previousFrameTime ) * 0.001;
+			deltaTime = this.clock.getDelta();
 
 		}
 
-		this._previousFrameTime = Date.now();
-
 		var currentRenderTarget = this.renderer.getRenderTarget();
 
 		var maskActive = false;