From 9d6d68f00a154796682589458bce944f7b58dc14 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Tue, 12 Jul 2016 18:44:45 +0200 Subject: [PATCH] Support VR mode disable on Oculus device --- src/rlgl.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/rlgl.c b/src/rlgl.c index b50e1a459..1d5d61579 100644 --- a/src/rlgl.c +++ b/src/rlgl.c @@ -2671,7 +2671,17 @@ bool IsVrDeviceReady(void) // Enable/Disable VR experience (device or simulator) void ToggleVrMode(void) { - vrEnabled = !vrEnabled; + if (vrDeviceReady || vrSimulator) vrEnabled = !vrEnabled; + else vrEnabled = false; + + if (!vrEnabled) + { + // Reset viewport and default projection-modelview matrices + rlViewport(0, 0, GetScreenWidth(), GetScreenHeight()); + projection = MatrixOrtho(0, GetScreenWidth(), GetScreenHeight(), 0, 0.0f, 1.0f); + MatrixTranspose(&projection); + modelview = MatrixIdentity(); + } } // Update VR tracking (position and orientation) @@ -3745,12 +3755,12 @@ static void SetStereoConfig(VrDeviceInfo hmd) // Set internal projection and modelview matrix depending on eyes tracking data static void SetStereoView(int eye, Matrix matProjection, Matrix matModelView) -{ +{ if (vrEnabled) { Matrix eyeProjection = matProjection; Matrix eyeModelView = matModelView; - + #if defined(RLGL_OCULUS_SUPPORT) if (vrDeviceReady) {