問題タブ [oculus]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - Oculus SDK 0.4.2 の既存の DX アプリケーションへの統合 (レンダリング デバイスなど)
新しい Oculus SDK (DK2 用) を Game Maker Studio に統合しようとしています。GM および新しい SDK と通信する DLL を作成することで、これを行っています。もうどうしたらいいのかわからないところまで来ました。
現在、oculus をオンにすることができ、oculus にヘルス通知が表示されます。ヘルス表示も GM アプリケーション ウィンドウ上に描画されるようです。その後、GM アプリケーションは再びウィンドウ上に描画されます。2 つのアプリケーションが同じウィンドウに描画されているようです。
問題は、アプリケーションの表示を DLL にフィードし、そこで解析して (オクルスのレンズに歪みといくつかのフィルターを追加するため)、それを Oculus デバイスに吐き出す必要があることです。GM サーフェスとオクルス サーフェスを組み合わせてオクルス デバイスに入れる必要があります。
私は2種類のポインターを利用できます-1つはアプリケーションのHWND用(ここで使用)、および1つはDXデバイスポインター(私は、次のように使用されると思います:
LPDIRECT3DDEVICE9 を oculus SDK の DX11 に取り込むにはどうすればよいでしょうか。
現在、既存のウィンドウに描画されるように healthwarning が表示されます。
内部テクスチャ (上記で使用した d3ddev) が必要かもしれないと考えていたので、それを Ouculus pRender デバイスのどこかに配置します。 https://github.com/RobQuistNL/GMOculus/blob/master/DLL/GMOculus/GMOculus/main.cpp#L223
プロジェクトのソース コードはここにあります。https://github.com/RobQuistNL/GMOculus/blob/master/DLL/GMOculus/GMOculus/main.cpp
漠然とした説明で大変申し訳ありませんが、ご了承ください。
- 私は実際にはウェブ開発者です
- 趣味のゲームにゲームメーカーを使っています
- C++ をある程度知っている
- DX経験ゼロ
私は実際にオクルスに描画する健康通知をすでに取得できることを嬉しく思います。
ただ、何も変換できないようです。テクスチャ、スワップチェーン、レンダリング デバイスを試しましたが、エラーが発生し続けます。私は間違った方向を見ていますか?
誰かが私を助けてくれるなら、喜んで支払います。
乾杯、 ロブ
post-processing - Oculusプラグインを使用した後、通常のビューアの視覚化をリセットします
Cesium で Oculus プラグインを使用していますが、「Viewer ビジュアライゼーション」から「oculus ビジュアライゼーション」に問題なく移行できます。ポイントは、「Viewer ビジュアライゼーション」に戻ることができないことです。シーンをリセットし、後処理と oculus プラグインによって導入されたフラスタム オフセットをなくすにはどうすればよいですか? 前もって感謝します。
ここに私のコードがあります:
opencv - ビデオ ストリームを oculus Rift に表示する
Oculus World Demo を変更して、事前設定されたグラフィックではなく、カメラからのビデオ ストリームを表示しようとしていますが、cv::IplImage または cv::mat をレンダリングする適切な方法を見つけるのが難しいと感じています。画像タイプを Oculus 画面に表示します。オクルスに画像を表示する方法を誰かが知っていれば、とても感謝しています。DK2用です。
opengl - Oculus Rift のネイティブ レンダリング プラグイン
インスタンス化やその他の高度なグラフィック機能を利用するために、Unity 用に作成したネイティブ プラグインに一部のレンダリングをオフロードするプロジェクトに取り組んでいます。クロスプラットフォーム リリース用に開発していますが、Mac で作業しているため、テストは主に OpenGL で行われます。この時点で、プラグインは 16 進値で色付けされた画面の中央にクワッドのみをレンダリングします。プラグインは、空の Unity プロジェクトでは期待どおりに動作しますが、Oculus プロジェクトに組み込むとすぐに、動作がおかしくなり始めます。
Rift では、プラグインのジオメトリは 2 回描画されます。1 回目は両目にストレッチし、もう 1 回目は右目の境界内のみに描画します。さらに、ジオメトリに適用したプリミティブ カラーはすべて失われ、ジオメトリは周囲の色を拾っているように見えます。黒い画面に赤いテキストが表示されている場合、ジオメトリはほとんどが黒く、線に赤が染み込んでいます。緑の地形が読み込まれるとすぐに、プラグインによって描画されたジオメトリが緑になります。
以下は、空の Unity プロジェクトに描画されているジオメトリのスクリーンショットです。他には何もありません。
そして、これは私の Oculus Rift アプリケーションの上に描画された同じジオメトリのスクリーンショットです:
これが私がレンダリングしている頂点の作成です(3つの座標と色):
プラグイン内のすべてのフレームで呼び出される描画関数は次のとおりです。
経験豊富なネイティブ プラグイン/Rift グラフィック コーダーからの洞察をいただければ幸いです。
opengl - Mac で実行されている virtualBox での Oculus Rift Linux の例
Mac OSX 10.10 で動作する Ubuntu 14.04 でインストールされた VirtualBox を使用しています。最新の Oculus SDK for Linux を公式 Web サイトからダウンロードすると、正常にビルドできました。しかし、実行しようとすると、次のメッセージが表示されました
c++ - 処理のためにウィンドウ/画面にレンダリングされた画像を複製します
バックグラウンド
私は、TCL スクリプト言語と OpenGL の組み合わせを使用して道路を走行する車の動作をさらにレンダリングする、車の制御システムを開発するためのプログラムを持っています。
私がやっていることは、OculusRift サポートを実装することです。これまでのところ、セザー部分を解決することができました。車が運転しているウィンドウを右クリックすることで、それを oculus リフトに送信できます。これまでのところ、次のようになっています。
プログラムのビジュアル部分にはすでに多くの機能があり、FOV、魚眼レンズ、カメラの向き、車内ビューなどの調整などのオプションが含まれています.
ソフトウェア フォルダを調べたところ、次の行を含む TCL ファイルが見つかりました。
レンダリング自体を処理する行は見つかりませんでしたが、「gl」コマンドは、この TCL ファイルがレンダリング プロセスに直接接続されて実行されていることを理解させるのに十分でした。だから私はこれで上記を拡張しました:
ビデオでわかるように、モニターではきれいに見えますが、知っているように、Rift のレンズが歪み (私にとってはわずかでした) とかなりの色収差をもたらします。
私のアイデア
私が欲しいのは、ビデオの画面上の「画像/テクスチャ/フレーム」を10〜20ミリ秒ごとに取得し(用語についてはまだ慣れていません)、カラーフィルタリングを行うことです(削減できるかどうかを確認したい色収差)。次に、おそらく (すべてを独立させるために) 変更された画像で新しいウィンドウを作成し、それを Rift に送信します。基本的に、計算を実行できるように、必要な「形式」で画像を取得します。
私の考えは (レンダリング プロセスに接続されているため) 上記の TCL ファイルに追加の行を追加して、次のことを実行できる DLL 内の追加の関数を呼び出すことでした。
今私の質問:
- このようなことが可能でしょうか?
- 誰かが私を正しい方向に向けることができますか? つまり、使用できるいくつかの gl 関数はありますか?
- たぶん Direct3D も動作しますか?
私はスタックオーバーフローのこの投稿を読みましたが、理解できませんでした:/
javascript - WebVR - PositionSensorVRDevice からの向きや位置がありません
Three.js の VRControls ( examples/js/controls/VRControls.js
) を使用するか、PositionSensorVRDevice
.
ただし、のPositionSensorVRDevice
状態値は常に(Firefox) または x、y、z = 0 の VRPoint3D/4D (Chrome) のいずれかであるため、カメラの向きは決して変わりません。orientation
position
null
私が試した Firefox と Chrome の VR ビルドは次のとおりです。
Chrome が次のように報告するため、実際のものではないように見えますが、PositionSensorVRDevice OK を取得しています。
- デバイス ID: デバッグ-0
- deviceName: Moculus Rift
- hardwareUnitId: デバッグ-0
そしてFFはそれを次のように報告しています:
- deviceId: somedevid
- deviceName: HMD 位置デバイス
- hardwareUnitId: unknownHMDInfo-0x1351d4000
Leap Motion VR Quickstart demoとThree.js WebGL Effects VR demoで同じ結果が得られます。数か月前に動作していたデモでも同じことが言えます.VRControlsを使用していませんが、PositionSensorVRDeviceを直接扱っています.
言うまでもなく、Rift はすべて接続されており、Oculus Rift Config Util のデモ シーンは正常に機能しています。ファームウェア バージョン 2.12 を使用しています。
VRControls の関連コードは update メソッドです。ここでstate.orientation
との値をチェックしています。state.position
どんな提案もありがたく受け取った!
camera - Oculus VR camerarig を使用した途切れ途切れの画像
ポータルを作成するためにこの人のコードを試しています。ここでポータルの動作のビデオを見ることができます-- http://algoholic.eu/unity3d-4-indie-free-portal-effect-with-no-stencil-and -no-render-to-texture/
リフトを使用しない場合、プロジェクトは正常に動作しますが、CameraRig をドロップして構成すると、この効果が得られ、それが何であるかわかりません: ゲームを開始: http://imgur.com/NMYVm6L Move in any方向: http://imgur.com/K6iXgcO
ポータルの画像が途切れています。これは...クリッピングですか?両方のアイ アンカーを描画する速度が十分ではありませんか? 私が言ったように、私はそれが何であるかわからないので、どこから修正を開始すればよいかわかりません。