Skip to content
This repository has been archived by the owner on Dec 31, 2020. It is now read-only.

num3ric/Cinder-OculusRift

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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!

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •