diff --git a/examples/index.html b/examples/index.html index e7985943565f8873e59c12cd9ca3aa561071a1be..e613873813f100d8f67c5d57aa467838b879b969 100644 --- a/examples/index.html +++ b/examples/index.html @@ -121,9 +121,9 @@ "webgl_custom_attributes_particles2", "webgl_custom_attributes_particles3", "webgl_effects_anaglyph", - "webgl_effects_crosseyed", "webgl_effects_oculusrift", "webgl_effects_parallaxbarrier", + "webgl_effects_stereo", "webgl_geometries", "webgl_geometries2", "webgl_geometry_colors", diff --git a/examples/js/effects/CrosseyedEffect.js b/examples/js/effects/StereoEffect.js similarity index 67% rename from examples/js/effects/CrosseyedEffect.js rename to examples/js/effects/StereoEffect.js index ce222b0b262263671e358db35a22154a47367128..3be381e0ffad2af61deb686ade0a2713f1898bcb 100644 --- a/examples/js/effects/CrosseyedEffect.js +++ b/examples/js/effects/StereoEffect.js @@ -1,22 +1,22 @@ /** * @author alteredq / http://alteredqualia.com/ + * @authod mrdoob / http://mrdoob.com/ */ -THREE.CrosseyedEffect = function ( renderer ) { +THREE.StereoEffect = function ( renderer ) { // API - this.separation = 10; + this.separation = 6; + this.targetDistance = 100; // internals var _width, _height; var _cameraL = new THREE.PerspectiveCamera(); - _cameraL.target = new THREE.Vector3(); - var _cameraR = new THREE.PerspectiveCamera(); - _cameraR.target = new THREE.Vector3(); + var _target = new THREE.Vector3(); // initialization @@ -33,33 +33,37 @@ THREE.CrosseyedEffect = function ( renderer ) { this.render = function ( scene, camera ) { + _target.set( 0, 0, - this.targetDistance ); + _target.applyQuaternion( camera.quaternion ); + _target.add( camera.position ); + // left _cameraL.fov = camera.fov; _cameraL.aspect = 0.5 * camera.aspect; + _cameraL.updateProjectionMatrix(); + _cameraL.near = camera.near; _cameraL.far = camera.far; - _cameraL.updateProjectionMatrix(); _cameraL.position.copy( camera.position ); - _cameraL.target.copy( camera.target ); - _cameraL.translateX( this.separation ); - _cameraL.lookAt( _cameraL.target ); + _cameraL.translateX( - this.separation ); + _cameraL.lookAt( _target ); // right + _cameraR.projectionMatrix = _cameraL.projectionMatrix; + _cameraR.near = camera.near; _cameraR.far = camera.far; - _cameraR.projectionMatrix = _cameraL.projectionMatrix; - _cameraR.position.copy( camera.position ); - _cameraR.target.copy( camera.target ); - _cameraR.translateX( - this.separation ); - _cameraR.lookAt( _cameraR.target ); + _cameraR.translateX( this.separation ); + _cameraR.lookAt( _target ); // + renderer.setViewport( 0, 0, _width * 2, _height ); renderer.clear(); renderer.setViewport( 0, 0, _width, _height ); diff --git a/examples/webgl_effects_crosseyed.html b/examples/webgl_effects_stereo.html similarity index 85% rename from examples/webgl_effects_crosseyed.html rename to examples/webgl_effects_stereo.html index aa7916512119fa563d52c2de272d268da898c418..c826890b392cc6dc6b0de3596f9a8e2e70a9bcd1 100644 --- a/examples/webgl_effects_crosseyed.html +++ b/examples/webgl_effects_stereo.html @@ -1,7 +1,7 @@ - three.js webgl - effects - crosseyed + three.js webgl - effects - stereo