問題タブ [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.

0 投票する
2 に答える
696 参照

c# - 歪み行列を介してマウスからレイをキャストする

ボード、oculus ボード、および unity ボードを検索しました。本当に役立つものを見つけることができませんでした。

私は車両シミュレーションに取り組んでいます。oculus を使い始める前は、通常の一人称視点でした。レーシング ホイール/ペダルを使用して運転し、マウスを使用してすべてのボタンやスイッチなどを制御しました。画面上のマウス ポイントからワールドへのレイキャスティングを使用して、車両のさまざまなコントロールを操作します。

oculus を使用しているため、raycast は oculus カメラで使用される歪み行列を考慮していません。したがって、視覚的にクリックしているものに実際にレイをキャストしているわけではありません。Debug.DrawRay を使用すると、少しずれていることがわかりました。念のため、OVRCameraController のインスペクターでレンズ補正を無効にすると、レイキャスティングが再び機能するようになりました。

光線自体は、マウス ポイントから発砲するときの通常の方法で計算されます。

レンズ補正をオンにして動作するように光線を調整する方法を知っている人はいますか?

乾杯、ゴードン

0 投票する
1 に答える
2139 参照

c++ - OpenCV を使用して、深度画像で任意に変換された四角形を見つけるにはどうすればよいですか?

深度センサーを使用して、Oculus Rift 開発キットに位置追跡を追加しようとしています。ただし、使用可能な結果を​​生成する一連の操作に問題があります。

私は 16 ビット深度の画像から始めています。ここで、値は (実際にはそうではありませんが) ミリメートルに対応しています。イメージ内の未定義の値は、既に 0 に設定されています。

まず、マスク イメージを更新して除外することで、特定の近距離と遠距離の外側にあるものをすべて排除します。

次に、必要な機能がシーン全体の平均よりもカメラに近い可能性が高いため、マスクを再度更新して、中央値の特定の範囲内にないものを除外します。

最後に、マスクに含まれていないものをすべてゼロにし、残りの値を 10 ~ 255 にスケーリングしてから、画像形式を 8 ビットに変換します。

結果は次のようになります。

ソース画像

コードのこのセクションは非常に明確な視覚的機能を生成するため、非常に満足しています。

次に、深度カメラからのとてつもない量のノイズを取り除くために、いくつかのスムージング操作を適用しています。

繰り返しますが、機能は視覚的にはかなり明確に見えますが、どうにかしてシャープにすることができなかったのだろうかと思います:

ここに画像の説明を入力

次に、エッジ検出にキャニーを使用しています。

私が探している線はそこにありますが、角に向かってうまく表現されていません:

ここに画像の説明を入力

最後に、確率的ハフを使用して行を識別しています。

これにより、この画像が得られます

ここに画像の説明を入力

この時点で、私は軌道から外れてしまったように感じます。なぜなら、ハフが自分の形状を検索するための合理的な数の候補線を生成するための適切なパラメーターのセットを見つけることができないからです。ハフをいじるか、前のステップの出力を改善することを検討する必要があります。

「見た目が良い」と思うまで入力値をいじるのではなく、各段階で結果を客観的に検証する良い方法はありますか? 開始画像が与えられた場合 (そして、必ずしも特定の方向に向いているとは限らないことを考えると)、長方形を見つけるためのより良い方法はありますか?

0 投票する
1 に答える
1880 参照

c++ - D3D11 DrawIndexed() が間違ったレンダー ターゲットに描画している

Oculus Rift で使用するために、シーンを 2 つのテクスチャ (左右) にレンダリングしようとしています。レンダー ターゲットを 2D テクスチャ レンダー ビューに設定して DrawIndexed() を呼び出すと、テクスチャではなくバック バッファーにレンダリングされます。私は Visual Studio を使用しており、グラフィックス診断を実行しました。DrawIndexed() イベントでは、レンダー ターゲットがテクスチャであることを示していますが、ピクセル履歴にはイベントが表示されません。バックバッファをクリアしないと、シーンが画面に表示されます。

次のコードでは、RenderLeft() 関数は、左のレンダリング テクスチャとして設定されたレンダー ターゲットを使用して、緑の背景の平面にイメージをレンダリングする必要があります。次に、RenderRight() は、RenderLeft() によってレンダリングされたテクスチャを受け取り、それを平面にレンダリングしてから、バック バッファに出力する必要があります。(注: これは通常の設定ではありません。これは、テクスチャがレンダリングされているかどうかを確認するためのものです)

最終的な出力では、画面の左側には何も表示されず、右側には黒い背景の緑の四角形内にソース イメージが表示されます。

代わりに、これを取得します: http://i.imgur.com/dHX5Ed3.png?1

RenderLeft は、レンダー ターゲットがテクスチャであっても、バック バッファーにレンダリングしているため、RenderRight で使用されるテクスチャは、それをクリアするために使用される色にすぎません。

ここに私が現在使用しているコードがあります。関連するものはすべて含まれていると思います。

このセクションでは、レンダー テクスチャの左側に画像でテクスチャリングされた長方形をレンダリングする必要があります。

このセクションは、RenderLeft() からバック バッファーへのテクスチャを含む四角形をレンダリングする必要があります。

最後に、さまざまなビューとビューポートを作成するコード

リクエストごとに、いくつかのコードを次に示します。

Direct3D クラス ヘッダー全体を含めているので、何がメンバー変数で、何がメンバー変数でないかがわかります。

イメージ テクスチャを初期化するコードは次のとおりです (現在、同じイメージを 2 つの異なるテクスチャにロードしています。最終的には 3D イメージの両面になります。ファイル)

FILENAME は、表示している画像ファイルの名前として #defined です

必要に応じて、レンダリング パイプラインの初期化を行います。

ピクセル シェーダー:

頂点シェーダー:

0 投票する
1 に答える
1638 参照

opencv - Oculus Rift でステレオカメラを表示するにはどうすればよいですか?

OpenCVステレオカメラからの左右の画像を新しいウィンドウに表示するために使用します。Oculus Rift で同じものを見たいのですが、Oculus を接続すると、Characteristic Circled image適切な画像にならないlens inside the Oculus... 自分で画像を処理する必要がありますか? 自動じゃない?

これは、ウィンドウを表示するためのコードです。

別の問題があります。OVR ライブラリをコードに追加しようとしていますが、OVR ライブラリ内の一部のクラスが同じ名前空間を使用していたため、「System Ambibuous Symbol」というエラーが発生しました...このエラーは、

---」

0 投票する
2 に答える
1798 参照

c++ - 描画中の未処理の例外 (nvoglv32.dll) (裂け目)

HMD oculus rift で実際に AR を作る作業をしています。私は openGL のプロではありませんが、これが問題の原因であると確信しています。

次のエラーが表示されます。

THING.exe の 0x064DBD07 (nvoglv32.dll) で未処理の例外: 0xC0000005: アクセス違反の読み取り場所 0x00000000。

quadGeometry_supcam->draw(); での描画中に発生します。それは renderCamera(eye); にあります。:

描画コードはこちら

/////////////////////////////////////////////// ////////////

GlUtils::drawColorCube(true); の前に renderCamera を呼び出すと、クラッシュしますが、動作した後です。しかし、残りの前にカメラを描く必要があります。drawColorCube は別のシェーダーを使用しているため、正確には説明しません。問題は、シェーダー プログラムに何かが欠けていることにあると思います。これがフラグメントと頂点シェーダーです。

バーテックス:

断片:

(カメラの画像にシーンを描きたい)。何か案が?

0 投票する
1 に答える
247 参照

php - Oculus Rift と Facebook の組み合わせ用のコーディング ツールセット

Oculus Rift のコーディングを行い、自分のプログラムから Facebook API に完全にアクセスしたいと考えています。それは私にとっては深いところへのジャンプですが、それは問題ではありません. 私はプログラミングの知識があり、学ぶ必要があることは何でも学びます。
上記の組み合わせについて、私は今考えています:

  • おそらく OGRE と Oculus API を使用した C++ (0.3.1 プレビュー)
  • Facebook PHP SDK を使用します (私が読んだものから C++ から呼び出すことができます)

言語/ライブラリの賢明な組み合わせについて教えてください。
はい、おそらくこの猫の皮を剥ぐ方法は複数ありますが、ベテランのプログラマーにはもっと明白な方法があると感じています。それが私が探しているものです。

その他の注意事項:

  • 私は 3D ゲームを作るつもりはないので、Unity は除外しています。
  • 何を作るかはまだわかりませんが(!)、楽しいものであり、リフトとFBを組み合わせて革新的なものを生み出すことを願っています.
  • DK2を予約しました
0 投票する
1 に答える
659 参照

java - 処理: マトリックス 4x4 からヨー角、ピッチ角、ロール角を取得

したがって、私は Processing にかなり慣れていないので、現在のプロジェクトに Oculus Rift を統合しようとしています。

インターネットで見つけたアプリケーションを使用して Oculus センサー データを読み取っているため、オイラー角ではなく変換行列しか取得できません。

ここで、Matrix4x4 からヨー ピッチ角度とロール角度を抽出する必要があります。

処理を使用してそれを行う方法を知っている人はいますか?

ありがとうございました。