NHK ニュースセンター9時オープニング(1983)
 ここひと月ほどの間にグラフィックカードの新製品が続々と登場しています。以前のよりも性能が大幅に向上していて、そしてすべての新製品がDirectX12 Ultimateという新しい機能セットを完全にサポートしています。その新機能のひとつとして“レイトレーシング”という言葉をよく聞くようになりました。

Mandara 1983 (C)藤幡正樹
 レイトレーシングという言葉に非常に懐かしい響きを憶える方もいらっしゃるのではないでしょうか。その手法はコンピュータグラフィックスの黎明期にはすでに確立していて、1983年のニュースセンター9時のオープニングで全お茶の間が目にすることとなりました。またレイトレーシングの歴史を語る上では欠かせない、藤幡正樹氏による Mandala1983 という作品が発表されたのもこの年です。

 90年代にはレイドリームデザイナーやStrata Vision3D、Shade。。。 などなど、レイトレーシングを謳い文句にした3DソフトがPC雑誌を賑わせていましたが、その後次第にレイトレーシングという言葉はそれほど聞かなくなります。
 その理由のひとつは、高品質なイメージを生成するための様々な手法が開発され、レイトレーシングは単にその中の非常に基礎的な技術のひとつでしかなくなったことです。重要な技術のひとつとして使われ続けてはいるのですが、殊更に謳い文句になるものでもなくなりました。
 そしてもうひとつの理由は、専用ハードウェアによるリアルタイムレンダリングの興隆です。シリコングラフィックスのグラフィックスワークステーションから始まったハードウェアレンダリングは、グラフィックカードというかたちでPCに取り込まれると、その性能をフルに活用した3Dゲームが次々と登場し物凄い勢いで発展していきます。このハードウェアレンダリングはレイトレーシングとは全く別の手法で3D画像を構築します。



 レイトレーシングとリアルタイムレンダリングの違いを物凄く大雑把に説明しますと以下のようになります。

説明-1
 大量の3D図形データを画面上の大量のピクセルの上に描画するのですが、レイトレーシングがピクセルから始めてそれぞれのピクセルに見える図形を求めて描画していくのに対して、リアルタイム描画は図形から始めてそれぞれの図形が覆うピクセルを塗りつぶしていきます。計算のアプローチが全く逆なのですね。
 レイトレーシングはピクセル毎に光線を追っていくので、図形に当たった先の反射や透過を再帰的に計算していくことができます。ただし計算時間がかかります。一方リアルタイム描画の図形基準の計算は面として塗りつぶしていくためそういった表現が苦手です。その代わりポリゴン数が多くないうちは非常に高速で、リアルタイム描画が可能です。



 さて、このリアルタイム描画が確立されてから30年以上が経ち、グラフィックカードの性能は飛躍的に向上してとてもきれいな絵が描けるようになりましたが、基本的な構造は実は全く変わっていません。影や反射などの表現が苦手なのもそのままで、疑似的な表現を駆使し、美麗な絵になるよう物凄い苦労をかけています。
 いったんピクセル上に描画し、そこからさらにレイトレーシングっぽいことをするスクリーンスペースレンダリングやディファードレンダリングなどといった手法が開発されていきました。グラフィックカードもそれらを十分に計算できる速度やグラフィックメモリを備えるようになりました。


説明2
 ここで転換点がやってきます。

ここまでできるんだったら、もう今のグラフィックカードの能力があればじゅうぶんにハードウェアによるリアルタイムレイトレーシングが可能なのでは。。。?

 もしできたなら、これまで苦労に苦労を重ねてきた疑似的な影や反射の表現技法とそれに伴う制約から解放され、もっとシンプルにシーンを記述でき、表現力をさらに上げることができます。
 
 


負荷グラフ
 レイトレーシングの利点はまだあります。OpenGLなどの図形ベースの計算は図形が少ないうちは非常に高速に描画できるものの、増えれば増えただけ処理負荷が上がってしまうため、物凄い労力をかけて図形数を削る必要があります。
 レイトレーシングももちろん図形数が増えれば処理負荷は増えるのですが、その増加ペースは図形ベースの計算に比べると穏やかです。なので、ハードウェアレイトレーシングがじゅうぶんに実用的になれば、湯水のように大量の図形を描画させた場合は従来の図形ベースの計算よりもレイトレーシングの方が全然効率が良くなるという逆転現象が、やがて確実に起きます。そしてその先には、ポリゴンを節約するためのあらゆるテクニックが過去のものになる未来がやってきます。。。

    。。。。これはもう、、ハードウェアレイトレーシング、、 やるっきゃない。。。!!!

というのが、まさに今の状況なのです。NVIDIAからはレイトレーシングをサポートした2世代目のグラフィックカードが出て、AMDも満を持してレイトレーシング対応のグラフィックカードを発表しました。インテルもサポートを表明しています。マイクロソフトはWindows10でハードウェアレイトレーシングを標準的に扱えるようにしました。もう業界一丸となってレイトレーシング祭りです。

 上述のようにレイトレーシングはこれまで30年以上続いてきた図形ベースのレンダリングからの根本からの大変革になります。しばらく忘れかけられていたレイトレーシングという単語が俄かに脚光を浴びることとなったのはこんな理由です。

 実際のところ、大域光などの「全部入り」レイトレーシングをリアルタイムで計算させるには、今の最上位のハードウェアでさえもまだあと数歩ばかり能力が足りていません。レイトレーシング対応のグラフィックカードも出てまだ日が浅いため、その能力をフルに活かしたアプリやゲームも多くありません。エントリークラスのグラフィックカードやCPU内臓グラフィックスはまだ当面レイトレーシングに対応しそうにありません。ですが、PCで当たり前のようにリアルタイムレイトレーシングができるようになるとても面白い未来は、もうそこまでやってきています。

 さてオーセブンはと言いますと、そんな面白い世界が来るのを指をくわえて待ってるだけ。。 なんてことは当然ながらありません。来るべき未来に対応するべく奮闘しております。ぜひご期待ください。