オススメ機能
Twitter
お気に入り
記事履歴
ランキング
お気に入りタイトル/ワード

タイトル/ワード名(記事数)

最近記事を読んだタイトル/ワード

タイトル/ワード名(記事数)

LINEで4Gamerアカウントを登録
[GDC 2015]「SteamVR」とは何か? ValveがそのVRレンダリング技術を語る
特集記事一覧
注目のレビュー
注目のムービー

メディアパートナー

印刷2015/03/07 11:15

イベント

[GDC 2015]「SteamVR」とは何か? ValveがそのVRレンダリング技術を語る

 北米時間2015年3月4日,米サンフランシスコで開催されたGame Developers Conference 2015(以下,GDC 2015)において,「Advanced VR Rendering」(上級VRレンダリング)と題する講演をValveが実施した。

Alex Vlachos氏(Graphics Programmer, Valve)
 この講演は,Valveの仮想現実(以下,VR)対応システム「SteamVR」で使われている基礎技術などを解説するものだ。講演者であるAlex Vlachos(アレックス・ブラコス)氏が「2時間分の内容だけど1時間でやる」やると宣言し,実際に多くの内容をハイペースで解説した濃い講演だったが,今回はそのなかから注目点をピックアップし,概要をお届けしてみたい。


明らかになったSteamVRの設計思想とその技術


 SteamVR用のヘッドマウントディスプレイとしては,すでに台湾HTCから「Vive」が発表済みだが(関連記事),まずはその基本仕様を以下のとおり確認しておこう。

  • 画面解像度:2160×1200ドット(片目あたり1080×1200ドット)
  • リフレッシュレート:90Hz
  • 視野角:110度

開発者向けVive「Vive Developer Edition」の主なスペック
Steam

 Valveでは3年以上前からVRに関する研究を行っており,とくにポジショントラッキングには力を入れていたようだ。実際,スライドではプロトタイプが3種類示されていた。

Vavleは3年以上前からVRに関する研究をスタートさせていたとのことだ
Steam

 結果として登場したViveは,トラッキング機能を持った2台のベースステーションとセットになっている。これらベースステーションを部屋の角と反対側の角に1台ずつ設置すれば,部屋の中全体で使えるレベルの広範囲対応を実現できるというのがウリだ。

Steam

 ディスプレイには高速かつ低残光なものが利用されているとのことで,「1フレーム11msのうち,点灯時間は2ms以下」という点滅式の制御で画像のブレを防止しているとのこと。

Steam
 解像度は,初報だと「片目あたり1200×1080ドット」だったが,実際には2160×1200ピクセルのパネルを2分割するので,片目あたり1080×1200ドットという,縦方向の視野角がやや広めの製品になるようだ。逆にいうと,横方向は狭めということになるのだが,そんな横方向の視野角は110度で,Oculus VR「Rift」の初代Development Kit(DK1)と同じ。Development Kit 2(DK2)や,ソニー・コンピュータエンタテインメントの「Project Morpheus」(開発コードネーム)の100度を上回る。Rift DK1並みの視野角というのは,それだけでなかなかワクワクさせられるスペックといえるだろう。

 レンダリングは縦横1.4倍の解像度(1512×1680ピクセル)で行われ,ディストーション処理で最終的な解像度に変換されたうえでディスプレイ出力されるという。

Steam Steam

 さて,1512×1680ピクセルの映像データ2枚を90fpsで描画する場合,GPUに要求される出力能力は457Mpixels/sに達する。広視野角設定なので,1.4倍とレンダリングエリアはかなり広めに取っていると思われ,これを実現するのがそう簡単ではないのは想像がつくだろう。
 Valveでは,表示されないエリアの情報を積極的に端折る「ステンシルメッシュ」(Stencil Mesh)という手法を使って,必要ピクセル数を378Mpixels/sまで削減しているとしていた。

ステンシルメッシュの概要(上)と“端折り”のイメージ(下)
Steam
Steam

Steam
 立体映像を作成するためには,左右の目に対応する画像をそれぞれレンダリングしなくてはならないわけだが,ほぼ同じことを2回やるのは非効率的だと思う人も多いだろう。どうにかして端折れる部分はないかといったことは,各社とも血眼になって最適化を進めている。
 その点,Valveではコマンドバッファレベルで2回送ることにして,それより前の部分を共通化しているという。コマンドバッファ以降,つまりレンダリング部分はそれぞれ独立して実行されることになる。

 このあたりも各社が研究を進めている部分であり,同日に行われたNVIDIAとOculus VRによるセッションでは,頂点シェーダやジオメトリシェーダといった部分まで共通化してしまう実装が紹介されていた。先行する両社は,かなり踏み込んだ実装にまで手を出しているようだ。
 ちなみに,まだ実装はされていないようだが,Valveは,「1画面は普通に描画して,もう1画面はインスタンシングの組み合わせで処理する」というアイデアも提示している。これはこれでなかなか面白い。

Steam

 入力から描画までの遅延をいかにして少なくするかは,VR系では非常に重視される項目だ。通常のパイプラインだと3フレーム(※90fpsで約33ms)かかるところを,Vsync発生後にDirect3Dを起動していたのでは,データ転送にかかる時間がもったいない。そこでSteamVRでは,フライング気味に処理を開始したり,いろいろ前倒しにすることで,入力から2フレームちょっとで描画を行うパイプラインになっているという。

Steam Steam

 一般的なVR HMDと比べてディスプレイ解像度は若干高いが,それでも「片目あたりの情報量が通常のディスプレイ比で半分となるVR対応HMDでは,アンチエイリアシングが必須」というのが,Valveの考え方だ。8x MSAAと,「見た目の解像度に貢献するため」(Vlachos氏)異方性フィルタリングの利用が推奨されていた。

最低でも4x MSAAが必須で,できる限り8x MSAAを使ったほうがいいという
Steam

 Vlachos氏はそのほか,「ノーマルマップは,深い凹みなどがVRではうまく機能しなくなる」として,ではどのようなケースなら使えるのかといった,Valveによる研究成果を披露している。

Steam Steam

 講演からは,ネイティブ90fps動作が前提にされているなど,全体に高品位なゲーム映像生成に注力している印象を受けた。HMDのスペックも妥協が少ないものなのだが,それに飽き足らず性能を追求している。次々と発表されるVR対応HMDのなかでもちょっと面白い存在になるかもしれないと感じさせられた次第である。

Steam

ValveのSteamVR特設ページ

GDC公式Webサイト

4GamerのGDC 2015関連記事一覧

  • 関連タイトル:

    Steam

  • この記事のURL:
4Gamer.net最新情報
プラットフォーム別新着記事
総合新着記事
企画記事
トピックス
スペシャルコンテンツ
注目記事ランキング
集計:04月18日〜04月19日