Oculus VRが、待望の仮想現実ヘッドセットOculus Riftの近日発売に向けて推奨PCスペックを発表した際、グラフィックカードの要件は驚くほどリーズナブルでした。確かにGeForce GTX 970とRadeon R9 290は見た目の美しさでは申し分ありませんが、2台のディスプレイに90フレーム/秒で高解像度の映像を映し出すには、かなりの処理能力が必要です。開発者は、VR酔いを防ぐために必要な超高速フレームレートで動作させるのに、最新かつ最高のグラフィックカード(最近発表されたGTX 980 Tiなど)を必要としない、トップクラスのVRゲームをどのようにして開発するのでしょうか?
NVIDIAは、開発者向けに提供される新しいGameWorks VRミドルウェア技術であるマルチ解像度シェーディング(MRS)機能で、その答えを偶然見つけたのかもしれません。MRSは、VRヘッドセットが画像をレンダリングする方法の奇妙な性質を利用し、仮想シーンの作成に必要なグラフィックパフォーマンスを大幅に削減します。これにより、性能の低いハードウェアでもVRゲームを効果的に実行できるようになります。
さあ、食べてみましょう。
もう一度イメージワープしてみましょう
Nvidia のマルチ解像度シェーディングの秘密は、仮想現実ヘッドセットが本質的に画面上の画像を歪める方法にあります。
通常、グラフィックカードはフルスクリーン画像を直線状の長方形のシーンとしてレンダリングし、画像全体に同じ解像度を適用します。PCゲームをプレイしているときの見え方を想像してみてください。しかし、VRヘッドセットは、目の上を覆う2つのレンズを使用して、シーンの焦点を遠くに押し出します。
「もしこれらのレンズがなければ、目の前のスクリーンに焦点を合わせようとすることになるので、かなりの疲労と負担がかかります」と、NVIDIAの著名なエンジニアであるトム・ピーターソン氏は言う。「つまり、これらのレンズは実際には(画像を)歪めているのです。」

Oculus Rift(および他のVRヘッドセット)は、レンズを通して見た際に正しく表示されるよう、レンダリングされた環境のエッジをほぼ楕円形に縮めます。Oculus Riftに接続したPCを使っている場合は、メインのPC画面で最終結果を確認できます。このような歪みのある画像を正しく表示するには、多くのグラフィック技術が必要です。
「GPUは歪むことなく、まっすぐにレンダリングします」とピーターソン氏は言う。「ですから、私たちが実際に行うべきことは、元の画像を取得して、レンズによって再び歪むことを考慮して歪ませることです。そうすることで、その日の終わり、つまり実際に見るときには、画像が再びまっすぐになっているのです。」

VR ヘッドセットがレンダリングされた画像をどのように歪めるかを示す、非常に素晴らしい Dumpy: Going Elephants 技術デモの例。
しかし、このワーピングによって画像のエッジが圧縮され、GPUが生成した本来の画像の多くが失われてしまいます。つまり、グラフィックカードは本来の性能以上に負荷をかけていることになります。そこで登場するのが、NVIDIAの新しいマルチ解像度シェーディング技術です。
分割して征服する
MRSは、画像全体を同じ解像度でレンダリングするのではなく、画面を複数の領域に分割します。VRヘッドセットで視線が主に焦点を合わせ、画像が歪まない画像の中心部分は、ネイティブ解像度でレンダリングされます。一方、画面の端は、VRに必要な歪みや歪みを活かすため、画質を落としてレンダリングされます。
「(エッジ部分の)解像度を下げ、スケーリングを削減し、実質的に使用するピクセル数を減らすつもりです」とピーターソン氏は語る。

圧縮された画像は、NVIDIAのMaxwell GPUアーキテクチャ上でフル解像度の中央領域と並行してレンダリングされます(NVIDIAによると、マルチ解像度シェーディングには最新の900シリーズGeForceグラフィックカードまたはGTX 750 Tiが必要です)。そして、VRヘッドセットのレンズを通して表示されるように再ワープされますが、画像の忠実度は損なわれません。このコンセプトは、Microsoft Researchが近年研究している「フォービエイテッド・レンダリング」技術に似ています。フォービエイテッド・レンダリングは、ユーザーが実際に見ている画面部分のみをフル解像度でレンダリングすることに集中します。
「従来の方法でレンダリングされた VR シーンと比較して、ピクセル作業が 50 ~ 100 パーセント削減されます」とピーターソン氏は言います。
それはおかしい。さらにおかしいのは、圧縮品質を極限まで高めない限り、画質が低下したエッジ部分は最終画像ではまったく目立たないということだ。

Nvidiaのマルチ解像度シェーディングに注目
Oculus Riftを使ったNVIDIAの密室デモで、ピーターソン氏はMRSを有効・無効にしてレンダリングしたシーンを比較させてくれました。普段のユーザーが画面の中心を見つめるのとは違い、私は画面の端、つまりマルチ解像度シェーディングの魔法が生まれる場所に意識を集中させました。
ピクセル処理が30%削減されたにもかかわらず、MRSの有効/無効に関わらず、目に見える違いはありませんでした。忠実度の低下もなく、MRSのオン/オフ時に突然の違和感やちらつきを感じることもありません。ただ、本来あるべき姿に見えました。
縮小されたレンダリングを真に目に見えるようにするために、ピーターソン氏は圧縮率を50%まで上げなければなりませんでした。これは、同じ画像を全面的にフル解像度でレンダリングした場合の作業量の半分に相当します。こうして初めて、画像の端のかすかな揺らめきとして効果が目に見えるようになりました。しかし、その効果はごくわずかで、私が特に端の部分に注目していた時の効果でした。フル解像度でレンダリングされたディスプレイの中央を見つめると、端の圧縮された解像度はほとんど見えませんでした。これは、人間の目が周辺視野で直接見ているものよりもはるかに精細でない画像を認識する性質によるものでしょう。

なんと、星がいっぱいだ。
これは、VR 開発者や、グラフィック カードに大学教育に相当する費用をかけずに仮想現実を体験したいゲーマーにとって大きなニュースです。
「つまり、ゲーム開発者にとって、これはより高品質のゲームを開発したり、より多くの GPU でゲームを実行したりできることを意味します」とピーターソン氏は言います。
そして、まさにそのように、Oculus Rift の GTX 970 要件は、ヘッドセットの仕様が発表されたときほどわずかではないように感じられるようになりました。
ゲームワークスVR
しかし、この逸品には潜在的な欠陥があります。マルチ解像度シェーディングは最新のGeForceグラフィックカードに限定されているだけでなく、NVIDIAの新たなVR Directイニシアチブ(VR SLIなど)をGameWorksの傘下に統合する、NVIDIA独自の技術でもあります。
GameWorksは、NVIDIAが開発したミドルウェアで、GeForceグラフィックカード向けに最適化されたパフォーマンスを備えた機能とテクノロジーを追加します。ただし、当然ながらAMD Radeonカードには対応していません。これが近年の懸念材料となっており、最近では『ウィッチャー3』がNVIDIAのHairWorksテクノロジーを搭載して発売された際に、AMDハードウェアのパフォーマンスを著しく低下させたと報じられました(実際にはそうではありませんでしたが)。(GameWorksに関する懸念事項については、ExtremeTechが分かりやすい概要を掲載していますので、ご興味があればご覧ください。)

GameWorks搭載タイトルがGeForce GPUでは問題なく動作する(Radeonでは動作しない)という脅威は、一般的なゲームでは誇張されているように感じられるものの、VR開発会社が GeForceカードを特に熱心にターゲットにする可能性は、仮想現実(VR)の黎明期にあること、そしてマルチ解像度シェーディングの潜在的なパフォーマンス向上を考慮すると、非常に現実的な可能性と言えるでしょう。AMDはGameWorksのコードを見ることができないため、NVIDIAの様々な独自技術(MRSなど)向けにグラフィックカードを最適化することができません。
とはいえ、AMDはRadeonハードウェア向けの独自のソフトウェア開発キット「LiquidVR」でVR開発者をターゲットにしています。LiquidVRにはマルチ解像度シェーディングのような機能は発表されていませんが、AMDはVR分野で精力的に活動しており、MRSがVR開発者の間で人気を集め始めれば、同社が同様の技術を展開することは容易に想像できます。ただし、これはDirectXのような汎用的なアプローチではなく、使用しているグラフィックスハードウェアに依存する、個別かつ断片的なソフトウェアソリューションになる可能性を示唆しています。
しかし、今はそんな心配はひとまず脇に置いておきましょう。バーチャルリアリティは、ここ数年のPCエコシステムにおける最もエキサイティングな開発の一つです。もしNvidiaが主張するマルチ解像度シェーディングの性能が現実のものになれば、新興のVR分野にとってまさにキラー機能となる可能性があります。とても興味深く、そして希望に満ちています。