Keine Beschreibung

Fredrik Hultin 04d11e200a Merge pull request #33 from OpenHMD/set-orientation vor 10 Jahren
examples 8b20c3ada5 added position correction vor 10 Jahren
include d2adb8a1bb fixed missing parameter name in doxygen description vor 10 Jahren
pkg-config c4be906cbb added lib linking and hidapi requirement to pkg-config file vor 12 Jahren
src 8b20c3ada5 added position correction vor 10 Jahren
tests 58d4b7591c new quatf math vor 10 Jahren
.gitignore a1662d7816 Initial Commit vor 12 Jahren
Doxyfile 3312fd800a merged in code_documentation feature branch, which adds doxygen code documentation vor 12 Jahren
LICENSE a1662d7816 Initial Commit vor 12 Jahren
Makefile.am 8cb31c5953 Moved examples from test/ to example/ subdirectory and updated README.md. vor 12 Jahren
README.md fde0f7e655 fixed formatting vor 10 Jahren
autogen.sh a1662d7816 Initial Commit vor 12 Jahren
configure.ac 20175148cc removed Werror and added check for AM_PROG_AR vor 12 Jahren

README.md

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

  • Oculus Rift DK1 and DK2 (rotation only)

Supported Platforms

  • Linux
  • Windows
  • OS X

Requirements

Language Bindings

Other FOSS HMD Drivers

Compiling and Installing

./autogen.sh # (if you're building from the git repository)
./configure [--enable-openglexample]
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).

as root, run:

echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="2833", MODE="0666", GROUP="plugdev"' > /etc/udev/rules.d/83-hmd.rules
udevadm control --reload-rules

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

Cross compiling for windows using mingw

export PREFIX=/usr/i686-w64-mingw32/ (or whatever your mingw path is)
PKG_CONFIG_LIBDIR=$PREFIX/lib/pkgconfig ./configure --build=`gcc -dumpmachine` --host=i686-w64-mingw32 --prefix=$PREFIX
make

the library will end up in the .lib directory, you can use microsoft's lib.exe to make a .lib file for it

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

Will be available soon.

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 SDL, 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