diff options
| author | raysan5 <raysan5@gmail.com> | 2016-07-12 18:44:45 +0200 |
|---|---|---|
| committer | raysan5 <raysan5@gmail.com> | 2016-07-12 18:44:45 +0200 |
| commit | 9d6d68f00a154796682589458bce944f7b58dc14 (patch) | |
| tree | e9d6eb922d0e4c2164c2c2c2c057ba9b2165547e /src | |
| parent | 31b64d46898e536a963b1c891cb7e0d9cd3881f7 (diff) | |
| download | raylib-9d6d68f00a154796682589458bce944f7b58dc14.tar.gz raylib-9d6d68f00a154796682589458bce944f7b58dc14.zip | |
Support VR mode disable on Oculus device
Diffstat (limited to 'src')
| -rw-r--r-- | src/rlgl.c | 16 |
1 files changed, 13 insertions, 3 deletions
@@ -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) { |
