Skip to content

Commit 764cf0f

Browse files
committed
Examples: Unified MRT examples.
1 parent 90b4954 commit 764cf0f

File tree

6 files changed

+32
-360
lines changed

6 files changed

+32
-360
lines changed

examples/files.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -300,7 +300,6 @@
300300
"webgl2_materials_texture3d",
301301
"webgl2_materials_texture3d_partialupdate",
302302
"webgl2_multiple_rendertargets",
303-
"webgl2_multiple_rendertargets_multisampled",
304303
"webgl2_multisampled_renderbuffers",
305304
"webgl2_rendertarget_texture2darray",
306305
"webgl2_volume_cloud",
-4.51 KB
Loading
Binary file not shown.

examples/tags.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,6 @@
9393
"webgl_simple_gi": [ "global illumination" ],
9494
"webgl_tiled_forward": [ "derivatives" ],
9595
"webgl2_multiple_rendertargets": [ "mrt" ],
96-
"webgl2_multiple_rendertargets_multisampled": [ "mrt" ],
9796
"webgl2_multisampled_renderbuffers": [ "msaa" ],
9897
"physics_ammo_cloth": [ "integration" ],
9998
"misc_controls_arcball": [ "rotation" ],

examples/webgl2_multiple_rendertargets.html

Lines changed: 32 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -99,10 +99,7 @@
9999
</head>
100100
<body>
101101
<div id="info">
102-
<a href="http://threejs.org" target="_blank">threejs</a> - WebGL - Multiple Render Targets<br/>
103-
Renders geometry into a G-Buffer.<br/>
104-
Visualized here is the color and normal data from the G-Buffer.<br/>
105-
Created by <a href="http://twitter.com/mattdesl" target="_blank">@mattdesl</a>.
102+
<a href="http://threejs.org" target="_blank">threejs</a> webgl - Multiple RenderTargets
106103
</div>
107104

108105
<!-- Import maps polyfill -->
@@ -123,11 +120,22 @@
123120

124121
import WebGL from './jsm/capabilities/WebGL.js';
125122
import { OrbitControls } from './jsm/controls/OrbitControls.js';
123+
import { GUI } from './jsm/libs/lil-gui.module.min.js';
126124

127125
let camera, scene, renderer, controls;
128126
let renderTarget;
129127
let postScene, postCamera;
130128

129+
const parameters = {
130+
samples: 4,
131+
wireframe: false
132+
};
133+
134+
const gui = new GUI();
135+
gui.add( parameters, 'samples', 0, 4 ).step( 1 );
136+
gui.add( parameters, 'wireframe' );
137+
gui.onChange( render );
138+
131139
init();
132140

133141
function init() {
@@ -168,27 +176,19 @@
168176
// Scene setup
169177

170178
scene = new THREE.Scene();
179+
scene.background = new THREE.Color( 0x222222 );
171180

172-
camera = new THREE.PerspectiveCamera( 70, window.innerWidth / window.innerHeight, 1, 10 );
181+
camera = new THREE.PerspectiveCamera( 70, window.innerWidth / window.innerHeight, 0.1, 50 );
173182
camera.position.z = 4;
174183

175-
const diffuse = new THREE.TextureLoader().load(
176-
177-
'textures/brick_diffuse.jpg',
178-
179-
function () {
180-
181-
// ready to render
182-
render();
183-
184-
}
185-
186-
);
184+
const loader = new THREE.TextureLoader();
187185

188-
diffuse.wrapS = diffuse.wrapT = THREE.RepeatWrapping;
186+
const diffuse = loader.load( 'textures/hardwood2_diffuse.jpg', render );
187+
diffuse.wrapS = THREE.RepeatWrapping;
188+
diffuse.wrapT = THREE.RepeatWrapping;
189189

190190
scene.add( new THREE.Mesh(
191-
new THREE.TorusKnotGeometry( 1, 0.3, 128, 64 ),
191+
new THREE.TorusKnotGeometry( 1, 0.3, 128, 32 ),
192192
new THREE.RawShaderMaterial( {
193193
vertexShader: document.querySelector( '#gbuffer-vert' ).textContent.trim(),
194194
fragmentShader: document.querySelector( '#gbuffer-frag' ).textContent.trim(),
@@ -222,8 +222,7 @@
222222

223223
controls = new OrbitControls( camera, renderer.domElement );
224224
controls.addEventListener( 'change', render );
225-
controls.enableZoom = false;
226-
controls.screenSpacePanning = true;
225+
//controls.enableZoom = false;
227226

228227
window.addEventListener( 'resize', onWindowResize );
229228

@@ -245,6 +244,18 @@
245244

246245
function render() {
247246

247+
renderTarget.samples = parameters.samples;
248+
249+
scene.traverse( function ( child ) {
250+
251+
if ( child.material !== undefined ) {
252+
253+
child.material.wireframe = parameters.wireframe;
254+
255+
}
256+
257+
} );
258+
248259
// render scene into target
249260
renderer.setRenderTarget( renderTarget );
250261
renderer.render( scene, camera );

0 commit comments

Comments
 (0)