diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index f9424500a7..47280e2c18 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -425,7 +425,6 @@ void Application::paintGL() { } else { _glowEffect.prepare(); - glMatrixMode(GL_MODELVIEW); glPushMatrix(); glLoadIdentity(); @@ -434,6 +433,17 @@ void Application::paintGL() { _glowEffect.render(); + // mirror + if (Menu::getInstance()->isOptionChecked(MenuOption::Mirror)) { + glViewport(50, 600, 265, 215); + glLogicOp(GL_CLEAR); + _mirrorCamera.setMode(CAMERA_MODE_MIRROR); + displaySide(_mirrorCamera); + + glViewport(0, 0, _glWidget->width(), _glWidget->height()); + } + // mirror + displayOverlay(); } @@ -2482,7 +2492,6 @@ void Application::displaySide(Camera& whichCamera) { if (Menu::getInstance()->isOptionChecked(MenuOption::Mirror)) { glScalef(-1.0f, 1.0f, 1.0f); glFrontFace(GL_CW); - } else { glFrontFace(GL_CCW); } @@ -2770,6 +2779,7 @@ void Application::displaySide(Camera& whichCamera) { glPopMatrix(); } + } void Application::displayOverlay() { diff --git a/interface/src/Application.h b/interface/src/Application.h index 595f337bf5..cd4cb39ad5 100644 --- a/interface/src/Application.h +++ b/interface/src/Application.h @@ -294,6 +294,7 @@ private: Camera _myCamera; // My view onto the world Camera _viewFrustumOffsetCamera; // The camera we use to sometimes show the view frustum from an offset mode + Camera _mirrorCamera; Environment _environment;