From 5fb0ad045820de96848e1bde8e2dba8a6853dd4d Mon Sep 17 00:00:00 2001 From: Julie Lala Date: Wed, 4 Jun 2014 00:30:58 -0400 Subject: vector projection stub --- .../rectangles/engine/rooms/projector.js | 30 ++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 assets/javascripts/rectangles/engine/rooms/projector.js (limited to 'assets/javascripts/rectangles/engine/rooms/projector.js') diff --git a/assets/javascripts/rectangles/engine/rooms/projector.js b/assets/javascripts/rectangles/engine/rooms/projector.js new file mode 100644 index 0000000..2eac314 --- /dev/null +++ b/assets/javascripts/rectangles/engine/rooms/projector.js @@ -0,0 +1,30 @@ + +rooms.projector = new function(){ + + projector = new THREE.Projector(); + vector = new THREE.Vector3( mouse.x, mouse.y, 0.5 ); + projector.unprojectVector( vector, camera ); + + raycaster = new THREE.Raycaster( camera.position, vector.sub( camera.position ).normalize() ); + intersects = raycaster.intersectObjects( scene.children, true ); + +} + + + +THREE.Projector = function () { + + _viewProjectionMatrix = new THREE.Matrix4(), + + this.unprojectVector = function ( vector, camera ) { + camera.projectionMatrixInverse.getInverse( camera.projectionMatrix ); + + _viewProjectionMatrix.multiplyMatrices( + camera.matrixWorld, + camera.projectionMatrixInverse + ); + + return vector.applyProjection( _viewProjectionMatrix ); + }; + +} -- cgit v1.2.3-70-g09d2