やっていくOpenXR入門

1. はじめに

このページではVR/AR開発用の低レイヤーAPIであるOpenXRの使い方について解説していきます。

名前に入っている「XR」というのは、VR(仮想現実)やAR(拡張現実)、MR(複合現実)などの技術の総称です。現時点では主にVR関連での話題の方が目立つ印象ですが、AR/MR技術方面でも利用が進んでいます。

OpenXRは、機器側としてはViveやValve Index、OculusやPICOなどで実装され、またソフトウェア側ではUnity、UnrealEngine、WebXRバックエンドなどで利用され、既にかなり広まっています。次世代のスタンダードなAPIになっていくことは必至と思われる状況です。

その一方で、Unityなどに頼らず生のOpenXRをC/C++で触るための丁寧なチュートリアルはネット上どこを探してもありませんでした。これでは困ると思ったため、入門を書いてみることにした次第です。

OpenXR対応のHMDがある人は、ぜひそれを使って学んでいきましょう。現状ではOculus、Valve Index、Vive、PICO、HoloLens、Varjoなどのデバイスが対応している模様です。

言語はC++を使います。OpenXRはC言語のAPIですが、OpenXR-HppというC++ラッパーライブラリが公式で提供されており、こちらを使うとより便利に開発が進められます。そのためこのシリーズではこれを利用して開発を進めていきます。