All Projects → OpenHMD → Openhmd

OpenHMD / Openhmd

Licence: bsl-1.0
Free and Open Source API and drivers for immersive technology.

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Openhmd

hobo vr
SteamVR driver prototyping tool
Stars: ✭ 44 (-94.74%)
Mutual labels:  vr, driver
soundstagevr
virtual reality music sandbox built specifically for room-scale VR
Stars: ✭ 38 (-95.46%)
Mutual labels:  vr, oculus
HadesVR
The "DIY" SteamVR compatible VR setup made for tinkerers.
Stars: ✭ 88 (-89.49%)
Mutual labels:  vr, driver
Meganekko
Gear VR Application Framework
Stars: ✭ 25 (-97.01%)
Mutual labels:  vr, oculus
Viveinpututility Unity
A toolkit that helps developing/prototyping VR apps.
Stars: ✭ 256 (-69.41%)
Mutual labels:  oculus, vr
home-space
Startpage and WebXR home
Stars: ✭ 43 (-94.86%)
Mutual labels:  vr, oculus
janusweb
An in-browser implementation of JanusVR
Stars: ✭ 145 (-82.68%)
Mutual labels:  vr, oculus
Webxr Handtracking
👐 WebXR hand tracking examples
Stars: ✭ 116 (-86.14%)
Mutual labels:  oculus, vr
CodeAndQuestsEveryDay
Regular research on the Quest for developers.
Stars: ✭ 27 (-96.77%)
Mutual labels:  vr, oculus
MoonMotion
Moon Motion Toolkit - Free and open source toolkit for VR locomotion
Stars: ✭ 38 (-95.46%)
Mutual labels:  vr, oculus
Aframe
🅰️ web framework for building virtual reality experiences.
Stars: ✭ 13,428 (+1504.3%)
Mutual labels:  oculus, vr
Relativty
An open source VR headset with SteamVR supports for $200
Stars: ✭ 5,544 (+562.37%)
Mutual labels:  oculus, vr
Remixvr
RemixVR is a tool for collaboratively building customisable VR experiences.
Stars: ✭ 129 (-84.59%)
Mutual labels:  oculus, vr
zephyr
Mirror Android notifications to VR
Stars: ✭ 78 (-90.68%)
Mutual labels:  vr, oculus
Thehallaframe
WebVR demo that displays art
Stars: ✭ 120 (-85.66%)
Mutual labels:  oculus, vr
AnotherBadBeatSaberClone
This is a discontinued but perhaps helpful VR project created during my Master's degree at FH Wedel.
Stars: ✭ 22 (-97.37%)
Mutual labels:  vr, oculus
Aframe Vimeo Component
Stream Vimeo videos into WebVR.
Stars: ✭ 62 (-92.59%)
Mutual labels:  oculus, vr
Viro
ViroReact: AR and VR using React Native
Stars: ✭ 1,735 (+107.29%)
Mutual labels:  oculus, vr
aframe-controller-cursor-component
A cursor for tracked controllers.
Stars: ✭ 30 (-96.42%)
Mutual labels:  vr, oculus
Ideaspace
😎 Create interactive 3D and VR web experiences for desktop, mobile & VR devices
Stars: ✭ 344 (-58.9%)
Mutual labels:  oculus, vr

OpenHMD

This project aims to provide a Free and Open Source API and drivers for immersive technology, such as head mounted displays with built in head tracking.

License

OpenHMD is released under the permissive Boost Software License (see LICENSE for more information), to make sure it can be linked and distributed with both free and non-free software. While it doesn't require contribution from the users, it is still very appreciated.

Supported Devices

For a full list of supported devices please check https://github.com/OpenHMD/OpenHMD/wiki/Support-List

Supported Platforms

  • Linux
  • Windows
  • OS X
  • Android
  • FreeBSD

Requirements

Language Bindings

Other FOSS HMD Drivers

Compiling and Installing

Using Meson:

With Meson, you can enable and disable drivers to compile OpenHMD with. Current available drivers are: rift, deepon, psvr, vive, nolo, wmr, xgvr, vrtek, external, and android. These can be enabled or disabled by adding -Ddrivers=... with a comma separated list after the meson command (or using meson configure ./build -Ddrivers=...). By default all drivers except android are enabled.

meson ./build [-Dexamples=simple,opengl]
ninja -C ./build
sudo ninja -C ./build install

Using CMake:

With CMake, you can enable and disable drivers to compile OpenHMD with. Current Available drivers are: OPENHMD_DRIVER_OCULUS_RIFT, OPENHMD_DRIVER_DEEPOON, OPENHMD_DRIVER_PSVR, OPENHMD_DRIVER_HTC_VIVE, OPENHMD_DRIVER_NOLO, OPENHMD_DRIVER_WMR, OPENHMD_DRIVER_XGVR, OPENHMD_DRIVER_VRTEK, OPENHMD_DRIVER_EXTERNAL and OPENHMD_DRIVER_ANDROID. These can be enabled or disabled adding -DDRIVER_OF_CHOICE=ON after the cmake command (or using cmake-gui).

mkdir build
cd build
cmake ..
make
sudo make install

Configuring udev on Linux

To avoid having to run your applications as root to access USB devices you have to add a udev rule (this will be included in .deb packages, etc).

A full list of known usb devices and instructions on how to add them can be found on: https://github.com/OpenHMD/OpenHMD/wiki/Udev-rules-list

After this you have to unplug your device and plug it back in. You should now be able to access the HMD as a normal user.

Compiling on Windows

CMake has a lot of generators available for IDE's and build systems. The easiest way to find one that fits your system is by checking the supported generators for you CMake version online. Example using VC2013.

cmake . -G "Visual Studio 12 2013 Win64"

This will generate a project file for Visual Studio 2013 for 64 bit systems. Open the project file and compile as you usually would do.

Cross compiling for windows using mingw

Using CMake:

For MinGW cross compiling, toolchain files tend to be the best solution. Please check the CMake documentation on how to do this. A starting point might be the CMake wiki: http://www.vtk.org/Wiki/CmakeMingw

Static linking on windows

If you're linking statically with OpenHMD using windows/mingw you have to make sure the macro OHMD_STATIC is set before including openhmd.h. In GCC this can be done by adding the compiler flag -DOHMD_STATIC, and with msvc it can be done using /DOHMD_STATIC.

Note that this is only if you're linking statically! If you're using the DLL then you must not define OHMD_STATIC. (If you're not sure then you're probably linking dynamically and won't have to worry about this).

Pre-built packages

A list of pre-built backages can be found on http://www.openhmd.net/index.php/download/

Using OpenHMD

See the examples/ subdirectory for usage examples. The OpenGL example is not built by default, to build it use the --enable-openglexample option for the configure script. It requires SDL2, glew and OpenGL.

An API reference can be generated using doxygen and is also available here: http://openhmd.net/doxygen/0.1.0/openhmd_8h.html

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].