aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRay <raysan5@gmail.com>2016-10-09 20:56:58 +0200
committerRay <raysan5@gmail.com>2016-10-09 20:56:58 +0200
commit5af1b4a7c9119cf438e4cb5303009fbe9a25c6d7 (patch)
tree77a621bfb79f4fbc27666b366590c00b9eeaab61
parent3396743aba163545eb186beb47667d55d38528e9 (diff)
downloadraylib-5af1b4a7c9119cf438e4cb5303009fbe9a25c6d7.tar.gz
raylib-5af1b4a7c9119cf438e4cb5303009fbe9a25c6d7.zip
Added simulated head-tracking on VR simulator
A simple 1st person camera... still requires some work...
-rw-r--r--examples/core_oculus_rift.c7
-rw-r--r--src/raylib.h1
-rw-r--r--src/rlgl.c6
3 files changed, 12 insertions, 2 deletions
diff --git a/examples/core_oculus_rift.c b/examples/core_oculus_rift.c
index 88e411d4..3d8bb278 100644
--- a/examples/core_oculus_rift.c
+++ b/examples/core_oculus_rift.c
@@ -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();
diff --git a/src/raylib.h b/src/raylib.h
index 3b752785..df0ee7bc 100644
--- a/src/raylib.h
+++ b/src/raylib.h
@@ -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)
diff --git a/src/rlgl.c b/src/rlgl.c
index 244de52c..702edb18 100644
--- a/src/rlgl.c
+++ b/src/rlgl.c
@@ -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)
{