VRDisplay
=========

**非推奨:** この機能は非推奨になりました。まだ対応しているブラウザーがあるかもしれませんが、すでに関連するウェブ標準から削除されているか、削除の手続き中であるか、互換性のためだけに残されている可能性があります。使用を避け、できれば既存のコードは更新してください。このページの下部にある互換性一覧表を見て判断してください。この機能は突然動作しなくなる可能性があることに注意してください。

**`VRDisplay`** は WebVR API のインターフェイスで、この API が対応している VR 機器を表します。機器 ID や説明文のような汎用的な情報が含まれており、 VR シーンの表示を開始するためのメソッドや、視線パラメーターやディスプレイの備える機能の取得、その他の重要な機能を含んでいます。

**メモ:** このインターフェイスは、古い WebVR API の一部でした。 WebXR Device APIに置き換えられました。

`Navigator.getVRDisplays()` を呼び出すことで、すべての接続されている VR 機器の配列が返されます。

プロパティ
-----

`VRDisplay.capabilities` 読取専用  
非推奨

`VRDisplay` の備える機能を示す `VRDisplayCapabilities` オブジェクトを返します。

`VRDisplay.depthFar` 
非推奨

視錐台 (ビューフラスタム；つまりシーンの可視領域の境界) の far 平面を定義している z-depth の取得と設定を行います。

`VRDisplay.depthNear` 
非推奨

視錐台 (ビューフラスタム；つまりシーンの可視領域の境界) の near 平面を定義している z-depth の取得と設定を行います。

`VRDisplay.displayId` 読取専用  
非推奨

この VRDisplay 固有のIDを返します。この ID は Gamepad API (参照 `Gamepad.displayId`) の関連付けのために使用されます。

`VRDisplay.displayName` 読取専用  
非推奨

`VRDisplay` を識別するための人間が読める形式の名前を返します。

`VRDisplay.isConnected` 読取専用  
非推奨

`VRDisplay` がコンピュータに接続されているか否かを示す論理値を返します。

`VRDisplay.isPresenting` 読取専用  
非推奨

`VRDisplay` が現在コンテンツを表示中であるか否かを示す論理値を返します。

`VRDisplay.stageParameters` 読取専用  
非推奨

`VRDisplay` がルームスケール体験をサポートしている場合に、ルームスケールパラメーターを含んだ `VRStageParameters` オブジェクトを返します。

メソッド
----

`VRDisplay.getEyeParameters()` 
非推奨

指定した側の視線パラメーターを含む `VREyeParameters` オブジェクトを返します。

`VRDisplay.getFrameData()` 
非推奨

`VRFrameData` オブジェクトを受け取り、現在のフレームをレンダリングするために必要な情報を入力します。

`VRDisplay.getImmediatePose()` 
非推奨

`VRDisplay` の現在のポーズを定義した `VRPose` オブジェクトを、予測を適用せずに返します。これはもはや必要ないため、仕様から削除されました。

`VRDisplay.getLayers()` 
非推奨

`VRDisplay` によって現在表示されているレイヤーを返します。

`VRDisplay.getPose()` 
非推奨

現在のフレームが実際に表示されるときの `VRDisplay` の予測ポーズを定義した `VRPose` オブジェクトを返します。**このメソッドは非推奨です。代わりに `VRDisplay.getFrameData()` を使用する必要があり、これも `VRPose` オブジェクトを提供します。**

`VRDisplay.resetPose()` 
非推奨

現在の `VRPose.position` と `VRPose.orientation` を"原点/ゼロ"位置の値として扱うように、`VRDisplay` のポーズをリセットします。

`VRDisplay.cancelAnimationFrame()` 
非推奨

`Window.cancelAnimationFrame` の特別な実装で、`VRDisplay.requestAnimationFrame()` を未登録状態にすることをコールバック可能にしています。

`VRDisplay.requestAnimationFrame()` 
非推奨

`Window.requestAnimationFrame` の特別な実装で、`VRDisplay`の新しいフレームが描画される際に毎回呼出されるコールバック関数を持っています。

`VRDisplay.requestPresent()` 
非推奨

`VRDisplay` へのシーン描画を開始します。

`VRDisplay.exitPresent()` 
非推奨

`VRDisplay` のシーン描画を停止します。

`VRDisplay.submitFrame()` 
非推奨

現在表示されている `VRLayerInit` の状態を取得し、`VRDisplay` に表示します。

例
-


```js
if (navigator.getVRDisplays) {
  console.log("WebVR 1.1 supported");
  // Then get the displays attached to the computer
  navigator.getVRDisplays().then(function (displays) {
    // If a display is available, use it to present the scene
    if (displays.length > 0) {
      vrDisplay = displays[0];
      // Now we have our VRDisplay object and can do what we want with it
    }
  });
}
```


**メモ:** この完全なコードは raw-webgl-example で確認できます。

仕様書
---

このインターフェイスは、古い WebVR API の一部でしたが、 WebXR Device API に置き換えられました。標準化される予定はありません。

すべてのブラウザーが新しい WebXR API を実装するまで、すべてのブラウザーで動作する WebXR アプリケーションを開発するには、A-Frame や Babylon.js や Three.js などのフレームワークを利用したり、ポリフィルを利用したりすると良いでしょう [1]。

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* WebVR API