OpenVR is an open standard for VR that is implemented and supported by Valve, and is the protocol used on the HTC Vive VR system, part of Valve Corporation's SteamVR project.
HTC Vive is the first (and currently only) device that has been tested throughly with TouchDesigner. The OpenVR TOP outputs the left and right rendered images to an OpenVR device. TouchDesigner supports its head tracking as well as the Vive's highly-accurate and responsive dual controllers (all its buttons, trackpad, and position/rotation values). These come in via the OpenVR CHOP.
OpenVR support in TouchDesigner
They implement https://github.com/ValveSoftware/openvr.
- OpenVR CHOP - outputs positional data from the OpenVR SDK. You can choose between Sensor extrinsic data: for use as a transform matrix in a Camera COMP, Sensor intrinsic data: for use as a projection matrix in a Camera COMP for left and right eye or Controller data: for positional and interaction channels from external controllers.
- OpenVR TOP - outputs the left and right images to an OpenVR device.
- OpenVR SOP - Holds OpenVR driver dependent models ie. a the model for an controller.
In TouchDesigner 088 build 60230 or later there is a Vive Section inthe Category:Palette with basic elements for a OpenVR environment as well as a simple complete setup which can be used as a starting point to develop OpenVR based projects: gestureDraw, openVRRender, viveController, viveSimple, geoControlPanel.
Prior example .toe and .tox files available here: File:OpenVRExamples.zip