ムービー
NVIDIA,YouTubeの同社公式チャンネルでGameWorks VRのデモムービーを公開
まず,VR環境構築の要となるグラフィックスカードにはGeForce GTXシリーズをを提供し,さらにGeForce ExperienceでVRゲームに対しても最新のドライバと最適な設定を提供する。そして,VRコンテンツ開発と実行環境を支えるGameWorks VR SDKについては,各種要素をより詳しく紹介するといった内容だ。
![]() |
![]() |
![]() |
GameWorks VR SDKの紹介自体は,半年前のCOMPUTEX TAIPEI 2015で発表された内容から大きな変更があるわけではないが,ムービーだけ見てもピンとこない人もいると思うので改めて以下にまとめておきたい。
![]() |
VR SLIについては,右目と左目を別々のGPUでレンダリングすると考えれば分かりやすいだろう。パフォーマンスはほぼ2倍になる。
Multi-Res Shadingは,画面の中央部と周辺部で解像度を変えてレンダリングする手法だ。VRでは画面の中央部を注視することが多いので,周辺部だけちゃんとレンダリングして周辺部を粗くすることで全体の負荷を最大50%下げることができるという。
![]() |
具体的には,画面を3×3の9分割し,真ん中のコマはそのまま,その左右についてはX解像度を半分でY解像度をそのまま。上下の2コマはY半分でXそのまま,四隅はXYともに半分でレンダリングする。元の1コマあたりのピクセル数を4とすると,
4×9=36
4×1+2×4+1×4=16
と描画ピクセル数を55%削減できることが分かるだろう。
元々,Riftなどの画像は出力解像度よりも大きなものをレンダリングしてレンズ効果を加えた変形をしている。変形時に周辺部と中心部でピクセルの密度差が生じるのだが,最も疎になる周辺部で1対1の解像度になるような大きさを設定してレンダリングしていたわけだ。ここで周辺部を間引いてしまうと,いろいろ台なしというか,最初から解像度下げておけよと思わなくもないのだが,逆に見るとレンダリング解像度が半分になっても変形後の解像度は依然として結構高く保たれることも分かるだろう。例えば横方向の解像度が半分でレンダリングされていても,変形後に実際に半分の解像度になっているのは最外周(ほぼ見えないエリア)だけなのだ。確かに重要な部分の見た目はあまり変えずに大きく負荷を減らすことはできる手法ではある。
![]() |
![]() |
バックバッファへのレンダリングパイプラインはVR HMDのフレームレート要求に同期した動作を淡々と行うのだが,通常のディスプレイとは違い,VR HMDで要求される更新タイミングは垂直同期タイミングとは異なる。理想を言えば,頭部が少しでも動いたら新しいフレームが即時で表示されることが望ましい。ゲームコンテンツの演算やレンダリングはそこまで高速化できないので,絵の表示角度だけ頭の向きに合わせてずらしてやろうというのがTime Warpという処理なのだが,Time Warp自体がフレームレートと同期してしか動作しないと,安定して動作しない可能性がある。そこで注目されるのが非同期Time Warpであり,それを実現するのが,Front Buffer Renderingである。
ただ,AMDのRadeonシリーズであれば,同社APUで進めていたSMAなどのアーキテクチャやAsync Shaderでレンダリング以外の処理を並行して行うことができるのだが,GeForce系のアーキテクチャではかなり難しい処理だったようだ。NVIDIAは,GeForce 8800以降のCUDAコアGPUに密かに搭載されていた隠しモード的機能「High-Priority Context」を利用して,これを実現している。High-Priority ContextはGPUタスクに対して割り込み処理をかけるようなものと考えておけばよいだろう。
Direct Modeは,OSを介さずに直接GPUからVRHMDに映像を送る仕組みだ。これもレイテンシ低減に寄与するものとなる。
![]() |
これらにより,現状で考えられるVR対策はほぼ整っている。GameWorks VRを利用することで,その道のプロが智恵を振り絞った高度な処理を手軽に利用できるのだ。
Riftの製品版となるCV1の発売は来年第1四半期と迫ってきており,NVIDIAがこのようなデモムービーを公開したことも,いよいよVR時代の幕開けが近付いたことを実感させてくれる。とりあえず,VR元年に向けてそれを支える周辺技術は磐石であるようだ。
- この記事のURL:





















