Oculus Rift

From TouchDesigner 088 Wiki

Oculus Rift DK2

The Oculus Rift DK2] VR headset through the Oculus Rift TOP and Oculus Rift CHOP.

Download three demos files: File:OculusRiftDK2Demos50000.zip

Oculus Rift Dev Kit2.jpg

Oculus Rift DK2 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

  • Oculus Rift DK2 VR hardware
  • Setup Oculus Rift following the dev kit's instructions. Be sure to install the Oculus DK2 Runtime from the oculus website.

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 DK2 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 75hz, but most desktop monitors are 60hz. Windows may not feed the Oculus 75hz data if there are TouchDesigner windows redrawing on the 60hz monitor. If possible set all your monitors to run at 75hz 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.

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