【RTX20シリーズ】レイトレーシングとは何ぞ?を超ざっくり解説する

グラフィックボード
スポンサーリンク
スポンサーリンク

茶番

ばっち
ばっち

最近NvidiaからRTX2060っていうグラボが出たじゃん?

A子
A子

ええ、そうね

ばっち
ばっち

ミドルクラスのグラボらしいんだけど、価格が日本円で約45,000円~55,000円ぐらいするらしい

A子
A子

ミドルとは思えない価格ね

ばっち
ばっち

今までのミドルクラスのグラボだと大体4万円以下だったのに、なんでこんな高いんかなあ・・・

A子
A子

それはリアルタイムのレイトレーシング技術に対応したからじゃない?

ばっち
ばっち

レイトレーシング?

A子
A子

画面を出力するための手法の1つのことね。

A子
A子

とはいえ、私もあんまり知らないんだけど・・・

レンダリング技術

レイトレーシングとはなんぞ?という前に、まずはゲームなどでどうやって画面を作っているのかを超ざっくりと理解する必要があります。

ゲームや映画などで映像、静止画を表示させるときは主にレンダリングして画面に映像を出力しています。

レンダリングとは、画像や画面の内容を指示するデータの集まり(数値や数式のパラメータ、描画ルールを記述したものなど)をコンピュータプログラムで処理して、具体的な画素の集合を得ること。そのためのハードウェアやソフトウェアのことを「レンダラー」(renderer)あるいは「レンダリングエンジン」(rendering engine)などと呼ぶ。画像だけでなく映像や音声を生成することもレンダリングということがある。

http://e-words.jp/w/%E3%83%AC%E3%83%B3%E3%83%80%E3%83%
AA%E3%83%B3%E3%82%B0.html より引用

レンダリングのざっくりとした認識はこちらのサイトがわかりやすかったです。

上記サイトではHTMLを例にしておりましたが、それと同じようなことを映像出力の際にもやっているということらしいです。

そして、今まではゲームにおいての映像出力のレンダリング方法は「ラスタライズ」という手法が一般的でした。

ラスタライズとは?

ラスタライズにおいて、画面上の物体は、その 3D モデルを構成する仮想的な三角形や多角形 (ポリゴン) の組み合わせ (メッシュ) で生成されます。この仮想的なメッシュでは、各三角形の頂点が、サイズや形状の異なる他の三角形の頂点と交わります。各頂点には、空間内の位置、色、テクスチャ、その「法線」に関する情報など、多数の情報が関連付けられます。法線は、物体の面が向いている方向を決定するために使用されます。
次に、コンピューターによって 3D モデルの各三角形は 2D 画面上のピクセル (ドット) に変換されます。各ピクセルには、三角形の頂点に格納されたデータから色の初期値を割り当てることができます。
さらに、シーン内の光がピクセルにどのように当たるかに基づくピクセルの色の変更、ピクセルに対する 1 枚以上のテクスチャの適用などのピクセル処理 (シェーディング) の組み合わせによって、ピクセルに適用する最終的な色が生成されます。

https://blogs.nvidia.co.jp/2018/03/26/whats-difference-between-ray-tracing-rasterization/ より引用

ザックリ読み解くと、

  1. 3Dモデル(ポリゴン)を用意するよ!
  2. ポリゴンの各要素をドット化するよ!
  3. 光源によって各ドットの色を変えるよ!

っていうことですかね。

いや、やっぱりよくわからんので絵にしてみました。

=======

3Dモデル(ポリゴン)を用意するよ!

ポリゴンの各要素をドット化するよ!

光源によって各ドットの色を変えるよ!

=======

というわけで、ちょっとはわかりやすくなりましたかね?

※下手な絵ですいません

超ざっくりまとめると、

光源を設定して、あとはなんとなーく「この箇所はこの色になるんじゃね?」を計算してそれっぽく着色する

という方式ですね。

また、ラスタライズには

画面に映っていない部分の処理をしないようにする

という処理もあります。

※ラスタライズの処理のさせ方にもよりますが・・・

なので、映っていない部分を描画処理に使用しないため、どうしてもその部分に関わる描写が現実のものと乖離してしまう可能性があります。

レイトレーシングとは?

概要

今までゲームでよく使われているレンダリングについては理解?できました。

さて、次はいよいよ本題のレイトレーシングです。

察しの良いかた(というかほぼすべての人)はもうわかっていると思いますが、レイトレーシングとはレンダリング技術の1つです。

ラスタライズが周りの環境から影響を受けて色を付けるのに対して、レイトレーシングは「視点からの光の反射」を利用して画面を作っていきます。

レイトレーシング(ray tracing, 光線追跡法)は、光線などを追跡することで、ある点において観測される像などをシミュレートする手法である。
光線の他、直線的に伝わる(回析などの影響が少ない)ものであれば任意の波に適用できる手法であり、たとえば光以外の波長の短い電磁波(電波)や音波など(地震波や超音波など)が挙げられる。「波線追跡法」「音線追跡法」などといった語もある。
ある点(ある人の視点・耳・電波観測装置など)に届く光線・波線(電波の仮想的な線)・音線(音波の仮想的な線)などを逆にたどることによって、その点における視像(画像)・音像などを描画する。たとえば光線であれば、物体の表面の反射率、また透明度・屈折率等々を細かく反映させた像を得られるのが特徴で、1画素ずつ光線の経路を計算するので、高い画質で描画することができるという特長がある、が反面、一般的に計算量は多くなる。

https://ja.wikipedia.org/wiki/%E3%83%AC%E3%82%A4%E3%83%88%
E3%83%AC%E3%83%BC%E3%82%B7%E3%83%B3%E3%82%B0 より引用

というわけでまた絵でざっくり説明します。

=======

視線(レイ)を出すよ!

反射させるよ!

反射させた後に光源があれば処理するよ!

くり返すよ!

=======

って感じです。逆に分かりにくくなったかも・・・

長所

このレイトレーシング、視線(光)を基準として画面を形成するため

反射や屈折

などの光の処理がからむ描写にとても強いのです。

特に、屈折表現はラスタライズだと光源から超ザックリとしか描写できないため、どこか違和感のある描写になってしまいます。

しかし、レイトレーシング法であれば演算に基づいて描写するため、現実に近づいた描写ができるのです。

反射や屈折がとても綺麗に描写されている

また、このレイトレーシング法はラスタライズ法と異なり

画面描写外の環境も処理する

ため、よりリアルな画面描写が可能です。

これはとあるゲームのスクリーンショットがわかりやすいので紹介します。

レイトレOFFの場合。車に炎の反射描写がほとんどない
レイトレONの場合。描写外の炎もしっかり反射している

というわけで、レイトレーシング法は現実にかなり近い画面描写ができるすさまじいレンダリング技術なのです。

欠点

「じゃあ、全部レイトレーシング使えばいいじゃん」

って思う方もいると思います。

もちろん、レイトレーシングのほうが画面描写はすさまじくきれいです。

しかし、

レイトレーシング処理はすさまじく重い

のです。

ざっくりと描写計算してしまうラスタライズと違って、レイトレーシングはかなり緻密な計算を行います。

また、ラスタライズでは処理を省いてしまう画面外の要素も、レイトレーシングではしっかりと描写しないといけません。

さらに、ゲームなどではこのすさまじく重いレイトレーシングを

リアルタイムで行う必要がある

のです。

このリアルタイム性が難しく、今日までゲームなどではあまり使用されてこなかったのです。

RTX20シリーズの登場

レイトレーシングはすさまじく処理が大変で、それをリアルタイムで行うとなるととてつもない処理速度が必要でした。

その処理を、レイトレーシング処理に最適化したハードウェアにさせてやろう、という目論見で作られたのが

NVIDIAのRTX20シリーズです。

このグラフィックボードには、従来のグラフィック処理をするCUDAコアと、レイトレーシング処理を行うTuringコア(厳密にはちょっと違うが)が搭載されています。

このTuringコアの中にあるRTコアはレイトレーシングに特化しており、レイトレーシング処理を専任するため、リアルタイム性を失わずにレイトレーシング処理を行うことができるのです。

よって、ゲームでもレイトレーシングを使って画面描写をすることが可能となりました。

しかし、このRTXには何点か問題があります。

1つ目の問題が、

対応するゲームが少ないこと。

確かにかなり現実的な描写ができるレイトレーシングですが、今まで普及していなかったため、なかなか対応するゲームを開発することが難しいのです。

現在(2019/1/21)時点で対応している有名なゲームは

・Battlefield V

・Shadow of the Tomb Raider

などがありますが、やはりまだまだ数は少ないです。

そして2点目の問題ですが、

値段が高い!

これに尽きます。

最上位モデル(Titan RTX除く)のRTX2080tiなんか、20万円近くしますし、ミドルクラスと呼ばれる安価なRTX2060でも5万円ぐらい。

今までのミドルクラスのグラボはは4万円届かないぐらいで購入できていたので、約1万円以上の価格差となります。

Turingコアがついているので仕方がないと言えば仕方がないのですが・・・

まとめ

ざっくりまとめるとこんな感じ

  1. 今までは処理の軽いラスタライズが一般的だったよ
  2. でも、RTXシリーズが出たことによってレイトレーシングもゲームに使いやすくなったよ
  3. でもRTXは高くて普及がなかなか進まないよ
  4. レイトレーシング対応ゲームも開発が難しいよ
  5. でもめっちゃ綺麗

リアルタイムレイトレーシング自体は画期的な技術だと思いましたし、これからどんどん普及していくことでしょう。

あとは価格が安くなるだけですね・・・

あとがき

A子
A子

こんな感じかしらね

ばっち
ばっち

そんな画期的な技術を盛り込んでたら高くなるのも仕方ない・・・のかな?

A子
A子

ある程度技術が枯れてきたら安くなっていくと思うけど、まだまだ先は長いでしょうね

ばっち
ばっち

しかたないね

A子
A子

一応、噂ではTringコアをなくしたGTX1660っていうグラボも開発中らしいけど・・・

ばっち
ばっち

ミドルクラスはAMDに頑張ってもらうしかないかなあ

A子
A子

レイトレのNVIDIA、ミドルのAMDって感じになったら住み分けできてユーザーは楽ね

ばっち
ばっち

それでは!

 

コメント

タイトルとURLをコピーしました