From e35736bd4d08afd5ab97851fa82055365066d0f0 Mon Sep 17 00:00:00 2001 From: Joakim Kilby Date: Thu, 19 Feb 2015 17:34:13 +0100 Subject: [PATCH] ensured master does not care about scene orientation (to make navigation on master easier ) --- src/main.cpp | 10 +++++++++- src/rendering/renderengine.cpp | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index a985b7f210..69b0501e3d 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -162,10 +162,18 @@ void mainPostSyncPreDrawFunc() void mainRenderFunc() { + //not the most efficient, but for clarity @JK glm::mat4 userMatrix = glm::translate(glm::mat4(1.f), _sgctEngine->getUserPtr()->getPos()); + glm::mat4 sceneMatrix = _sgctEngine->getModelMatrix(); glm::mat4 viewMatrix = _sgctEngine->getActiveViewMatrix() * userMatrix; + + //dont shift nav-direction on master, makes it very tricky to navigate @JK + if (!_sgctEngine->isMaster()){ + viewMatrix = viewMatrix * sceneMatrix; + } + glm::mat4 projectionMatrix = _sgctEngine->getActiveProjectionMatrix(); - OsEng.render(projectionMatrix, viewMatrix); + OsEng.render(projectionMatrix, viewMatrix); } void mainPostDrawFunc() diff --git a/src/rendering/renderengine.cpp b/src/rendering/renderengine.cpp index 9df8cc8606..f50516061d 100644 --- a/src/rendering/renderengine.cpp +++ b/src/rendering/renderengine.cpp @@ -386,7 +386,7 @@ namespace openspace { _mainCamera->setProjectionMatrix( projectionMatrix); - //Is this really necessary to store? + //Is this really necessary to store? @JK _mainCamera->setViewProjectionMatrix(projectionMatrix * viewMatrix); // render the scene starting from the root node