diff options
| author | Julie Lala <jules@okfoc.us> | 2014-06-04 00:51:33 -0400 |
|---|---|---|
| committer | Julie Lala <jules@okfoc.us> | 2014-06-04 00:51:33 -0400 |
| commit | 18ba3736a07b39f8c38c8196b4825e766102305c (patch) | |
| tree | 36eb1dec09aa31fcd87ada3540b81f778cb6d50f /public/assets/javascripts/rectangles/engine | |
| parent | 80e1fcbc52870366f2e885fe82724960929765c9 (diff) | |
moving matrix stuff
Diffstat (limited to 'public/assets/javascripts/rectangles/engine')
| -rw-r--r-- | public/assets/javascripts/rectangles/engine/rooms/projector.js | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/public/assets/javascripts/rectangles/engine/rooms/projector.js b/public/assets/javascripts/rectangles/engine/rooms/projector.js new file mode 100644 index 0000000..2eac314 --- /dev/null +++ b/public/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 ); + }; + +} |
