raylib-cpp
C++ object-oriented wrapper library for raylib.
VrSimulator.hpp
1 #ifndef RAYLIB_CPP_INCLUDE_VRSIMULATOR_HPP_
2 #define RAYLIB_CPP_INCLUDE_VRSIMULATOR_HPP_
3 
4 #include "./raylib.hpp"
5 #include "./raylib-cpp-utils.hpp"
6 
7 namespace raylib {
11 class VrSimulator {
12  public:
13  VrSimulator() {
14  Init();
15  }
16 
17  VrSimulator(::VrDeviceInfo info, ::Shader distortion) {
18  Init();
19  Set(info, distortion);
20  }
21 
25  inline void Init() {
26  InitVrSimulator();
27  }
28 
33  Close();
34  }
35 
39  inline bool IsReady() const {
40  return ::IsVrSimulatorReady();
41  }
42 
46  inline VrSimulator& Update(::Camera *camera) {
47  ::UpdateVrTracking(camera);
48  return *this;
49  }
50 
54  inline VrSimulator& Update(const ::Camera& camera) {
55  const ::Camera* cameraPointer = reinterpret_cast<const Camera*>(&camera);
56  ::UpdateVrTracking((::Camera*)cameraPointer);
57  return *this;
58  }
59 
63  inline VrSimulator& Set(::VrDeviceInfo info, ::Shader distortion) {
64  ::SetVrConfiguration(info, distortion);
65  return *this;
66  }
67 
71  inline VrSimulator& Toggle() {
72  ::ToggleVrMode();
73  return *this;
74  }
75 
80  ::BeginVrDrawing();
81  return *this;
82  }
83 
87  inline VrSimulator& EndDrawing() {
88  ::EndVrDrawing();
89  return *this;
90  }
91 
95  inline void Close() {
96  ::CloseVrSimulator();
97  }
98 };
99 } // namespace raylib
100 
101 #endif // RAYLIB_CPP_INCLUDE_VRSIMULATOR_HPP_
raylib
All raylib-cpp classes and functions appear in the raylib namespace.
Definition: AudioDevice.hpp:7
raylib::VrSimulator::~VrSimulator
~VrSimulator()
Close VR simulator for current device.
Definition: VrSimulator.hpp:32
raylib::VrSimulator::Update
VrSimulator & Update(const ::Camera &camera)
Update VR tracking (position and orientation) and camera.
Definition: VrSimulator.hpp:54
raylib::VrSimulator::Toggle
VrSimulator & Toggle()
Enable/Disable VR experience.
Definition: VrSimulator.hpp:71
raylib::Camera3D
Camera type, defines a camera position/orientation in 3d space.
Definition: Camera3D.hpp:12
raylib::VrSimulator::Update
VrSimulator & Update(::Camera *camera)
Update VR tracking (position and orientation) and camera.
Definition: VrSimulator.hpp:46
raylib::VrSimulator::Init
void Init()
Init VR simulator for selected device parameters.
Definition: VrSimulator.hpp:25
raylib::VrSimulator::EndDrawing
VrSimulator & EndDrawing()
End VR simulator stereo rendering.
Definition: VrSimulator.hpp:87
raylib::Shader
Shader type (generic)
Definition: Shader.hpp:14
raylib::VrSimulator::Close
void Close()
Close VR simulator for current device.
Definition: VrSimulator.hpp:95
raylib::VrSimulator::IsReady
bool IsReady() const
Detect if VR simulator is ready.
Definition: VrSimulator.hpp:39
raylib::VrSimulator
VR control functions.
Definition: VrSimulator.hpp:11
raylib::VrSimulator::Set
VrSimulator & Set(::VrDeviceInfo info, ::Shader distortion)
Set stereo rendering configuration parameters.
Definition: VrSimulator.hpp:63
raylib::VrSimulator::BeginDrawing
VrSimulator & BeginDrawing()
Begin VR simulator stereo rendering.
Definition: VrSimulator.hpp:79