Blender HMD Support

For virtual reality support, it's crucial that Blender has tools to work with a variety of HMD (head-mounted display) devices. At the bare minimum, it should be able to handle input from them and render a viewport adjusted for HMDs.

If we want to work towards a more feature rich support, we need a solid base system, meaning good initial interface and code design decisions are needed.

HMD Drivers

While there are free drivers available for all common HMDs, almost none are cross-platform and compatible with Blender's GPL license.

Currently the only option that fits those needs appears to be the OpenHMD driver/library. It's still a young project - features such as position tracking are still missing (though being worked on)- but it's heading into a promising direction.

The point has been raised though, that it should be possible to use other drivers as well and let the user decide which one to use.

UI/Workflow

The UI/workflow should work well together with multiview/stereo 3D since they are greatly overlapping features. HMDs require some special features though, which need to be implemented nicely too: