| 
				
				
					
						
					
				
				
				 | 
			
			 | 
			
			@ -372,11 +372,11 @@ static char *ReadTextFile(const char *fileName);        // Read chars array from | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			
 | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			#if defined(RLGL_OCULUS_SUPPORT) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			#if !defined(RLGL_STANDALONE) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			static bool InitOculusDevice(void);         // Initialize Oculus device (returns true if success) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			static void CloseOculusDevice(void);        // Close Oculus device | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			static void UpdateOculusTracking(kt">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 bool InitOculusDevice(void);                 // Initialize Oculus device (returns true if success) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			static void CloseOculusDevice(void);                // Close Oculus device | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			static void UpdateOculusTracking(n">Camera *camera);   // 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 | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			#endif | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			
 | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			static OculusBuffer LoadOculusBuffer(ovrSession session, int width, int height);    // Load Oculus required buffers | 
			
		
		
	
	
		
			
				| 
				
					
						
					
				
				
					
						
					
				
				
				 | 
			
			 | 
			
			@ -2735,15 +2735,11 @@ void ToggleVrMode(void) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			} | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			
 | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			// Update VR tracking (position and orientation) and camera | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			// NOTE: Camera (position, target, up) gets update with head tracking information | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			void UpdateVrTracking(Camera *camera) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			{ | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			#if defined(RLGL_OCULUS_SUPPORT) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    if (vrDeviceReady) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    { | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			        UpdateOculusTracking(); | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			         | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			        // TODO: Update camera data (position, target, up) with tracking data | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    } | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    if (vrDeviceReady) UpdateOculusTracking(camera); | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			#endif | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			} | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			
 | 
			
		
		
	
	
		
			
				| 
				
					
						
					
				
				
					
						
					
				
				
				 | 
			
			 | 
			
			@ -4083,7 +4079,7 @@ OCULUSAPI void CloseOculusDevice(void) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			} | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			
 | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			// Update Oculus head position-orientation tracking | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			OCULUSAPI void UpdateOculusTracking(kt">void) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			OCULUSAPI void UpdateOculusTracking(n">Camera *camera) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			{ | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    frameIndex++; | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			
 | 
			
		
		
	
	
		
			
				| 
				
				
				
					
						
					
				
				 | 
			
			 | 
			
			@ -4093,6 +4089,10 @@ OCULUSAPI void UpdateOculusTracking(void) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    layer.eyeLayer.RenderPose[0] = eyePoses[0]; | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    layer.eyeLayer.RenderPose[1] = eyePoses[1]; | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			     | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    // TODO: Update external camera with eyePoses data (position, orientation) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    // NOTE: We can simplify to simple camera if we consider IPD and HMD device configuration again later | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    // it will be useful for the user to draw, lets say, billboards oriented to camera | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			     | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    // Get session status information | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    ovrSessionStatus sessionStatus; | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    ovr_GetSessionStatus(session, &sessionStatus); | 
			
		
		
	
	
		
			
				| 
				
					
						
					
				
				
				
				 | 
			
			 | 
			
			
 |