DEPRECATED. Refer to: https://github.com/cinder/Cinder-VR
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
LibOVR
include
samples
.gitignore
LICENSE.txt
README.md
cinderblock.png
cinderblock.xml

README.md

Cinder-OculusRift

This is yet another Oculus Rift block for Cinder, and a collaboration between Paul Houx & myself. Thanks Paul for all the initial work!

Samples

  • Basic Sample: Features the standard use case scenario, with all the most common functionalities. BasicSample

  • Spherical Stereo: Maps a sample Arnold 360 texture to a sphere, in stereo. Useful for both live-action & pre-rendered CG content. SphericalStereo

  • Instanced Stereo: Similar to the Basic Sample, only it uses instanced stereo rendering as described here.

Usage

First, initialize the rift manager in prepareSettings.

hmd::RiftManager::initialize();

Create an Oculus Rift instance:

hmd::OculusRiftRef	mRift;
...
mRift = hmd::OculusRift::create();

The OculusRift class has two cameras: a convenience host camera controlling the overall head position & orientation, and an active eye camera which is updated by the SDK according to the tracked position & orientation. Their transformations are composed and can be queried via the hmd::OculusRift interface.

In the draw() loop, call bind to render the scene to the rift's framebuffers. Iterate over each eye, drawing your scene as follows:

hmd::ScopedRiftBuffer bind{ mRift };
...
for( auto eye : mRift.getEyes() ) {
		mRift.enableEye( eye );
		drawScene();
}

To avoid judder, make sure you hit 90fps for the CV1 and 75fps for the DK2!