お気に入りタイトル/ワード

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

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

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

LINEで4Gamerアカウントを登録
[COMPUTEX]「現行のGeForceが対応するDirectX 12の機能レベル」をNVIDIAが明らかに。VR向けGameWorksもリリース
特集記事一覧
注目のレビュー
注目のムービー

メディアパートナー

印刷2015/06/01 07:00

ニュース

[COMPUTEX]「現行のGeForceが対応するDirectX 12の機能レベル」をNVIDIAが明らかに。VR向けGameWorksもリリース

GeForce GTX 980 Tiリファレンスカードを持つ,NVIDIAのGaurav Agarwal氏
画像集 No.002のサムネイル画像 / [COMPUTEX]「現行のGeForceが対応するDirectX 12の機能レベル」をNVIDIAが明らかに。VR向けGameWorksもリリース
 COMPUTEX TAIPEI 2015の開幕を翌日に控えた日本時間2015年6月1日7:00,NVIDIAは,「GeForce GTX TITAN X」と「GeForce GTX 980」の間を埋めるウルトラハイエンド市場向けGPU「GeForce GTX 980 Ti」を発表した。GeForce GTX 980 Tiについてはレビュー記事が詳しいので,気になる人はそちらを参照してもらうとして,本稿では,GeForce GTX 980 Tiの周辺情報として明らかにされた,

  1. NVIDIAの現行GPUが対応する「DirectX 12」の機能レベル
  2. 仮想現実技術サポートを目的とした「GameWorks VR」

の情報をまとめてみたい。


DirectX 12に存在する3つの機能レベルと

NVIDIA製GPUのサポート状況


画像集 No.003のサムネイル画像 / [COMPUTEX]「現行のGeForceが対応するDirectX 12の機能レベル」をNVIDIAが明らかに。VR向けGameWorksもリリース
 Windows 10で採用されるDirectX 12は,DirectXとして久しぶりのメジャーアップデートであると同時に,オーバーヘッドの低減,マルチスレッドの対応強化といった大規模な改良が入るアップデートとして期待されている。
 DirectX 12に関しては4Gamerでも過去に何度か取り上げてきたが,そのグラフィックスAPIである「Direct3D 12」には,「Feature Level」(フィーチャーレベル,以下 機能レベル)が設けられている。まず最低限サポートされるべきAPI群――本稿ではこれを便宜的に「ベースAPI」と呼ぶ――があり,その上に「Feature Level 12_0」「Feature Level 12_1」という,2つの機能レベルが設けられている。

 機能レベル自体は,GPUベンダーがサポートしてもしなくてもいい,オプションのようなものだ。サポートしていなくても,Direct3D 12のベースAPIでサポートされているオーバーヘッドの低減やマルチスレッド対応の強化といった恩恵は受けられるが,サポートしていれば,より高度なグラフィックス表現が可能になるとされている。

 冒頭で述べたように,GPUを手がける主要なメーカーはこれまで,「DirectX 12のサポート」自体は明らかにしてきたものの,GPUが対応する機能レベルについては,あまり具体的なことを語ってこなかった。もちろん,非公式にはいろいろ言われていたりするのだが,筆者が記憶する限り,公式に語られたことはなかったと思う。
 それだけに,今回,GeForce GTX 980 Tiの発表に合わせて,NVIDIAでノートPC向けGeForceおよびTegra製品のプロダクトマーケティングマネージャーを務めるGaurav Agarwal(ガラフ・アガーワル)氏がそのことを語ったのは意味があるわけだ。

 さて,機能レベルとその違いは下のスライドを見てもらえればと思うが,ベースAPIとFeature Level 12_0,Feature Level 12_1のそれぞれに,設定された機能が並ぶ。それを見てピンときた人もいるだろうが,DirectX 12における機能レベルには,DirectX 11.2で実装されていた,あるいはDirectX 11.3で実装される機能も含まれている(関連記事)。

GeForce GTX 980 Tiの説明で用いられた,機能レベルとその違い。一部は,DirectX 12とほぼ同時期にリリースされるDirectX 11.3へも盛り込まれる
画像集 No.004のサムネイル画像 / [COMPUTEX]「現行のGeForceが対応するDirectX 12の機能レベル」をNVIDIAが明らかに。VR向けGameWorksもリリース

 Agarwal氏によると,Fermi世代とKepler世代,そしてMaxwellの第1世代は,DirectX 12のベースAPIのみをサポートするという。念のために言い換えておくと,これらのGPUではFeature Level 12_0もFeature Level 12_1もサポートされない。
 それに対して,Maxwellアーキテクチャの第2世代に属するGPUでは,Feature Level 12_0もFeature Level 12_1もフルサポートするとのことだ。デスクトップGPUについて言うなら,「GeForce GTX 960」以上のGeForce GTX 900シリーズとGeForce GTX TITAN Xが,現時点において,DirectX 12のフル機能を利用できる製品ということになる。

 余談気味に続けておくと,Fermiから第1世代MaxwellのGPが,DirectX 11においても「Direct3D 11」の「Feature Level 11_0」しかサポートできていないことは,開発者の間ではよく知られていた。
 また,機能レベルとDirectXのバージョンには直接の関係がない。たとえば,「DirectX 11.2対応」と謳われるGPUなら,絶対に「Feature Level 11_1」をサポートしておかなければならないということはないのだ。機能レベルはあくまでもオプションなので,サポートしてもしなくてもいい。だから,第1世代Maxwell以前のGPUが「DirectX 12対応だけれども,ベースAPIしか対応していない」というのも,「まあそうだよね」という話だったりするのである。

 話を戻そう。Agarwal氏は第2世代MaxwellアーキテクチャでサポートされるFeature Level 12_0とFeature Level 12_1について,2つの実例を挙げて効果をアピールしていた。

 1つめは,「Volume Tiled Resources」関連だ。
 Tiled ResourcesはDirectX 11.2で,またVolume Tiled ResourcesはDirectX 11.3で実装された機能だ(関連記事)。簡単に説明しておくと,古典的なテクスチャのようなリソースは「シーンが変わるたびにすべてを読み込む必要があり,効率が悪かった」(Agarwal氏)ため,リソースを一定の小さな単位「Tile」(タイル)に分けて管理することで,Tile単位で読み込めるようにしたのがTiled Resourcesとなる。
 そして,そのTileに,それこそ「温度」などといった属性情報を付加できるようにしたのが,Volume Tiled Resourcesである。

左が古典的なテクスチャ,中央がDirectX 11.2でサポートされたTiled Resourcesの機能を使ったテクスチャ,右がVolume Tiled Resources機能を使って属性を追加でいるテクスチャ。立方体に描かれているが、これは3次元的なデータ構造が持てるという意味になる。たとえば,テクスチャに温度の属性を持たせて,温度情報をほかのエフェクト処理に利用するといったことができるわけだ
画像集 No.005のサムネイル画像 / [COMPUTEX]「現行のGeForceが対応するDirectX 12の機能レベル」をNVIDIAが明らかに。VR向けGameWorksもリリース

 その例として示されたのが下のスライドで,これは,Volume Tiled Resourcesで,流体シミュレーションベースの煙を表現したものとなる。Game Developer Conference 2015(以下,GDC 2015)の「Sparse Fluid Simulation in DirectX」というセッションにおいて,NVIDIAのエンジニアであるAlex Dunn氏が説明した手法をベースにしたグラフィックス表現だ。

Volume Tiled Resourcesを使った,流体シミュレーションベースの煙。興味のある人は,NVIDIAが公開しているスライドも参照してほしい(※リンクをクリックするとpdfファイルのダウンロードが始まります)
画像集 No.006のサムネイル画像 / [COMPUTEX]「現行のGeForceが対応するDirectX 12の機能レベル」をNVIDIAが明らかに。VR向けGameWorksもリリース

 2つめの実例は,「Conservative Raster」と呼ばれる機能にまつわるものとなる。
 Conservative(コンサバティブ)は「保守的な」といった意味を持つ単語だが,通常,ラスタライザはトライアングルを描画するとき,トライアングルに沿ってピクセル埋めてトライアングルを表示する。それに対してConservative Rasterはトライアングルが少しでも横切ったピクセルすべて埋めてしまうという違いがあるそうだ。

Conservative Raster無効時(左)と有効時(右)の違い。Conservative Raster無効ではトライアングルに沿ってピクセルを埋める。Conservative Rasterを有効化すると,トライアングが横切るすべてのピクセルを埋めてしまうのでスライドのように描画が変わる
画像集 No.007のサムネイル画像 / [COMPUTEX]「現行のGeForceが対応するDirectX 12の機能レベル」をNVIDIAが明らかに。VR向けGameWorksもリリース

 その実例として示されたのが下のスライドで,これは,レイトレーシングを応用した影の描画となる。Conservative Rasterが無効だと,レイトレーシングベースの影を生成するとき,影の一部に隙間が生まれてしまうが,有効化するとこれが見事に埋まるというのが見どころだ。
 ちなみに,この「レイトレーシングを応用した影描画」も,GDC 2015の「Hybrid Ray-Traced Shadows」というセッションにおいて,NVIDIAのエンジニアであるJon Story氏が詳細を明らかにしている。

左が古典的なシャドウマップを使った影の表現。中央が,レイトレーシングベースの影描画手法であるHybrid Ray-Traced Shadowsを使いつつ,Conservative Rasterを無効化したもので,右が有効化したものだ。このスライドだけだと「シャドウマップでいいんじゃないの」と思ってしまいそうだが,なぜレイトレーシングなのかという話は,やはりNVIDIAが公開しているスライドをチェックしてもらえればと思う(※リンクをクリックするとpdfファイルのダウンロードが始まります)
画像集 No.008のサムネイル画像 / [COMPUTEX]「現行のGeForceが対応するDirectX 12の機能レベル」をNVIDIAが明らかに。VR向けGameWorksもリリース

 今回の説明会で,Fermi以降,第1世代MaxwellまではDirectX 12のベースAPIどまりとなり,第2世代MaxwellからDirectX 12のフル機能がサポートされることがはっきりした。実際にゲームでFeature Level 12_1まで使われるかどうかは何ともいえないが,フル機能をサポートできるかどうかというのは,今後の“GPU競争”における1つのテーマになり得るだろう。
 ちなみにAMDの場合,DirectX 12をサポートすると述べてはいるものの,「Graphics Core Next」アーキテクチャのバージョン1.0,1.1,1.2がそれぞれどのFeature Levelをサポートするかについて,公式な情報は出していなかったりする。もちろん,現時点でもいろいろ語られてはいるわけだが,いずれAMDからも情報が出てきたときには,気に留めておくと,GPU選びの参考になるはずだ。


VR技術のサポートをGameWorksに追加


 NVIDIAは,Oculus VR製の「Rift」に代表される,仮想現実(Virtual Reality,以下 VR)対応ヘッドマウントディスプレイ(以下,HMD)に関する開発者サポートも,GeForce GTX 980 Tiと同時に発表している。Agarwal氏いわく,ゲームデベロッパ向けに配布されているソフトウェア開発キット「GameWorks SDK」に,APIとライブラリのセットたるGameWorks VRが追加されるとのことだ。
 GameWorks VRに含まれる機能は,下のスライドに書かれている5つ「Multi-res Shading」「VR SLI」「Context Priority」「Direct Mode」「Front Buffer Rendering」がメインになるそうだが,Agarwal氏は今回の説明会でMulti-res Shadingについてとくに時間を割いて説明を行っている。

GameWorks VRという名前で配布されるVR対応HMD向けの開発キットに含まれる5つの主要機能
画像集 No.010のサムネイル画像 / [COMPUTEX]「現行のGeForceが対応するDirectX 12の機能レベル」をNVIDIAが明らかに。VR向けGameWorksもリリース

画像集 No.009のサムネイル画像 / [COMPUTEX]「現行のGeForceが対応するDirectX 12の機能レベル」をNVIDIAが明らかに。VR向けGameWorksもリリース
 Multi-Resolution Shadingは,MaxwellアーキテクチャのGPUを使った,レンダリングの高速化および低遅延化技術である。
 VR対応HMDでは,「画面の中央はよく見える一方,視野から外れる画面の周囲はよく見えない」という特性がある。ならば,画面の中央は高解像度でレンダリングして精細感を上げつつ,周囲は解像度を落として処理負荷を下げようというのが,Multi-Resolution Shadingにおける基本的な考え方だ。

 下のスライドがその例で,このように,映像をいくつかの区画に分けて,中央は高解像度でレンダリングするが,周囲は余分な情報を落としてしまう。これにより「最大で20%程度の高速化を図ることができる」とAgarwal氏は述べていた。少ない描画遅延が何より重要なVR対応HMDにおいて,遅延の低減に大きな効果を期待できるそうである。
 筆者は,実際にRiftの最新版デモ機「Crescent Bay」を使ったデモも体験したのだが,Multi-Resolution Shadingを使って周囲の解像度が落とされても,普通に使う分にはまったく違いが分からなかった(※違いをチェックしようと目をこらせば,分からないこともない)。人間の目で気づかない範囲で情報量を減らせるというのは,確かに効果的といえるだろう。

画像集 No.011のサムネイル画像 / [COMPUTEX]「現行のGeForceが対応するDirectX 12の機能レベル」をNVIDIAが明らかに。VR向けGameWorksもリリース
画面の区画ごとに解像度を変えることができるMulti-Resolution Shading。これを使うと,VR対応HMDの装着時に見えづらくなる周辺部の情報量を削減し,処理全体の高速化を図ることができる
画像集 No.012のサムネイル画像 / [COMPUTEX]「現行のGeForceが対応するDirectX 12の機能レベル」をNVIDIAが明らかに。VR向けGameWorksもリリース
MaxwellアーキテクチャのGPUでは,シーンをビューポート(Viewport)に分け,それぞれ解像度を変えながら1パスでレンダリングできるという

 VRの開発支援というと,GDC 2015でAMDが「LiquidVR」を大々的に発表しており(関連記事),NVIDIAはちょと遅れた感があったが,GameWorks VRと名前を与えて,ようやく本腰を入れてきたというところだろうか。GDC 2015のタイミングで発表できていれば,もう少しアピールできたのかなという気もするが……。

 いずれにしても,これでNVIDIAとAMD両社によるVR技術支援施策が出揃ったわけで,今後,ますます競争が激しくなりそうだ。

NVIDIA日本語公式Webサイト

  • 関連タイトル:

    GeForce GTX 900

  • 関連タイトル:

    DirectX

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