Several new capabilities of OSVR are now available to the OSVR ecosystem, including new features in the core, improved Unity plugin, distortion measurement/correction tools as well as additional new resources available to the community.
A new release of OSVR core (version 0.1.652) has been deployed to access.osvr.com
The release adds several new features:
– Add display descriptor JSON files that describe display parameters such as field of view, resolution, side-by-side mode as well as distortion correction parameters. These files can be used by various applications – such as the Unity plugin – to adjust the rendering parameters to match the VR headset of choice. If you make HMDs, please take a look at the format of the JSON file and send us one for your device.
– Add automatic reconnect for OSVR HDK and Razer Hydra. This eliminates the need to restart the OSVR server if the HDK or Hydra were power cycled or otherwise disconnected from the PC. A more generic mechanism covering additional devices is coming soon.
– Allow controlling the sleep period in the main loop of the server, thus freeing up CPU resources. The osvr_server_config.json file now has a “sleep” parameter under “server”. This parameter, in milliseconds, specifies the sleep in the main loop. It can be 0 (maximum performance, maximum CPU load) or other values such as 1 (samples peripherals every 1 mSec, so 1000 times per second).
This release also includes an alpha version of the new imager interface which allows routing and processing of video images inside OSVR. It is built on OpenCV, the popular open-source computer vision framework.
The imager interface includes PluginKit and ClientKit interfaces (both are designed for use with C++ though there is an underlying C API). An OpenCV camera capture plugin (with sample config file) and sample client application (displays image data from OSVR using OpenCV “highgui”) are included.
In its current incarnation, the imager interface has significant limitations with regards to image size, number of bits per channel and the efficiency of image transfer between the OSVR server and OSVR clients. These limitations will be addressed shortly. The imager interface includes a lot of infrastructure work which will be used in additional types of device interfaces.
OSVR Unity Plugin
The Unity plugin (version 59) has been improved significantly. It automatically sets the display parameters based on the display JSON files (see https://github.com/OSVR/OSVR-Unity/tree/master/OSVR-Unity/Assets/OSVRUnity/Displays for some examples)
We also created a new white paper showing how to transition Unity games to OSVR. Download it here
This tool provides a way to empirically determine geometric and color distortion parameters for an HMD as well as an example shader that uses these parameters to correct them. It is found in https://github.com/OSVR/distortionizer
A utility program allows interactively changing the distortion of red, green and blue using a simple cubic distortion function until the image appears best. It then stores these parameters in a JSON file and includes a demonstration program that uses them in a shader. Although the tool can be enhanced for more sophisticated functions, we believe it is useful in its present form.
In the coming days, towards the close of GDC, we shall open the source code for public consumption. Until then, we are busy making some improvements and adjustments including documentation improvements, formally changing the software license to Apache 2.0. We are also working with many contributors to add plugins and other unique functionality to OSVR. Stay tuned!
A few administrative notes:
– We will be at GDC, primarily at the Razer booth which is booth 602 in South Hall. We’ll have exciting demos from partners and will be available to discuss anything OSVR.
– The wiki pages at access.osvr.com have been updated to include several ‘getting started’ documents, so make sure to take a look from time to time.
– The Github repositories were migrated from the /sensics organization to the /osvr organization on Github
– The best email address for support is email@example.com
Thank you for being part of OSVR!