libgoatvr: my modular VR abstraction library
In case anyone is interested, I just finished a first working version of the clean redesign/rewrite of GoatVR, my modular VR abstraction library: https://github.com/jtsiomb/libgoatvr. It's a bit rough yet, but it can be used to make cross-platform VR programs. Currently it comes with the following VR backends/modules:
A program written against this library should work transparently with the oculus rift on windows and GNU/Linux (supported HMDs at the time of OVR 0.5 of course), should work with any HMD supported by OpenVR/SteamVR (so both HTC vive and the oculus HMDs), and should work in simple stereo mode with 3DTVs, shutter glasses, red-cyan glasses, etc. Of course some features will not be available with all modules. For instance, with the SbS module active, goatvr_view_matrix() will only give you the stereo offset and not any kind of head-tracking.
Anyway, as I said this is an early version, but feel free to submit bug reports, feature requests, patches, etc, if you feel like using it.
- Oculus SDK 1.x (windows)
- Oculus SDK 0.5 (last GNU/Linux version)
- OpenVR/SteamVR
- Side-by-Side stereo
- OpenGL quad-buffer stereo
- Anaglyph stereo (red-cyan glasses).
A program written against this library should work transparently with the oculus rift on windows and GNU/Linux (supported HMDs at the time of OVR 0.5 of course), should work with any HMD supported by OpenVR/SteamVR (so both HTC vive and the oculus HMDs), and should work in simple stereo mode with 3DTVs, shutter glasses, red-cyan glasses, etc. Of course some features will not be available with all modules. For instance, with the SbS module active, goatvr_view_matrix() will only give you the stereo offset and not any kind of head-tracking.
Anyway, as I said this is an early version, but feel free to submit bug reports, feature requests, patches, etc, if you feel like using it.
