소스 검색

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_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);

+ 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)
bool InitOculusDevice(void); // Initialize Oculus device (returns true if success)
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 EndOculusDrawing(void); // Finish Oculus drawing and blit framebuffer to mirror
#endif

불러오는 중...
취소
저장