0

openvr_apiを使用して仮想現実メガネに送信するオーバーレイを作成するために、1 つ以上の特定のウィンドウをキャプチャしようとしています。

問題は、C# でこれを行うための最善の方法を教えてくれるものを Google 全体で見つけられないことです。

私は javascript、php、python の専門家であり、一般的に Web に焦点を当てたすべてのことを扱います。C# での記述方法は知っていますが、このタイプのアプリケーションを作成するメカニズムはよくわかりません。

アイデアは、私が開発した特定のアプリケーションのウィンドウを探している実行可能ファイルを作成することです (ウィンドウは透明で、その内容は 10 fps の速度で更新されます)。それらのウィンドウの 1 つが存在する場合は、その内容をオーバーレイで表示します。 VRで。

これまでのところ、ウィンドウを検索して見つけるクラスがあり、それらから各ウィンドウに関連付けられたIntPtrを取得します。

したがって、openvr_apiを使用すると、次のことが可能になります。

  1. SetOverlayTexture : ID3D11Texture または Gluint (openGl)
  2. SetOverlayRaw : 非推奨
  3. SetOverlayFromFile : 画像

私の質問は、どうすればいいですか?

  1. 100 ミリ秒ごとに画像を作成して保存し、setOverlayFromFile 経由で送信します。
  2. OpenTK で 100ms ごとにテクスチャを作成し、setOverlayTexture 経由で送信します。

ウィンドウをキャプチャする最良の方法は何ですか? ウィンドウをキャプチャしているときに、その周りに黄色のフレームが表示される同様のアプリケーションを見たことがあります。これは、glew32.dllopenvr_api.dllのみを使用する非常に小さなアプリケーションであり、おそらく C++ で記述されているため、ウィンドウをキャプチャする方法は、ここで公開した方法ではありません。

どこに行くべきかを知るためのガイダンスはありますか?

4

0 に答える 0