1
0
Fork 0
flightgear/3rdparty/osgXR/README.md
James Hogan 0431e7cb3c
3rdparty: Import osgXR 0.3.7+
Import osgXR from https://github.com/amalon/osgXR master branch into
3rdparty, specifically commit b7e222775553b529018ac4b847353327c24ae5d4,
which is 0.3.7 with tweaks for building as a subproject in a
subdirectory.

This will allow VR support to be more conveniently built if not already
installed, without having to fetch yet another dependency.
2022-01-13 18:01:00 +00:00

73 lines
1.9 KiB
Markdown

osgXR: Virtual Reality with OpenXR and OpenSceneGraph
=====================================================
This library is to allow Virtual Reality support to be added to
[OpenSceneGraph](http://www.openscenegraph.org/) applications, using the
[OpenXR](https://www.khronos.org/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](https://matrix.to/#/#osgxr:hoganfam.uk?via=hoganfam.uk)
* [OpenXR specifications](https://www.khronos.org/registry/OpenXR/#apispecs)
Installation
------------
Something like this:
```shell
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:
```cmake
find_package(osgXR 0.3.5 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:
```cmake
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](docs/API.md) for details of the API.