2016-11-08 7 views
1

私はWPV + SharpDX Windowsアプリケーションを持っています。このアプリケーションは、HDKの画面上にフルスクリーンウィンドウでOSVR HDKを表示します。この設定はうまくいきますが、ユーザーはHDKがどの画面に表示されているかを記述する必要があります。OSVRヘッドセットはどの画面を検出するのですか?

私はそれを自動的に検出したいと思っていますが、どの画面がヘッドセットであるのかはAPIに何も見ていません。

現在、私は、ウィンドウ内にレンダリング:

var bounds = dxgiDevice.Adapter.Outputs[_selectedOutput].Description.DesktopBounds; 
form.DesktopBounds = new System.Drawing.Rectangle(
    bounds.X, bounds.Y, bounds.Width, bounds.Height); 

そして_selectedOutputは私が探しているものです。

私は現在、直接モードをサポートしていません。私はManaged-OSVRを使用しています。アプリケーションはWindows 8/8.1/10上で動作します。

答えて

1

OSVR用に何かをコーディングして以来、しばらくしていましたが、私が覚えているところは次のとおりです。 拡張モードで実行している場合、OSVRは通常のディスプレイとして扱われます。他の画面と同様に並べ替えることができます。出力場所は、OSVR設定ファイルで設定できます。

osvrContext.getRenderManagerConfig().getXPosition() 
osvrContext.getRenderManagerConfig().getYPosition() 
osvrContext.getDisplayParameters().getResolution(0).getWidth() 
osvrContext.getDisplayParameters().getResolution(0).getHeight() 

明確にする:: は、私は私の窓を設定するための位置とサイズを取得するには(Javaの)次を使用しますが、拡張モードでの表示のIDを取得することができるかどうかはわかりません。私が知っていることから、デスクトップ上の位置とサイズとして定義されています。 私はそれがあなたに多少役立つことを願っています。

+0

不幸にも、私はManaged-OSVRに 'osvrContext'や' getRenderManagerConfig'のようなものはありませんでした。 dimmensionsを返すすべてのメソッドは、幅/高さのいずれか、またはただ1つの目の境界を返すかのいずれかです。あなたが言及したコードは公式のJava APIに由来していますが、C#(Managed)で同等のものは見つかりません。 –

+0

いいえ、自分のJavaラッパーのものです。 )正式なJava APIがあることを望みます; – reden

+1

私がやるべきことは、「OSVR \ OSVR-Core \ bin \あなたが使っている設定.json」を探すことです。検索: "xPosition":1920、 "yPosition":0、あなたのウィンドウが正しい位置に表示されるようにそれらを使用してください。 – reden

関連する問題