diff --git a/src/rlgl.c b/src/rlgl.c index 18c0b9292..b50e1a459 100644 --- a/src/rlgl.c +++ b/src/rlgl.c @@ -361,6 +361,12 @@ static char *ReadTextFile(const char *fileName); #endif #if defined(RLGL_OCULUS_SUPPORT) +static bool InitOculusDevice(void); // Initialize Oculus device (returns true if success) +static void CloseOculusDevice(void); // Close Oculus device +static void UpdateOculusTracking(void); // Update Oculus head position-orientation tracking +static void BeginOculusDrawing(void); // Setup Oculus buffers for drawing +static void EndOculusDrawing(void); // Finish Oculus drawing and blit framebuffer to mirror + static OculusBuffer LoadOculusBuffer(ovrSession session, int width, int height); // Load Oculus required buffers static void UnloadOculusBuffer(ovrSession session, OculusBuffer buffer); // Unload texture required buffers static OculusMirror LoadOculusMirror(ovrSession session, int width, int height); // Load Oculus mirror buffers @@ -3912,7 +3918,7 @@ static Color *GenNextMipmap(Color *srcData, int srcWidth, int srcHeight) #endif #if defined(RLGL_OCULUS_SUPPORT) -// Initialize Oculus device +// Initialize Oculus device (returns true if success) static bool InitOculusDevice(void) { bool oculusReady = false; @@ -3959,6 +3965,7 @@ static bool InitOculusDevice(void) return oculusReady; } +// Close Oculus device (and unload buffers) static void CloseOculusDevice(void) { UnloadOculusMirror(session, mirror); // Unload Oculus mirror buffer @@ -3968,6 +3975,7 @@ static void CloseOculusDevice(void) ovr_Shutdown(); // Close Oculus device connection } +// Update Oculus head position-orientation tracking static void UpdateOculusTracking(void) { frameIndex++; @@ -3990,6 +3998,7 @@ static void UpdateOculusTracking(void) //if (sessionStatus.IsVisible) // the game or experience has VR focus and is visible in the HMD. } +// Setup Oculus buffers for drawing static void BeginOculusDrawing(void) { GLuint currentTexId; @@ -4003,6 +4012,7 @@ static void BeginOculusDrawing(void) //glFramebufferTexture2D(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_TEXTURE_2D, buffer.depthId, 0); // Already binded } +// Finish Oculus drawing and blit framebuffer to mirror static void EndOculusDrawing(void) { // Unbind current framebuffer (Oculus buffer)