Been a while since my last post…and that was on the old forums. Happy to be posting this on a shiny new forum!
Today (7/7) is the birthday of Cinder’s fearless leader, Andrew Bell. There’s no known history of any Cinder birthday traditions so in following with that - I’d like to wish him a “Happy Birthday!” along with introducing Cinder-VR: https://github.com/cinder/Cinder-VR
Nothing says caring like C++.
VR is pretty hot right now - and it’s also fun to play with! About a month ago, we set out to consolidate VR functionality into one place and try to make it as accessible to Cinder users as much as possible. Poor @num3ric had to endure endless questions about the Oculus Rift - hopefully he’ll forgive me one day. Starting with @num3ric’s Cinder-OculusRift Block the design was evolved to incorporate OpenVR for the HTC Vive.
Currently, OpenGL is the default and only supported render. We’re looking into making Vulkan possible in a sane way.
Cinder-VR will attempt to automatically detect which headset is present when it starts up. It has not been tested on a system with both plugged in. If someone has this config, please let us know how it turns out.
What APIs are used?
- Oculus Rift - Oculus SDK
- HTC Vive - OpenVR (Rift doesn’t always play nice with OpenVR - so that combo is not recommended)
What controllers are supported?
- Oculus Rift - Remote and Xbox controller (Touch will be added once it’s released)
- HTC Vive - Vive Controllers
There were two primary design goals:
- Support major devices (Rift and Vive for now) that accessible to Cinder users
- Create common coordinate system between the different environments (Rift and Vive)
As far as coordinate systems go, the major things to know:
- Device Coordinate System - coordinate system that’s local to the device (similar object space for those familiar with 3D packages)
- Tracking Coordinate System - base coordinate system that’s used by the device to track its position.
- World Coordinate System - coordinate system defined by an “origin” matrix applied to the Tracking Coordinate System to move the origin into a more accessible place.
The samples provide an idea of how all this comes together. More samples to come soon! @bantherewind has been talking one up.
Please check it out and let us know what you think! This is the initial release, so still very much a WIP. We welcome any feedback to improve the design so Cinder-VR becomes a solid VR solution taht works for Cinder users!
I’ll update with a cool screenshot soon.