提交 b37be63d 编写于 作者: M Mr.doob

Moved Projector's .projectVector and .unprojectVector to Vector3...

Moved Projector's .projectVector and .unprojectVector to Vector3 .projectCamera and .unprojectCamera.
上级 afb2101e
......@@ -6,35 +6,19 @@ THREE.Projector = function () {
this.projectVector = function ( vector, camera ) {
var viewProjectionMatrix = new THREE.Matrix4();
console.warn( 'THREE.Projector: .projectVector() is now vector.projectCamera().' );
return function ( vector, camera ) {
vector.projectCamera( camera );
camera.matrixWorldInverse.getInverse( camera.matrixWorld );
viewProjectionMatrix.multiplyMatrices( camera.projectionMatrix, camera.matrixWorldInverse );
return vector.applyProjection( viewProjectionMatrix );
};
}();
this.unprojectVector = function () {
var projectionMatrixInverse = new THREE.Matrix4();
var viewProjectionMatrix = new THREE.Matrix4();
return function ( vector, camera ) {
};
projectionMatrixInverse.getInverse( camera.projectionMatrix );
viewProjectionMatrix.multiplyMatrices( camera.matrixWorld, projectionMatrixInverse );
this.unprojectVector = function ( vector, camera ) {
return vector.applyProjection( viewProjectionMatrix );
console.warn( 'THREE.Projector: .unprojectVector() is now vector.unprojectCamera().' );
};
vector.unprojectCamera( camera );
}();
};
this.pickingRay = function ( vector, camera ) {
......
......@@ -305,6 +305,38 @@ THREE.Vector3.prototype = {
},
projectCamera: function () {
var viewProjectionMatrix = new THREE.Matrix4();
return function ( vector, camera ) {
camera.matrixWorldInverse.getInverse( camera.matrixWorld );
viewProjectionMatrix.multiplyMatrices( camera.projectionMatrix, camera.matrixWorldInverse );
return this.applyProjection( viewProjectionMatrix );
};
}(),
unprojectCamera: function () {
var projectionMatrixInverse = new THREE.Matrix4();
var viewProjectionMatrix = new THREE.Matrix4();
return function ( vector, camera ) {
projectionMatrixInverse.getInverse( camera.projectionMatrix );
viewProjectionMatrix.multiplyMatrices( camera.matrixWorld, projectionMatrixInverse );
return this.applyProjection( viewProjectionMatrix );
};
}(),
transformDirection: function ( m ) {
// input: THREE.Matrix4 affine matrix
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册