Browse Source

Added simulated head-tracking on VR simulator

A simple 1st person camera... still requires some work...
pull/189/head
Ray 8 years ago
parent
commit
5af1b4a7c9
3 changed files with 12 additions and 2 deletions
  1. +5
    -2
      examples/core_oculus_rift.c
  2. +1
    -0
      src/raylib.h
  3. +6
    -0
      src/rlgl.c

+ 5
- 2
examples/core_oculus_rift.c View File

@ -37,6 +37,8 @@ int main()
Vector3 cubePosition = { 0.0f, 0.0f, 0.0f };
SetCameraMode(camera, CAMERA_FIRST_PERSON);
SetTargetFPS(90); // Set our game to run at 90 frames-per-second
//--------------------------------------------------------------------------------------
@ -45,7 +47,8 @@ int main()
{
// Update
//----------------------------------------------------------------------------------
UpdateVrTracking();
if (IsVrSimulator()) UpdateCamera(&camera);
else UpdateVrTracking();
if (IsKeyPressed(KEY_SPACE)) ToggleVrMode();
//----------------------------------------------------------------------------------
@ -61,7 +64,7 @@ int main()
DrawCube(cubePosition, 2.0f, 2.0f, 2.0f, RED);
DrawCubeWires(cubePosition, 2.0f, 2.0f, 2.0f, MAROON);
DrawGrid(10, 1.0f);
DrawGrid(40, 1.0f);
End3dMode();

+ 1
- 0
src/raylib.h View File

@ -891,6 +891,7 @@ RLAPI void DestroyLight(Light light); // Des
RLAPI void InitVrDevice(int vdDevice); // Init VR device
RLAPI void CloseVrDevice(void); // Close VR device
RLAPI bool IsVrDeviceReady(void); // Detect if VR device (or simulator) is ready
RLAPI bool IsVrSimulator(void); // Detect if VR simulator is running
RLAPI void UpdateVrTracking(void); // Update VR tracking (position and orientation)
RLAPI void ToggleVrMode(void); // Enable/Disable VR experience (device or simulator)

+ 6
- 0
src/rlgl.c View File

@ -2710,6 +2710,12 @@ bool IsVrDeviceReady(void)
return (vrDeviceReady || vrSimulator) && vrEnabled;
}
// Detect if VR simulator is running
bool IsVrSimulator(void)
{
return vrSimulator;
}
// Enable/Disable VR experience (device or simulator)
void ToggleVrMode(void)
{

Loading…
Cancel
Save