GTX1180もといRTX2080が踏み込んだレイトレーシングの領域
ここしばらくGTX1180についての価格やスペック、発売時期などがリーク情報として小出しされてきました。
ですがフタをあけてみれば実はRTX2080という名前で、リーク情報とは異なるスペックをもった製品だったのです。
そして公開された情報によるとRTX2080にはこれまでには無い特徴がいくつも兼ね備えられており、特にレイトレーシングに関する要素は見逃すことができません。
今回はRTX2080の構成や注目の技術レイトレーシングについてみていきましょう。
コア数を増やしていた時代
RTX2080の設計思想はこれまでのものとは全くことなるものです。
GTX1080の単純な後継製品であるGTX1180、という形ではなくむしろ別系統への進化の道を辿った製品といえるでしょう。
それはコアの組み合わせにも現れています。
グラフィックボードでは画像の演算を行うのですが、その演算を実際に行うのがGPUです。
そしてGPUには演算器であるコアが搭載されています。
このコア数が多ければ多いほど計算能力が高いのです。
そのため、これまでNVIDIAの製品は演算器である「CUDAコア」の数を増やす方向で進化を続けてきました。
他にも演算方法を工夫したりと色々苦心してきたことも確かです。
ですが基本的にはCUDAコア数を増やし、消費者はCUDAコア数で性能を測っていたという状況でした。
RTX2080の進化の形
ですがRTX2080にはCUDAコアの他にテンサーコアとRTコアも配置されています。
テンサーコアとはGPUによる行列演算機能に特化したコアで、主に機械学習などに使われるものです。
Turing(RTX2080のGPUアーキテクチャ)の前の世代であるVoltaで始めて搭載されました。
一見テンサーコアは描画に関係しないように思われるかもしれませんが、描画に様々な効果を与える際に複雑で大量の演算が必要になります。
そうしたときにテンサーコアが力を発揮してくれるでしょう。
いわば描画においていえば描画をサポートするコアということができます。
最後に残ったRTコアのRTとは「レイトレーシング」を意味している形です。
レイトレーシングというのは途轍もなく大量の演算が必要となる描画方式で、Turingではこのレイトレーシング専用のパーツとしてRTコアを搭載しています。
これまでにもレイトレーシングという技術は存在していましたが利用するには高価な機材が必要でした。
RTX2080の登場によってレイトレーシングが民生品のレベルにまで降りてきたともいえるでしょう。
このように、RTX2080は「CUDAコア・テンサーコア・RTコア」という3つのコアで構成されています。
これまでになかった構成であり、単純にCUDAコアを増やすという方向性から舵を切った形といえるでしょう。
巨大な演算量を必要とする描画方法
RTX2080の目玉となるパーツはやはりRTコアです。
まさかのレイトレーシング専用パーツという意外性のあるものでした。
これまでレイトレーシングは理論的には実現できるものの、もの凄い演算量が必要となるため巨大な資本が必要でした。
静止画ならまだしも映像制作となるとおいそれと演算できるようなものではありません。
そのためリアルタイムレンダリングなどはまず個人の手の届かない領域にあったといっても過言ではないでしょう。
手に届くようになったレイトレーシング
そんなレイトレーシングを個人レベルで、しかも手の届く価格帯で実現するのがRTコアなのです。
GPUをそのまま使うのではなく、レイトレーシング用に設計したRTコアという専用パーツで計算するという道をNVIDIAは選びました。
新しい挑戦であり、革新的な設計といえます。
もしレイトレーシングを使用したゲームが多くリリースされていけば、やがてレイトレーシングは業界標準の技術となるでしょう。
鮮やかで生々しいその表現力はゲームと現実の境界をまた一歩近づけるものになるはずです。
レイトレーシングは光の描画
レイトレーシングというのは簡単に言えば画面内に映る光を全て描画するという方法です。
英語では「Ray Tracing」と書くのですがその意味は日本語で「光線の追跡」となります。
一体どういうことなのかというと、読んでそのまま光線を追跡するのです。
一筋の光線は物体に衝突することで反射し、さらに別の物体へと衝突しこれを繰り返します。
この処理を無数の光線に対して処理していくと、やがて映像の全体像が見えてくるはずです。
こうした処理方法がレイトレーシングとなります。
この方法を採れば物体に当たった他の物体の光線を表現できたり、陰の表現などもより性格に描写できるようになるのです。
実際のところ現実世界において私達は光の反射を感知しているわけですから現実に即した描画方法ということができるでしょう。
ただ想像すれば分かるとおり、レイトレーシングにはとんでもない演算量が必要になります。
無数の光を途轍もない回数、様々な物体に反射させるわけですからリアルタイムに描画することなど不可能に思われるほど。
それを実現するのがRTコアなのですからその実力の凄さが伺えます。
モンテカルロ法による演算量の抑制
光の反射はめちゃくちゃな演算量を必要とするため、これを抑える疑似的な計算方法もあったりします。
その菜はモンテカルロ法というもので、正確な描写ではなく実現可能な演算量に限定する方法です。
RTX2080がいくら高性能といっても無限の性能を有しているわけではないですから実際に描画する際にはこうした方法が採られるでしょう。
ラスタライズとレイトレーシング
これまでゲームプログラミングにおける3D表現にはラスタライズ法が使われてきました。
この方法はゲーム空間のオブジェクトを頂点座標の集合や色情報として扱い、それを画面上のピクセルに変換するというものです。
基本的な描画方法であり、3Dゲームのプログラムにおいては常識と言っても良いぐらいの概念だったりします。
ではこうしたラスタライズ法はレイトレーシングによって完全に置き換わるのかというとどうもそうではない様子。
RTX2080ではもちろんラスタライズ法を使うこともできるので、必ずしもレイトレーシングが必要というわけではありません。
そのためほとんどラスタライズ法で描画し、一部をレイトレーシングで描画するといった形になるのかもしれません。
演算量はラスタライズ法の方が圧倒的に少ないという点も注目したいところ。
といってもラスタライズ法でも高解像度なグラフィックにしようと思えば負担は限りなく高くなります。
あくまでラスタライズ法とレイトレーシングを比較した場合、レイトレーシングの方が遥かに負担が高いというわけです。
もしゲームを作る機会があるならベースはラスタライズ法を採用することをおすすめします。
表現技法のミックス
ラスタライズ法とレイトレーシングは共生できる関係にありますが、似たような例として2Dゲームが挙げられます。
2Dで描画されたゲームでは実はしばしば3Dのエフェクトが適用されていることがあるのです。
また一見2Dに見えるゲームでも描画エンジンは3Dのもので、擬似的に2Dとして表現しているに過ぎないといった場合もあったりします。
実は表現技法をミックスする方法というのは既に色んなゲームで実現されているのです。
まとめ
GTX1180もといRTX2080の構成やレイトレーシングについてみてきました。
RTX2080は既存のシリーズとは異なる進化を遂げた興味深い製品です。
CUDAコアの他にテンサーコアとRTコアを搭載した新時代のグラフィックボードといえるでしょう。
特にRTコアは今後のゲーム業界の行く末を変えるほどの力をもったパーツです。
今後、レイトレーシングによる途轍もない表現力を備えたゲームタイトルが生まれるかもしれません。