From 682bf9076c8b13ff006ed02122ba5408b480d6db Mon Sep 17 00:00:00 2001 From: felix turner Date: Mon, 27 Nov 2017 17:21:12 -0800 Subject: [PATCH] fix resizing for three.js r88 fix resizing for three.js r88 update threejs version to r88 fix flatShading warning --- demo.js | 24 ++++++++++++++++-------- index.js | 8 ++------ package.json | 2 +- 3 files changed, 19 insertions(+), 15 deletions(-) diff --git a/demo.js b/demo.js index 60abf34..8373657 100644 --- a/demo.js +++ b/demo.js @@ -4,6 +4,7 @@ */ var camera, scene, renderer, composer; var object, light; +var dsEffect; var THREE = require('three') , EffectComposer = require('./')(THREE) @@ -72,6 +73,8 @@ THREE.RGBShiftShader = { ].join("\n") }; + + init(); animate(); @@ -91,7 +94,7 @@ function init() { scene.add( object ); var geometry = new THREE.SphereGeometry( 1, 4, 4 ); - var material = new THREE.MeshPhongMaterial( { color: 0xffffff, shading: THREE.FlatShading } ); + var material = new THREE.MeshPhongMaterial( { color: 0xffffff, flatShading: true } ); for ( var i = 0; i < 100; i ++ ) { @@ -115,27 +118,32 @@ function init() { composer = new EffectComposer( renderer ); composer.addPass( new EffectComposer.RenderPass( scene, camera ) ); - var effect = new EffectComposer.ShaderPass( THREE.DotScreenShader ); - effect.uniforms[ 'scale' ].value = 4; - composer.addPass( effect ); + dsEffect = new EffectComposer.ShaderPass( THREE.DotScreenShader ); + composer.addPass( dsEffect ); var effect = new EffectComposer.ShaderPass( THREE.RGBShiftShader ); effect.uniforms[ 'amount' ].value = 0.0015; effect.renderToScreen = true; composer.addPass( effect ); - // - window.addEventListener( 'resize', onWindowResize, false ); + onWindowResize(); } function onWindowResize() { - camera.aspect = window.innerWidth / window.innerHeight; + var w = window.innerWidth; + var h = window.innerHeight; + + camera.aspect = w / h; camera.updateProjectionMatrix(); - renderer.setSize( window.innerWidth, window.innerHeight ); + renderer.setSize( w, h ); + composer.setSize( w, h ); + + //some passes need screen resolution passed in + dsEffect.uniforms.tSize.value = new THREE.Vector2(w,h); } diff --git a/index.js b/index.js index 5dd27e5..48b61a5 100644 --- a/index.js +++ b/index.js @@ -122,12 +122,8 @@ module.exports = function(THREE) { setSize: function ( width, height ) { - var renderTarget = this.renderTarget1.clone(); - - renderTarget.width = width; - renderTarget.height = height; - - this.reset( renderTarget ); + this.renderTarget1.setSize( width, height ); + this.renderTarget2.setSize( width, height ); } diff --git a/package.json b/package.json index b6e5c02..d13b809 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ "three-copyshader": "0.0.1" }, "devDependencies": { - "three": "~0.55.0", + "three": "~0.88.0", "browserify": "*" }, "repository": {