Oculus Rift

From TouchDesigner 099 Wiki

Oculus Rift CV1

Oculus Rift CV1 VR headset through the Oculus Rift TOP and Oculus Rift CHOP.

Download three demos files: File:OculusRiftCV1Demos.zip

Oculus cv1.jpg

Oculus Rift CV1 support in TouchDesigner

TouchDesigner has built-in support for Oculus Rift through the Oculus Rift TOP and Oculus Rift CHOP. Both operators have a Device parameter to support using multiple devices connected to one machine.

Requirements

Ways to interface with Oculus Rift in TouchDesigner

  • Oculus Rift CHOP - outputs several sets of channels such as orientation, left and right eye camera positions, acceleration and left and right eye projection matrices.
  • Oculus Rift TOP - Outputs the left and right images to the Oculus Rift.

Getting Started

The demos list above are a good starting point for developing for the Oculus Rift. First ensure that the headset is configured to use the 'Extend Desktop to the HMD' display mode. This can be selected from the Oculus Configuration Utility under the Tools->Rift Display Mode menu. Direct HMD rendering is not supported for OpenGL applications yet. Once the Oculus is appearing as an extra monitor in your OS you need to ensure it has the correct orientation. By default it shows up as 'Portrait' but our tests have shown that the correct orientation is 'Landscape (Flipped)'. Use the 'Show Demo Scene' button in the Oculus Configuration Utility to test and ensure the display is setup correctly. Once the Oculus is working correctly for the demo scene in 'Extend Desktop Mode', it should also work correctly for TouchDesigner.

Refresh Rate Issues

The Oculus runs at 90hz, but most desktop monitors are 60hz. Windows may not feed the Oculus 90hz data if there are TouchDesigner windows redrawing on the 60hz monitor. If possible set all your monitors to run at 90hz also, however many monitors don't support that. Going into perform mode with your window and ensuring the 'Redraw' parameter is off avoids this issue. In addition, V-Sync Mode in the perform Window COMP should be disabled.

Oculus Rift CHOP

The Oculus Rift CHOP provides two main sets of data. Each eye's camera render position via a transform matrix as 16 CHOP channels. The other set of data is each eye's projection matrix also as 16 CHOP channels. These two matrices can be used directly in the Camera COMP using the CHOP/DAT Matrix parameters for the Pre-XForm and Projection Matrix.

Tips for Working with Oculus Rift