From cf9f8ee16fd3bca1d4d451c94936e7775e78dfae Mon Sep 17 00:00:00 2001 From: "Mr.doob" Date: Tue, 23 Oct 2018 15:47:28 -0700 Subject: [PATCH] WebVRUtils: setProjectionFromUnion() now produces the correct frustum (changed thing blindly though) --- src/renderers/webvr/WebVRUtils.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/renderers/webvr/WebVRUtils.js b/src/renderers/webvr/WebVRUtils.js index bc126837b2..11d03de531 100644 --- a/src/renderers/webvr/WebVRUtils.js +++ b/src/renderers/webvr/WebVRUtils.js @@ -40,13 +40,13 @@ function setProjectionFromUnion( camera, cameraL, cameraR ) { // Calculate the new camera's position offset from the // left camera. - var zOffset = ipd / ( Math.abs( leftFovL ) + Math.abs( rightFovR ) ); + var zOffset = ipd / ( leftFovL - rightFovR ); var xOffset = zOffset * leftFovL; // TODO: Better way to apply this offset? cameraL.matrixWorld.decompose( camera.position, camera.quaternion, camera.scale ); camera.translateX( xOffset ); - camera.translateZ( - zOffset ); + camera.translateZ( - zOffset * 2 ); camera.matrixWorld.compose( camera.position, camera.quaternion, camera.scale ); camera.matrixWorldInverse.getInverse( camera.matrixWorld ); -- GitLab