Swanman's Horizon

性欲をもてあましつつなんらかの話をするよ。

LibOVR wrapper for Delphi 0.0.1

これは何?

OculusRift用アプリを作るために必要なOculus SDKDelphiから使うためのラッパーライブラリです。

ダウンロード

LibOVR wrapper for Delphi 0.0.1

細かい話

FireMonkeyで使うのは難しい

LibOVRを使うには描画した内容をLibOVR側に渡す必要があります。DirectXの場合テクスチャのインターフェースに加えて、デバイスのインターフェースやらレンダーターゲットのインターフェースやらを渡す必要があるんですが、さらにDirectXのバージョン毎に渡す種類も違いめんどくさいです。OpenGLはそれに比べれば簡単で、基本的にはウィンドウとテクスチャのハンドルだけでOKです。
現在のラッパーはWindows専用なのでDirectXだけを考慮すればいいことになりますが、必要となる各インターフェースはFireMonkey内で隠蔽されてしまっており、取り出すのが非常にめんどくさいです。そのため、付属のデモではOpenGLを使いVCL上で動作するようになっています。

そのデモについて

内容としては色の付いた三角形がクルクルと回るだけのアプリです。
XE4で書いてるので、その他のバージョンでは修正しないと動かない可能性があります。特にXE4ではSystem.Types内で定義されたベクトルや行列といった型の計算がFMX.Types3Dに入ってる関数を使わないとできないという残念な仕様なんですが、いつからかSystem.Math.Vectorsに移ったと聞いてますんで、新しめの環境ではその辺の修正は必須だと思われます。

ライセンス

このライブラリはzlibライセンスです。BSDライセンスやMITライセンスにある著作者の表記義務すらないゆるーいライセンスですので、自由にお使いください。

その他

何かあれば @lynatan までどうぞ。