aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJoshua Reisenauer <kd7tck@msn.com>2016-06-08 12:02:39 -0700
committerJoshua Reisenauer <kd7tck@msn.com>2016-06-08 12:02:39 -0700
commit4f47f9033643e2d00efbf2cfa4d5ef9ee409e1ce (patch)
tree82e07b4125768cca503a04fb3eaae03412e36836 /src
parent7bf2854e949a073535109327d18303ee31d0c322 (diff)
parent2d90cc59b6a338f9745dc1be398f8d8bef3f47bf (diff)
downloadraylib-4f47f9033643e2d00efbf2cfa4d5ef9ee409e1ce.tar.gz
raylib-4f47f9033643e2d00efbf2cfa4d5ef9ee409e1ce.zip
Merge remote-tracking branch 'refs/remotes/raysan5/develop' into develop
Diffstat (limited to 'src')
-rw-r--r--src/core.c48
1 files changed, 6 insertions, 42 deletions
diff --git a/src/core.c b/src/core.c
index 4ba7505b..4223afd9 100644
--- a/src/core.c
+++ b/src/core.c
@@ -513,11 +513,6 @@ void CloseWindow(void)
}
#endif
-#if defined(PLATFORM_OCULUS)
- ovr_Destroy(session); // Must be called after glfwTerminate()
- ovr_Shutdown();
-#endif
-
TraceLog(INFO, "Window closed successfully");
}
@@ -526,6 +521,7 @@ void CloseWindow(void)
// NOTE: Device initialization should be done before window creation?
void InitOculusDevice(void)
{
+ // Initialize Oculus device
ovrResult result = ovr_Initialize(NULL);
if (OVR_FAILURE(result)) TraceLog(ERROR, "OVR: Could not initialize Oculus device");
@@ -545,13 +541,13 @@ void InitOculusDevice(void)
TraceLog(INFO, "OVR: Serian Number: %s", hmdDesc.SerialNumber);
TraceLog(INFO, "OVR: Resolution: %ix%i", hmdDesc.Resolution.w, hmdDesc.Resolution.h);
- screenWidth = hmdDesc.Resolution.w/2;
- screenHeight = hmdDesc.Resolution.h/2;
+ // NOTE: Oculus mirror is set to defined screenWidth and screenHeight...
+ // ...ideally, it should be (hmdDesc.Resolution.w/2, hmdDesc.Resolution.h/2)
// Initialize Oculus Buffers
layer = InitOculusLayer(session);
buffer = LoadOculusBuffer(session, layer.width, layer.height);
- mirror = LoadOculusMirror(session, hmdDesc.Resolution.w/2, hmdDesc.Resolution.h/2);
+ mirror = LoadOculusMirror(session, screenWidth, screenHeight);
layer.eyeLayer.ColorTexture[0] = buffer.textureChain; //SetOculusLayerTexture(eyeLayer, buffer.textureChain);
}
@@ -561,8 +557,8 @@ void CloseOculusDevice(void)
UnloadOculusMirror(session, mirror); // Unload Oculus mirror buffer
UnloadOculusBuffer(session, buffer); // Unload Oculus texture buffers
- ovr_Destroy(session); // Must be called after glfwTerminate() --> REALLY???
- ovr_Shutdown();
+ ovr_Destroy(session); // Free Oculus session data
+ ovr_Shutdown(); // Close Oculus device connection
}
// Update Oculus Rift tracking (position and orientation)
@@ -1625,31 +1621,7 @@ static void InitDisplay(int width, int height)
// Downscale matrix is required in case desired screen area is bigger than display area
downscaleView = MatrixIdentity();
-
-#if defined(PLATFORM_OCULUS)
- ovrResult result = ovr_Initialize(NULL);
- if (OVR_FAILURE(result)) TraceLog(ERROR, "OVR: Could not initialize Oculus device");
-
- result = ovr_Create(&session, &luid);
- if (OVR_FAILURE(result))
- {
- TraceLog(WARNING, "OVR: Could not create Oculus session");
- ovr_Shutdown();
- }
- hmdDesc = ovr_GetHmdDesc(session);
-
- TraceLog(INFO, "OVR: Product Name: %s", hmdDesc.ProductName);
- TraceLog(INFO, "OVR: Manufacturer: %s", hmdDesc.Manufacturer);
- TraceLog(INFO, "OVR: Product ID: %i", hmdDesc.ProductId);
- TraceLog(INFO, "OVR: Product Type: %i", hmdDesc.Type);
- TraceLog(INFO, "OVR: Serian Number: %s", hmdDesc.SerialNumber);
- TraceLog(INFO, "OVR: Resolution: %ix%i", hmdDesc.Resolution.w, hmdDesc.Resolution.h);
-
- screenWidth = hmdDesc.Resolution.w/2;
- screenHeight = hmdDesc.Resolution.h/2;
-#endif
-
#if defined(PLATFORM_DESKTOP) || defined(PLATFORM_WEB)
glfwSetErrorCallback(ErrorCallback);
@@ -1964,14 +1936,6 @@ static void InitGraphics(void)
rlglInit(); // Init rlgl
rlglInitGraphics(renderOffsetX, renderOffsetY, renderWidth, renderHeight); // Init graphics (OpenGL stuff)
-#if defined(PLATFORM_OCULUS)
- // Initialize Oculus Buffers
- layer = InitOculusLayer(session);
- buffer = LoadOculusBuffer(session, layer.width, layer.height);
- mirror = LoadOculusMirror(session, hmdDesc.Resolution.w/2, hmdDesc.Resolution.h/2);
- layer.eyeLayer.ColorTexture[0] = buffer.textureChain; //SetOculusLayerTexture(eyeLayer, buffer.textureChain);
-#endif
-
ClearBackground(RAYWHITE); // Default background color for raylib games :P
#if defined(PLATFORM_ANDROID)