Monday, March 9, 2015

A brief overview of the OSVR source-code repositories

The OSVR team opened up most of the source code repositories to the public this weekend, and a few additional repositories will be opened in the coming days. Because Sensics is a founding contributor to this open-source VR project, many have asked us for a brief overview of the project.

The best place to start is osvr.github.io. If you haven't read the 'introduction to OSVR whitepaper' you might want to do so.

There are several github projects under the /osvr organization. They are as follows:

Key projects:

  • OSVR-Core : this is the heart of the project. The OSVR_server executable connects the game to the OSVR hardware and software components.

Utilities:

  • OSVR-Tracker-Viewer is a utility that graphically shows the position and orientation of the head and hand controllers. It is also an OSVR client, and thus an example on how to connect to and extract data from the server
  • Distortionizer: a utility to estimate distortion correction parameters for various HMDs and a shader to implement the parameters estimated by the Distortionizer. OSVR has JSON descriptor files for HMDs (and many other objects) and the distortion parameters are part of that JSON file

Game engine plugins:

  • OSVR-Unity includes a prefab component that can be imported into Unity. 
  • OSVR-Unreal (to be released later this week) is an Unreal Engine plugin

Development tools:

  • OSVR-Boxstarter is a Boxstarter install that helps quickly set up a development environment on a Windows machine
  • OSVR-JSON-Editor is the source code for a tool (deployed version here) that helps create and edit the JSON descriptor files
  • OSVR-JSON-Schemas is a repository for such JSON files

Plugins:

  • OSVR-Oculus-Rift provides a plugin that allows using the position and orientation data of an Oculus device inside OSVR. 
  • OSVR-Vuzix (to be released later this week) does the same for Vuzix headsets
Additional projects are coming. There is also a wiki page. Issues are currently tracked as part of the Github pages of the projects and we are looking to add an open-source project management tool.

OSVR (licensed under Apache 2.0 license) aims to create a multi-platform framework to detect, configure and operate a wide range of VR devices as well as to allow smart plugins that turn data into useful information. This is a big undertaking and there is a lot more work to be done to fulfill that vision, so we are looking for all the help we can get. I am super encouraged by the support and feedback we are getting from developers all over the world that believe in the open-source concept, and want to make their contributions towards moving VR forward. 

Let me know what you think. What's missing, what your priorities are and how we can get you involved. Welcome to OSVR.

No comments: