@@ -2,9 +2,9 @@ import { Subject } from 'rxjs';
2
2
import { take } from 'rxjs/operators' ;
3
3
import { initWorkerContext , remoteCanvasObservable } from '../../utils/remote-canvas' ;
4
4
import { camera } from './camera' ;
5
- import { scene } from './scene' ;
6
5
import { init as initLights } from './lights' ;
7
- import { init as initRenderer , renderer } from './renderer' ;
6
+ import { init as initRenderer } from './renderer' ;
7
+ import { updateSize , init as initPostProcessing , render } from './post-processing' ;
8
8
import { init as initControls , controls , targetPosition , enableOrbit , enableXR } from './controls' ;
9
9
import { setCenter } from './floor' ;
10
10
import { WebGLRenderer } from 'three' ;
@@ -17,8 +17,9 @@ let lastStatsUpdate = 0;
17
17
let controlsEnabled = true ;
18
18
19
19
const loopManager = new LoopManager ( deltaTime => {
20
- deltaTimeObservable . next ( deltaTime / 1000 ) ;
21
- renderer ?. render ( scene , camera ) ;
20
+ deltaTime /= 1000 ;
21
+ deltaTimeObservable . next ( deltaTime ) ;
22
+ render ( deltaTime ) ;
22
23
frameCount ++ ;
23
24
} , true ) ;
24
25
@@ -29,14 +30,15 @@ remoteCanvasObservable.pipe(take(1)).subscribe(canvas => {
29
30
( self as any ) . document = { } ;
30
31
const renderer = initRenderer ( canvas . undelyOffscreenCanvas ) ;
31
32
const controls = initControls ( canvas , deltaTimeObservable , true ) ;
33
+ initPostProcessing ( ) ;
32
34
handleResize ( canvas . width , canvas . height ) ;
33
35
deltaTimeObservable . subscribe ( ( ) => setCenter ( controls . target ) ) ;
34
36
setInterval ( notifyRendererStats , 1000 , renderer ) ;
35
37
} ) ;
36
38
initWorkerContext ( ) ;
37
39
38
40
export function handleResize ( width : number , height : number ) {
39
- renderer ?. setSize ( width , height , false ) ;
41
+ updateSize ( width , height ) ;
40
42
camera . aspect = width / height ;
41
43
camera . updateProjectionMatrix ( ) ;
42
44
}
0 commit comments