Git Product home page Git Product logo

libovr_nsb's Introduction

libovr_nsb v0.3.0

This is a Pure C implementation of the Oculus Rift SDK in static and shared library form. This library was created to provide access to the drivers and sensor fusion algorithms produced by Oculus VR from basic C functions.

The library uses the excellent hidapi library for the HID heavy lifting. I had originally created some HID routines myself, but hidapi offers cross-platform support so I decided to switch in the eventual hopes that I'd support other platforms in the future.

This library also uses gl-matrix.c, which is a permissively-licensed vector/matrix/quat library. This choice was pretty arbitrary. I didn't want to write one myself and I wanted one with a license that was compatible with the Oculus VR SDK. Only a handful of functions are actually used for the tracker updates, but having a whole library available is handy.

PRE-BUILT BINARY PACKAGES

For now, I only have the following packages. You will still need to install HIDAPI (see prerequesites) to use the library.

Example source code:

libovr_nsb-0.3.0-examples.tar.bz2

Prerequesites

From a base ubuntu install, grab the following packages:

  • g++
  • gcc
  • make
  • automake
  • libtool
  • freeglut3-dev
  • libudev-dev
  • libusb-1.0-0-dev

Compiling

Just type 'make. The included makefile will perform the following actions

./autoconf
./configure
make

You can run these separately if you need to provide other arguments such as the location of the hidapi library or headers. To remove all build files and start over from scratch, do:

make -f Makefile.clean clean

Excellent idea Shamelessly copied from the OpenHMD folks:

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.

Installing

make install

Usage

You can make use of the library by including <libovr_nsb/OVR.h> and linking with -lovr_nsb -lgl_matrix

See the examples in the source for further details

This will install into $PREFIX. You'll need to export LD_LIBRARY_PATH to point at $PREFIX/lib in order to run the examples

Uninstall

make uninstall

License

This library falls under the Oculus Rift SDK License. See License.txt for details

Oculus Rift SDK

(C) Oculus VR, Inc. 2013. All Rights Reserved. The latest version of the Oculus SDK is available at http://developer.oculusvr.com.

Other HMD Libraries

OpenHMD

LibVR

Contact

If you're on the oculus rift forums ( https://developer.oculusvr.com/forums/ ) you can pm to 'nsb' there. Otherwise, feel free to email me: [email protected]

Contributors

Anthony Tavener ..and many others!

libovr_nsb's People

Contributors

atavener avatar nbr0wn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

thebusby fourks

libovr_nsb's Issues

FPS discrepancy

In libovr_nsb I'm seeing 14FPS (linux, gldemo --rift, libovr_nsb 1878f25, Nvidia drivers)

In the standard OVR SDK, I'm seeing 100FPS (Windows 7, OculusWorldDemo, SDK 0.2.2)

Same hardware, but very different software.

Any thought on the huge FPS difference?

Sorry if this doesn't belong in the "issue" tracking system. I didn't see an obvious forum.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.