Skip to content

Commit 126f028

Browse files
committed
1. Directly call getRenderTarget() in onWindowResize().
2. BlurNode also honor devicePixelRatio. 3. Remove stats.js.
1 parent e115ace commit 126f028

File tree

2 files changed

+30
-26
lines changed

2 files changed

+30
-26
lines changed

examples/webgl_mirror.html

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626

2727
import { OrbitControls } from './jsm/controls/OrbitControls.js';
2828
import { Reflector } from './jsm/objects/Reflector.js';
29-
import Stats from "./jsm/libs/stats.module.js";
3029

3130
// camera
3231
const VIEW_ANGLE = 45;
@@ -40,8 +39,7 @@
4039

4140
let sphereGroup, smallSphere;
4241

43-
let groundMirrorRenderTarget, verticalMirrorRenderTarget;
44-
let stats;
42+
let groundMirror, verticalMirror;
4543

4644
init();
4745
animate();
@@ -78,25 +76,23 @@
7876
let geometry, material;
7977

8078
geometry = new THREE.CircleGeometry( 40, 64 );
81-
const groundMirror = new Reflector( geometry, {
79+
groundMirror = new Reflector( geometry, {
8280
clipBias: 0.003,
8381
textureWidth: window.innerWidth * window.devicePixelRatio,
8482
textureHeight: window.innerHeight * window.devicePixelRatio,
8583
color: 0x777777
8684
} );
87-
groundMirrorRenderTarget = groundMirror.getRenderTarget()
8885
groundMirror.position.y = 0.5;
8986
groundMirror.rotateX( - Math.PI / 2 );
9087
scene.add( groundMirror );
9188

9289
geometry = new THREE.PlaneGeometry( 100, 100 );
93-
const verticalMirror = new Reflector( geometry, {
90+
verticalMirror = new Reflector( geometry, {
9491
clipBias: 0.003,
9592
textureWidth: window.innerWidth * window.devicePixelRatio,
9693
textureHeight: window.innerHeight * window.devicePixelRatio,
9794
color: 0x889999
9895
} );
99-
verticalMirrorRenderTarget = verticalMirror.getRenderTarget()
10096
verticalMirror.position.y = 50;
10197
verticalMirror.position.z = - 50;
10298
scene.add( verticalMirror );
@@ -170,10 +166,8 @@
170166
blueLight.position.set( 0, 50, 550 );
171167
scene.add( blueLight );
172168

173-
stats = new Stats();
174-
document.body.appendChild( stats.dom );
175-
176169
window.addEventListener( "resize", onWindowResize, false );
170+
177171
}
178172

179173
function onWindowResize() {
@@ -183,8 +177,15 @@
183177
camera.updateProjectionMatrix();
184178

185179
renderer.setSize( window.innerWidth, window.innerHeight );
186-
groundMirrorRenderTarget.setSize(window.innerWidth * window.devicePixelRatio, window.innerHeight * window.devicePixelRatio);
187-
verticalMirrorRenderTarget.setSize(window.innerWidth * window.devicePixelRatio, window.innerHeight * window.devicePixelRatio);
180+
181+
groundMirror.getRenderTarget().setSize(
182+
window.innerWidth * window.devicePixelRatio,
183+
window.innerHeight * window.devicePixelRatio
184+
);
185+
verticalMirror.getRenderTarget().setSize(
186+
window.innerWidth * window.devicePixelRatio,
187+
window.innerHeight * window.devicePixelRatio
188+
);
188189

189190
}
190191

@@ -206,8 +207,6 @@
206207

207208
renderer.render( scene, camera );
208209

209-
stats.update();
210-
211210
}
212211

213212
</script>

examples/webgl_mirror_nodes.html

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
import { GUI } from './jsm/libs/dat.gui.module.js';
2727
import { OrbitControls } from './jsm/controls/OrbitControls.js';
2828
import { ReflectorRTT } from './jsm/objects/ReflectorRTT.js';
29-
import Stats from "./jsm/libs/stats.module.js";
3029

3130
import {
3231
NodeFrame,
@@ -65,8 +64,7 @@
6564

6665
const frame = new NodeFrame();
6766

68-
let groundMirrorRenderTarget;
69-
let stats;
67+
let groundMirror;
7068
let blurMirror;
7169

7270
function init() {
@@ -92,10 +90,8 @@
9290
const container = document.getElementById( 'container' );
9391
container.appendChild( renderer.domElement );
9492

95-
stats = new Stats();
96-
document.body.appendChild( stats.dom );
97-
9893
window.addEventListener( "resize", onWindowResize, false );
94+
9995
}
10096

10197
function onWindowResize() {
@@ -105,8 +101,16 @@
105101
camera.updateProjectionMatrix();
106102

107103
renderer.setSize( window.innerWidth, window.innerHeight );
108-
groundMirrorRenderTarget.setSize(window.innerWidth * window.devicePixelRatio, window.innerHeight * window.devicePixelRatio);
109-
blurMirror.size = new THREE.Vector2( window.innerWidth, window.innerHeight );
104+
105+
groundMirror.getRenderTarget().setSize(
106+
window.innerWidth * window.devicePixelRatio,
107+
window.innerHeight * window.devicePixelRatio
108+
);
109+
110+
blurMirror.size.set(
111+
window.innerWidth * window.devicePixelRatio,
112+
window.innerHeight * window.devicePixelRatio
113+
);
110114
blurMirror.updateFrame()
111115

112116
}
@@ -119,12 +123,11 @@
119123

120124
// reflector/mirror plane
121125
geometry = new THREE.PlaneGeometry( 100, 100 );
122-
const groundMirror = new ReflectorRTT( geometry, {
126+
groundMirror = new ReflectorRTT( geometry, {
123127
clipBias: 0.003,
124128
textureWidth: window.innerWidth * window.devicePixelRatio,
125129
textureHeight: window.innerHeight * window.devicePixelRatio
126130
} );
127-
groundMirrorRenderTarget = groundMirror.getRenderTarget()
128131

129132
const mask = new SwitchNode( new TextureNode( decalDiffuse ), 'w' );
130133

@@ -150,7 +153,10 @@
150153
);
151154

152155
blurMirror = new BlurNode( mirror );
153-
blurMirror.size = new THREE.Vector2( window.innerWidth, window.innerHeight );
156+
blurMirror.size = new THREE.Vector2(
157+
window.innerWidth * window.devicePixelRatio,
158+
window.innerHeight * window.devicePixelRatio
159+
);
154160
blurMirror.uv = new ExpressionNode( "projCoord.xyz / projCoord.q", "vec3" );
155161
blurMirror.uv.keywords[ "projCoord" ] = new OperatorNode( mirror.offset, mirror.uv, OperatorNode.ADD );
156162
blurMirror.radius.x = blurMirror.radius.y = 0;
@@ -286,7 +292,6 @@
286292

287293
render();
288294

289-
stats.update();
290295
}
291296

292297
init();

0 commit comments

Comments
 (0)