From 1de4f9c3cc9e5c6668991abd76b8263eaf04a78b Mon Sep 17 00:00:00 2001 From: Zach Fox Date: Thu, 8 Nov 2018 13:07:49 -0800 Subject: [PATCH] Correct portal math --- interface/src/Application.cpp | 2 ++ interface/src/SecondaryCamera.cpp | 2 ++ 2 files changed, 4 insertions(+) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 926df2943e..abe9d8a053 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -5608,6 +5608,8 @@ void Application::updateSecondaryCameraViewFrustum() { glm::vec3 mainCameraPositionWorld = getCamera().getPosition(); glm::vec3 mainCameraPositionPortalEntrance = vec3(portalEntranceFromWorld * vec4(mainCameraPositionWorld, 1.0f)); + mainCameraPositionPortalEntrance = vec3(-mainCameraPositionPortalEntrance.x, mainCameraPositionPortalEntrance.y, + -mainCameraPositionPortalEntrance.z); glm::vec3 portalExitCameraPositionWorld = vec3(worldFromPortalExit * vec4(mainCameraPositionPortalEntrance, 1.0f)); secondaryViewFrustum.setPosition(portalExitCameraPositionWorld); diff --git a/interface/src/SecondaryCamera.cpp b/interface/src/SecondaryCamera.cpp index ea485ebf40..aa5d9d7f58 100644 --- a/interface/src/SecondaryCamera.cpp +++ b/interface/src/SecondaryCamera.cpp @@ -81,6 +81,8 @@ public: glm::vec3 mainCameraPositionWorld = qApp->getCamera().getPosition(); glm::vec3 mainCameraPositionPortalEntrance = vec3(portalEntranceFromWorld * vec4(mainCameraPositionWorld, 1.0f)); + mainCameraPositionPortalEntrance = vec3(-mainCameraPositionPortalEntrance.x, mainCameraPositionPortalEntrance.y, + -mainCameraPositionPortalEntrance.z); glm::vec3 portalExitCameraPositionWorld = vec3(worldFromPortalExit * vec4(mainCameraPositionPortalEntrance, 1.0f)); srcViewFrustum.setPosition(portalExitCameraPositionWorld);