mirror of
https://github.com/overte-org/overte.git
synced 2025-08-08 07:17:43 +02:00
Correct portal math
This commit is contained in:
parent
69ade28c45
commit
1de4f9c3cc
2 changed files with 4 additions and 0 deletions
|
@ -5608,6 +5608,8 @@ void Application::updateSecondaryCameraViewFrustum() {
|
||||||
|
|
||||||
glm::vec3 mainCameraPositionWorld = getCamera().getPosition();
|
glm::vec3 mainCameraPositionWorld = getCamera().getPosition();
|
||||||
glm::vec3 mainCameraPositionPortalEntrance = vec3(portalEntranceFromWorld * vec4(mainCameraPositionWorld, 1.0f));
|
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));
|
glm::vec3 portalExitCameraPositionWorld = vec3(worldFromPortalExit * vec4(mainCameraPositionPortalEntrance, 1.0f));
|
||||||
|
|
||||||
secondaryViewFrustum.setPosition(portalExitCameraPositionWorld);
|
secondaryViewFrustum.setPosition(portalExitCameraPositionWorld);
|
||||||
|
|
|
@ -81,6 +81,8 @@ public:
|
||||||
|
|
||||||
glm::vec3 mainCameraPositionWorld = qApp->getCamera().getPosition();
|
glm::vec3 mainCameraPositionWorld = qApp->getCamera().getPosition();
|
||||||
glm::vec3 mainCameraPositionPortalEntrance = vec3(portalEntranceFromWorld * vec4(mainCameraPositionWorld, 1.0f));
|
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));
|
glm::vec3 portalExitCameraPositionWorld = vec3(worldFromPortalExit * vec4(mainCameraPositionPortalEntrance, 1.0f));
|
||||||
|
|
||||||
srcViewFrustum.setPosition(portalExitCameraPositionWorld);
|
srcViewFrustum.setPosition(portalExitCameraPositionWorld);
|
||||||
|
|
Loading…
Reference in a new issue