Browse Source

Merge pull request #16557 from sciecode/dev14

EffectComposer: Clock instead of Date
Mr.doob 6 years ago
parent
commit
a0c48d6a4a

+ 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;

+ 2 - 0
examples/jsm/postprocessing/EffectComposer.d.ts

@@ -1,4 +1,5 @@
 import {
+	Clock,
   WebGLRenderer,
   WebGLRenderTarget,
 } from '../../../src/Three';
@@ -15,6 +16,7 @@ export class EffectComposer {
   readBuffer: WebGLRenderTarget;
   passes: Pass[];
   copyPass: ShaderPass;
+  clock: Clock;
 
   swapBuffers(): void;
   addPass(pass: Pass): void;

+ 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;