6c812a3dfd
Update 3rdparty/osgXR to version 0.5.0, which primarily gets us build fixes for Windows. Unfortunately one of them requires an API breakage to avoid some apparent preprocessor namespace pollution on Windows, which will require minor source modification in FlightGear (left to the next commit). The ABI is unchanged so binary compatibility is unaffected. |
||
---|---|---|
.. | ||
docs | ||
examples | ||
include/osgXR | ||
src | ||
CHANGELOG.md | ||
CMakeLists.txt | ||
Config.cmake.in | ||
LICENSE.txt | ||
osgXR.pc.in | ||
README.md |
osgXR: Virtual Reality with OpenXR and OpenSceneGraph
This library is to allow Virtual Reality support to be added to OpenSceneGraph applications, using the OpenXR standard.
Status:
- Still in development, contributions welcome. Plenty of work to do.
- APIs to support OpenXR VR display output in OpenSceneGraph apps.
- APIs to support OpenXR's action based input and haptic output for controller interaction.
- OpenGL graphics bindings for Linux (X11/Xlib) and Windows (note that WMR only supports DirectX bindings).
License: LGPL 2.1
Dependencies: OpenSceneGraph, OpenXR
Links:
- Matrix room: #osgxr:hoganfam.uk
- OpenXR specifications
Installation
Something like this:
mkdir build
cd build
cmake ..
make
make install
Getting Started
To import osgXR into a CMake based project, you can use the included CMake module, adding something like this to your CMakeLists.txt:
find_package(osgXR 0.5.0 REQUIRED)
target_link_libraries(target
..
osgXR::osgXR
)
osgXR can also optionally be built as a subproject. Consider using git subtree
to import osgXR, then use something like this:
add_subdirectory(osgXR)
target_link_libraries(target
..
osgXR
)
If you have installed osgXR outside of the system prefix (CMake's default prefix
on UNIX systems is /usr/local
), you may need to tell CMake where to find it
when you configure the project. You can do this by defining osgXR_DIR
when
invoking cmake, e.g. with the argument -DosgXR_DIR=$PREFIX/lib/cmake/osgXR
where $PREFIX
is osgXR's install prefix (CMAKE_INSTALL_PREFIX
).
The Public API
See the API documentation for details of the API.