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