NVIDIAのRTXシリーズとの組み合わせで実現できる
レイトレーシングによるグラフィック
Windows 10 Ver.1809(October 2018 Update、RS5)には、レイトレーシングによるグラフィックスを可能にする「Direct X Raytracing(DXR)」が搭載された。これは、現時点ではWindowsにおける、レイトレーシングによるグラフィックスのための標準的なAPIとなる。
ただし、ハードウェアによるレイトレーシングを実現しているのは、いまのところNVIDIA社のRTXシリーズのみである。RTX 2080 Ti(借り物である)を用いて、マイクロソフトが公開しているサンプルコードを動かしてみた。
レイトレーシングとは、3Dグラフィックスの一手法で、光線の経路を計算していくことでグラフィックスを作成する。映画などで使われているいわゆるコンピューターグラフィックス(CG)は、基本的にはこのレイトレーシングを使って描画されている。
ただし、レイトレーシングには膨大な計算量が必要であり、映画などでは1フレームの描画を長い時間をかけて描画(オフライングラフィックスという)し、これを動画にしているので、高品質になる。
一方でゲームなどで使われるレイトレーシングは、1/30秒や1/60秒以内に描画を完了させる「リアルタイムグラフィックス」である。このため、映画ほどの品質にはならないものの、映り込みや影の輪郭がより本物らしくなる。
これまでのコンピューターのリアルタイムグラフィックスは、簡単に言うと、お芝居の書き割りを作って、その表面をそれらしく見えるようにするものだった。このために、影などは最も明るい光源の位置と途中にある物体の形、そして影が映り込む面の情報などからそれらしいものを計算して作っていた。一方でレイトレーシングは、光の経路をきちんと計算するため、たとえば、壁や床などからの照り返しをきちんと反映させることができるため、より現実に近い表現が可能になる。
Windowsでも標準サポートされることで
普及に向けての素地はできあがった
DXRはNVIDIAのRTXシリーズを前提に作られている。これまでもDirectXのアーキテクチャーは、NVIDIAやAMDのハードウェアに搭載される機能をベースに作られてきた。DRXは、簡単にいうとRTXのアーキテクチャーを抽象化したモデルを操作するAPIセットである。
DXRの登場により、Windowsのアプリケーションは、レイトレーシングを一定のモデルとして扱えるようになる。今後、ハードウェアの拡張や強化が進んでも、ソフトウェアはそのまま動作し続けることができる。ただし、DXRとして標準的になったといって、世間がハードウェアレイトレーシングを受け入れるかどうかは未知数だ。これまでも、DirectXに組み込まれたハードウェア機能で、それほど普及しなかったものもある。しかし普及するには、DXRなどのようにWindowsの標準的な機能になることは必須である。
前述したように、Windows 10 RS5に搭載されたDXRを利用するには、現時点ではRTXシリーズが必須である。ハードウェアレイトレーシング機能を持たないGPUでは、そもそもDXRを動作させることができない。
ただし、プレビュー版の時点では、そもそもRTXシリーズが出荷されていなかったため、Fallback Layerと呼ばれる機能が利用できた。これはソフトウェアとハードウェアレイトレーシング機能のないGPUを利用して、レイトレーシングを実行する機能である。マイクロソフトが提供しているサンプルコードには、このFallBack Layerが組み込まれるため、RTXシリーズがなくてもDXR対応プログラムを実行できる。
それでも、筆者が試した範囲では外付けGPUが必須で、CPU内蔵のGPU(Intel HD Graphicsなど)ではこのFallbackがエラーとなって動作しなかった。NVIDIAのGTX1070ならば、フレームレートは落ちるもののDXRを動作させることができた。
なお、このFallback LayerはWindows 10 RS5には含まれておらず、DXR対応のソフトウェアが自分で対応する必要がある。そもそもハードウェアで高速化に動作することが前提のハードウェアレイトレーシングなので、ソフトウェアによるエミュレーションで、実用的に動作するかどうかは疑問だし、インテルなどのCPU内蔵GPUでは動作できないのでは、入っている意味がなさそうだ。もちろん将来的には、Fallbackが標準で搭載される可能性はありえる。
この連載の記事
-
第446回
PC
Windows 11のフォトアプリがUWPからWin32アプリになったことで今更わかるUWPの問題点 -
第445回
PC
次期Windows 11ではAndroidのファイルをエクスプローラーからアクセス可能になる -
第444回
PC
外部ファイルをExcelに読み込む際の作業を効率化するPower Queryの活用 -
第443回
PC
Windows Terminalで採用されたCascadia Codeフォントを使うとプログラムを書くとき断然見やすい -
第442回
PC
Copilot+ PCで実現されるローカル推論で「対クラウド企業」を指向するMicrosoft -
第441回
PC
WSL以前から40年以上続く、Windows(Microsoft)とUNIXとの関わり -
第440回
PC
そもそも「Copilot+ PC」とは何なのか? -
第439回
PC
今更more.comを使うのか!? Windowsでのページングを考える -
第438回
PC
Windowsはなぜ再起動が必要になるのか? -
第437回
PC
Windowsが今更(?)開発者に優しくなろうとしている!? 「Dev Home」は開発者にとって使い物になる? -
第436回
PC
Copilot+PCとともにWindowsのデバイス間連携に大きな変化!? Project ROMEの逆襲? - この連載の一覧へ