diff --git a/examples/js/loaders/MD2Loader.js b/examples/js/loaders/MD2Loader.js index 436ff386ab0ab84317cb8ced412363d040d6b21f..7881838637f8d86dd3a628be3bbb66881e4dc633 100644 --- a/examples/js/loaders/MD2Loader.js +++ b/examples/js/loaders/MD2Loader.js @@ -102,7 +102,6 @@ const translation = new THREE.Vector3(); const scale = new THREE.Vector3(); - const string = []; const frames = []; offset = header.offset_frames; @@ -111,6 +110,7 @@ scale.set( data.getFloat32( offset + 0, true ), data.getFloat32( offset + 4, true ), data.getFloat32( offset + 8, true ) ); translation.set( data.getFloat32( offset + 12, true ), data.getFloat32( offset + 16, true ), data.getFloat32( offset + 20, true ) ); offset += 24; + const string = []; for ( let j = 0; j < 16; j ++ ) { diff --git a/examples/js/postprocessing/SSAARenderPass.js b/examples/js/postprocessing/SSAARenderPass.js index fdbb182ec3912ad4a441b92f758f3811a79c4bca..d07fbf090990a644f33568a1bf8a209044beb6fc 100644 --- a/examples/js/postprocessing/SSAARenderPass.js +++ b/examples/js/postprocessing/SSAARenderPass.js @@ -80,8 +80,16 @@ const baseSampleWeight = 1.0 / jitterOffsets.length; const roundingRange = 1 / 32; this.copyUniforms[ 'tDiffuse' ].value = this.sampleRenderTarget.texture; - const width = readBuffer.width, - height = readBuffer.height; // render the scene multiple times, each slightly jitter offset from the last and accumulate the results. + const viewOffset = { + fullWidth: readBuffer.width, + fullHeight: readBuffer.height, + offsetX: 0, + offsetY: 0, + width: readBuffer.width, + height: readBuffer.height + }; + const originalViewOffset = Object.assign( {}, this.camera.view ); + if ( originalViewOffset.enabled ) Object.assign( viewOffset, originalViewOffset ); // render the scene multiple times, each slightly jitter offset from the last and accumulate the results. for ( let i = 0; i < jitterOffsets.length; i ++ ) { @@ -89,8 +97,8 @@ if ( this.camera.setViewOffset ) { - this.camera.setViewOffset( width, height, jitterOffset[ 0 ] * 0.0625, jitterOffset[ 1 ] * 0.0625, // 0.0625 = 1 / 16 - width, height ); + this.camera.setViewOffset( viewOffset.fullWidth, viewOffset.fullHeight, viewOffset.offsetX + jitterOffset[ 0 ] * 0.0625, viewOffset.offsetY + jitterOffset[ 1 ] * 0.0625, // 0.0625 = 1 / 16 + viewOffset.width, viewOffset.height ); } @@ -124,7 +132,16 @@ } - if ( this.camera.clearViewOffset ) this.camera.clearViewOffset(); + if ( this.camera.setViewOffset && originalViewOffset.enabled ) { + + this.camera.setViewOffset( originalViewOffset.fullWidth, originalViewOffset.fullHeight, originalViewOffset.offsetX, originalViewOffset.offsetY, originalViewOffset.width, originalViewOffset.height ); + + } else if ( this.camera.clearViewOffset ) { + + this.camera.clearViewOffset(); + + } + renderer.autoClear = autoClear; renderer.setClearColor( this._oldClearColor, oldClearAlpha ); diff --git a/examples/screenshots/webgl_materials_physical_reflectivity.jpg b/examples/screenshots/webgl_materials_physical_reflectivity.jpg index 2b3424ad108549a6edae09e86c58bd05f90dc77b..de7b7c7e8bd6bcd7782af59e4840068ae976629e 100644 Binary files a/examples/screenshots/webgl_materials_physical_reflectivity.jpg and b/examples/screenshots/webgl_materials_physical_reflectivity.jpg differ diff --git a/examples/webgl_materials_physical_reflectivity.html b/examples/webgl_materials_physical_reflectivity.html index 068ecdfeea847610b53787e9f1ffdea606ef8bed..dae983721a55da6ba00070194d6c964060e14efa 100644 --- a/examples/webgl_materials_physical_reflectivity.html +++ b/examples/webgl_materials_physical_reflectivity.html @@ -29,9 +29,9 @@ const params = { projection: 'normal', autoRotate: true, - reflectivity: 1.0, + reflectivity: 1, background: false, - exposure: 1.0, + exposure: 1, gemColor: 'Green' }; let camera, scene, renderer; @@ -155,6 +155,7 @@ renderer.setPixelRatio( window.devicePixelRatio ); renderer.setSize( window.innerWidth, window.innerHeight ); renderer.shadowMap.enabled = true; + renderer.toneMapping = THREE.ACESFilmicToneMapping; container.appendChild( renderer.domElement ); renderer.outputEncoding = THREE.sRGBEncoding; @@ -171,7 +172,7 @@ const gui = new GUI(); gui.add( params, 'reflectivity', 0, 1 ); - gui.add( params, 'exposure', 0.1, 2 ); + gui.add( params, 'exposure', 0, 2 ); gui.add( params, 'autoRotate' ); gui.add( params, 'gemColor', [ 'Blue', 'Green', 'Red', 'White', 'Black' ] ); gui.open(); diff --git a/examples/webgl_materials_physical_sheen.html b/examples/webgl_materials_physical_sheen.html index 92e5e11e05c643943f55fa0145e02339e820a7b3..7b67daa2a230f831f4267b49abb75a768d00dbac 100644 --- a/examples/webgl_materials_physical_sheen.html +++ b/examples/webgl_materials_physical_sheen.html @@ -37,8 +37,7 @@ color: new THREE.Color( 255, 0, 127 ), sheenBRDF: true, sheen: new THREE.Color( 10, 10, 10 ), // corresponds to .04 reflectance - roughness: .9, - exposure: 2, + roughness: 0.9 }; // model @@ -57,7 +56,7 @@ scene = new THREE.Scene(); scene.background = new THREE.Color( 0xbfd1e5 ); - mesh.scale.multiplyScalar( .5 ); + mesh.scale.multiplyScalar( 0.5 ); scene.add( mesh ); // @@ -95,12 +94,12 @@ controls.target.set( 0, 2, 0 ); controls.update(); - directionalLight = new THREE.DirectionalLight( 0xffffff, .5 ); + directionalLight = new THREE.DirectionalLight( 0xffffff, 0.5 ); directionalLight.position.set( 0, 10, 0 ); directionalLight.castShadow = true; directionalLight.add( new THREE.Mesh( - new THREE.SphereGeometry( .5 ), + new THREE.SphereGeometry( 0.5 ), new THREE.MeshBasicMaterial( { color: 0xffffff } ) ) ); @@ -141,7 +140,6 @@ gui.add( params, 'sheenBRDF' ).onChange( onUpdate ); gui.addColor( params, 'sheen' ); gui.add( params, 'roughness', 0, 1 ); - gui.add( params, 'exposure', 0, 3 ); gui.open(); onUpdate(); @@ -190,7 +188,6 @@ // - renderer.toneMappingExposure = params.exposure; renderer.render( scene, camera ); }