summaryrefslogtreecommitdiff
path: root/public/assets/javascripts/rectangles/engine
diff options
context:
space:
mode:
authorJulie Lala <jules@okfoc.us>2014-06-04 00:51:33 -0400
committerJulie Lala <jules@okfoc.us>2014-06-04 00:51:33 -0400
commit18ba3736a07b39f8c38c8196b4825e766102305c (patch)
tree36eb1dec09aa31fcd87ada3540b81f778cb6d50f /public/assets/javascripts/rectangles/engine
parent80e1fcbc52870366f2e885fe82724960929765c9 (diff)
moving matrix stuff
Diffstat (limited to 'public/assets/javascripts/rectangles/engine')
-rw-r--r--public/assets/javascripts/rectangles/engine/rooms/projector.js30
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 );
+ };
+
+}