Преглед на файлове

Added notes on vr tracking -> camera update

pull/192/head
raysan5 преди 8 години
родител
ревизия
d5e0f4e84e
променени са 2 файла, в които са добавени 13 реда и са изтрити 13 реда
  1. +12
    -12
      src/rlgl.c
  2. +1
    -1
      src/rlgl.h

+ 12
- 12
src/rlgl.c Целия файл

@ -372,11 +372,11 @@ static char *ReadTextFile(const char *fileName); // Read chars array from
#if defined(RLGL_OCULUS_SUPPORT) #if defined(RLGL_OCULUS_SUPPORT)
#if !defined(RLGL_STANDALONE) #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 #endif
static OculusBuffer LoadOculusBuffer(ovrSession session, int width, int height); // Load Oculus required buffers 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 // Update VR tracking (position and orientation) and camera
// NOTE: Camera (position, target, up) gets update with head tracking information
void UpdateVrTracking(Camera *camera) void UpdateVrTracking(Camera *camera)
{ {
#if defined(RLGL_OCULUS_SUPPORT) #if defined(RLGL_OCULUS_SUPPORT)
if (vrDeviceReady)
{
UpdateOculusTracking();
// TODO: Update camera data (position, target, up) with tracking data
}
if (vrDeviceReady) UpdateOculusTracking(camera);
#endif #endif
} }
@ -4083,7 +4079,7 @@ OCULUSAPI void CloseOculusDevice(void)
} }
// Update Oculus head position-orientation tracking // Update Oculus head position-orientation tracking
OCULUSAPI void UpdateOculusTracking(kt">void)
OCULUSAPI void UpdateOculusTracking(n">Camera *camera)
{ {
frameIndex++; frameIndex++;
@ -4093,6 +4089,10 @@ OCULUSAPI void UpdateOculusTracking(void)
layer.eyeLayer.RenderPose[0] = eyePoses[0]; layer.eyeLayer.RenderPose[0] = eyePoses[0];
layer.eyeLayer.RenderPose[1] = eyePoses[1]; 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 // Get session status information
ovrSessionStatus sessionStatus; ovrSessionStatus sessionStatus;
ovr_GetSessionStatus(session, &sessionStatus); ovr_GetSessionStatus(session, &sessionStatus);

+ 1
- 1
src/rlgl.h Целия файл

@ -381,7 +381,7 @@ void ToggleVrMode(void); // Enable/Disable VR experience (dev
// Oculus Rift API for direct access the device (no simulator) // Oculus Rift API for direct access the device (no simulator)
bool InitOculusDevice(void); // Initialize Oculus device (returns true if success) bool InitOculusDevice(void); // Initialize Oculus device (returns true if success)
void CloseOculusDevice(void); // Close Oculus device void CloseOculusDevice(void); // Close Oculus device
void UpdateOculusTracking(kt">void); // Update Oculus head position-orientation tracking
void UpdateOculusTracking(n">Camera *camera); // Update Oculus head position-orientation tracking (and camera)
void BeginOculusDrawing(void); // Setup Oculus buffers for drawing void BeginOculusDrawing(void); // Setup Oculus buffers for drawing
void EndOculusDrawing(void); // Finish Oculus drawing and blit framebuffer to mirror void EndOculusDrawing(void); // Finish Oculus drawing and blit framebuffer to mirror
#endif #endif

Зареждане…
Отказ
Запис