Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions examples/jsm/postprocessing/BloomPass.js
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,9 @@ class BloomPass extends Pass {

if ( maskActive ) renderer.state.buffers.stencil.setTest( false );

const oldAutoClear = renderer.autoClear;
renderer.autoClear = false;

// Render quad with blurred scene into texture (convolution pass 1)

this._fsQuad.material = this.materialConvolution;
Expand Down Expand Up @@ -161,6 +164,8 @@ class BloomPass extends Pass {
if ( this.clear ) renderer.clear();
this._fsQuad.render( renderer );

renderer.autoClear = oldAutoClear;

}

/**
Expand Down
24 changes: 5 additions & 19 deletions examples/webgl_materials_alphahash.html
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,11 @@
import { OrbitControls } from 'three/addons/controls/OrbitControls.js';
import { RoomEnvironment } from 'three/addons/environments/RoomEnvironment.js';

import { EffectComposer } from 'three/addons/postprocessing/EffectComposer.js';
import { RenderPass } from 'three/addons/postprocessing/RenderPass.js';
import { TAARenderPass } from 'three/addons/postprocessing/TAARenderPass.js';
import { OutputPass } from 'three/addons/postprocessing/OutputPass.js';

let camera, scene, renderer, controls, stats, mesh, material;

let composer, renderPass, taaRenderPass, outputPass;
let taaRenderPass;

let needsUpdate = false;

Expand Down Expand Up @@ -96,7 +93,7 @@

//

renderer = new THREE.WebGLRenderer( { antialias: true } );
renderer = new THREE.WebGLRenderer( { antialias: true, outputBufferType: THREE.HalfFloatType } );
renderer.setPixelRatio( window.devicePixelRatio );
renderer.setSize( window.innerWidth, window.innerHeight );
renderer.setAnimationLoop( animate );
Expand All @@ -112,18 +109,9 @@

//

composer = new EffectComposer( renderer );

renderPass = new RenderPass( scene, camera );
renderPass.enabled = false;

taaRenderPass = new TAARenderPass( scene, camera );

outputPass = new OutputPass();

composer.addPass( renderPass );
composer.addPass( taaRenderPass );
composer.addPass( outputPass );
renderer.setEffects( [ taaRenderPass ] );

//

Expand All @@ -144,8 +132,7 @@

taaFolder.add( params, 'taa' ).name( 'enabled' ).onChange( () => {

renderPass.enabled = ! params.taa;
taaRenderPass.enabled = params.taa;
renderer.setEffects( params.taa ? [ taaRenderPass ] : null );

sampleLevelCtrl.enable( params.taa );

Expand All @@ -170,7 +157,6 @@
camera.updateProjectionMatrix();

renderer.setSize( window.innerWidth, window.innerHeight );
composer.setSize( window.innerWidth, window.innerHeight );

needsUpdate = true;

Expand Down Expand Up @@ -212,7 +198,7 @@

}

composer.render();
renderer.render( scene, camera );

}

Expand Down
22 changes: 3 additions & 19 deletions examples/webgl_materials_video.html
Original file line number Diff line number Diff line change
Expand Up @@ -33,19 +33,14 @@

import * as THREE from 'three';

import { EffectComposer } from 'three/addons/postprocessing/EffectComposer.js';
import { RenderPass } from 'three/addons/postprocessing/RenderPass.js';
import { BloomPass } from 'three/addons/postprocessing/BloomPass.js';
import { OutputPass } from 'three/addons/postprocessing/OutputPass.js';

let container;

let camera, scene, renderer;

let video, texture, material, mesh;

let composer;

let mouseX = 0;
let mouseY = 0;

Expand Down Expand Up @@ -76,7 +71,7 @@
light.position.set( 0.5, 1, 1 ).normalize();
scene.add( light );

renderer = new THREE.WebGLRenderer();
renderer = new THREE.WebGLRenderer( { outputBufferType: THREE.HalfFloatType } );
renderer.setPixelRatio( window.devicePixelRatio );
renderer.setSize( window.innerWidth, window.innerHeight );
renderer.setAnimationLoop( animate );
Expand Down Expand Up @@ -148,21 +143,12 @@

}

renderer.autoClear = false;

document.addEventListener( 'mousemove', onDocumentMouseMove );

// postprocessing

const renderPass = new RenderPass( scene, camera );
const bloomPass = new BloomPass( 1.3 );
const outputPass = new OutputPass();

composer = new EffectComposer( renderer );

composer.addPass( renderPass );
composer.addPass( bloomPass );
composer.addPass( outputPass );
renderer.setEffects( [ bloomPass ] );

//

Expand All @@ -179,7 +165,6 @@
camera.updateProjectionMatrix();

renderer.setSize( window.innerWidth, window.innerHeight );
composer.setSize( window.innerWidth, window.innerHeight );

}

Expand Down Expand Up @@ -258,8 +243,7 @@

counter ++;

renderer.clear();
composer.render();
renderer.render( scene, camera );

}

Expand Down
19 changes: 4 additions & 15 deletions examples/webgl_postprocessing_afterimage.html
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,9 @@

import { GUI } from 'three/addons/libs/lil-gui.module.min.js';

import { EffectComposer } from 'three/addons/postprocessing/EffectComposer.js';
import { RenderPass } from 'three/addons/postprocessing/RenderPass.js';
import { AfterimagePass } from 'three/addons/postprocessing/AfterimagePass.js';
import { OutputPass } from 'three/addons/postprocessing/OutputPass.js';

let camera, scene, renderer, composer;
let camera, scene, renderer;
let mesh;

let afterimagePass;
Expand All @@ -42,7 +39,7 @@

function init() {

renderer = new THREE.WebGLRenderer();
renderer = new THREE.WebGLRenderer( { outputBufferType: THREE.HalfFloatType } );
renderer.setPixelRatio( window.devicePixelRatio );
renderer.setSize( window.innerWidth, window.innerHeight );
renderer.setAnimationLoop( animate );
Expand All @@ -61,14 +58,8 @@

// postprocessing

composer = new EffectComposer( renderer );
composer.addPass( new RenderPass( scene, camera ) );

afterimagePass = new AfterimagePass();
composer.addPass( afterimagePass );

const outputPass = new OutputPass();
composer.addPass( outputPass );
renderer.setEffects( [ afterimagePass ] );

window.addEventListener( 'resize', onWindowResize );

Expand All @@ -84,7 +75,6 @@
camera.updateProjectionMatrix();

renderer.setSize( window.innerWidth, window.innerHeight );
composer.setSize( window.innerWidth, window.innerHeight );

}

Expand All @@ -95,8 +85,7 @@

afterimagePass.enabled = params.enable;

composer.render();

renderer.render( scene, camera );

}

Expand Down
33 changes: 8 additions & 25 deletions examples/webgl_postprocessing_dof.html
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,7 @@
import Stats from 'three/addons/libs/stats.module.js';
import { GUI } from 'three/addons/libs/lil-gui.module.min.js';

import { EffectComposer } from 'three/addons/postprocessing/EffectComposer.js';
import { RenderPass } from 'three/addons/postprocessing/RenderPass.js';
import { BokehPass } from 'three/addons/postprocessing/BokehPass.js';
import { OutputPass } from 'three/addons/postprocessing/OutputPass.js';

let camera, scene, renderer, stats,
singleMaterial, zmaterial,
Expand All @@ -48,7 +45,7 @@

const materials = [], objects = [];

const postprocessing = {};
let bokehPass;

init();

Expand All @@ -62,7 +59,7 @@

scene = new THREE.Scene();

renderer = new THREE.WebGLRenderer();
renderer = new THREE.WebGLRenderer( { outputBufferType: THREE.HalfFloatType } );
renderer.setPixelRatio( window.devicePixelRatio );
renderer.setSize( width, height );
renderer.setAnimationLoop( animate );
Expand Down Expand Up @@ -136,8 +133,6 @@

initPostprocessing();

renderer.autoClear = false;

stats = new Stats();
container.appendChild( stats.dom );

Expand All @@ -156,9 +151,9 @@

const matChanger = function ( ) {

postprocessing.bokeh.uniforms[ 'focus' ].value = effectController.focus;
postprocessing.bokeh.uniforms[ 'aperture' ].value = effectController.aperture * 0.00001;
postprocessing.bokeh.uniforms[ 'maxblur' ].value = effectController.maxblur;
bokehPass.uniforms[ 'focus' ].value = effectController.focus;
bokehPass.uniforms[ 'aperture' ].value = effectController.aperture * 0.00001;
bokehPass.uniforms[ 'maxblur' ].value = effectController.maxblur;

};

Expand Down Expand Up @@ -193,30 +188,18 @@
camera.updateProjectionMatrix();

renderer.setSize( width, height );
postprocessing.composer.setSize( width, height );

}

function initPostprocessing() {

const renderPass = new RenderPass( scene, camera );

const bokehPass = new BokehPass( scene, camera, {
bokehPass = new BokehPass( scene, camera, {
focus: 1.0,
aperture: 0.025,
maxblur: 0.01
} );

const outputPass = new OutputPass();

const composer = new EffectComposer( renderer );

composer.addPass( renderPass );
composer.addPass( bokehPass );
composer.addPass( outputPass );

postprocessing.composer = composer;
postprocessing.bokeh = bokehPass;
renderer.setEffects( [ bokehPass ] );

}

Expand Down Expand Up @@ -248,7 +231,7 @@

}

postprocessing.composer.render( 0.1 );
renderer.render( scene, camera );

}

Expand Down
19 changes: 4 additions & 15 deletions examples/webgl_postprocessing_glitch.html
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,9 @@ <h2>WARNING</h2>

import * as THREE from 'three';

import { EffectComposer } from 'three/addons/postprocessing/EffectComposer.js';
import { RenderPass } from 'three/addons/postprocessing/RenderPass.js';
import { GlitchPass } from 'three/addons/postprocessing/GlitchPass.js';
import { OutputPass } from 'three/addons/postprocessing/OutputPass.js';

let camera, scene, renderer, composer;
let camera, scene, renderer;
let object, light;

let glitchPass;
Expand All @@ -62,7 +59,7 @@ <h2>WARNING</h2>

function init() {

renderer = new THREE.WebGLRenderer();
renderer = new THREE.WebGLRenderer( { outputBufferType: THREE.HalfFloatType } );
renderer.setPixelRatio( window.devicePixelRatio );
renderer.setSize( window.innerWidth, window.innerHeight );
renderer.setAnimationLoop( animate );
Expand Down Expand Up @@ -113,14 +110,8 @@ <h2>WARNING</h2>

// postprocessing

composer = new EffectComposer( renderer );
composer.addPass( new RenderPass( scene, camera ) );

glitchPass = new GlitchPass();
composer.addPass( glitchPass );

const outputPass = new OutputPass();
composer.addPass( outputPass );
renderer.setEffects( [ glitchPass ] );


//
Expand All @@ -140,8 +131,6 @@ <h2>WARNING</h2>
camera.updateProjectionMatrix();

renderer.setSize( window.innerWidth, window.innerHeight );
composer.setSize( window.innerWidth, window.innerHeight );


}

Expand All @@ -150,7 +139,7 @@ <h2>WARNING</h2>
object.rotation.x += 0.005;
object.rotation.y += 0.01;

composer.render();
renderer.render( scene, camera );

}

Expand Down
Loading
Loading