レイトレーシング
懐中電灯の光が鏡に反射して目に届くルートを『逆から辿って』、本物そっくりな光と影を描く技術です。
定義 レイトレーシング(Ray Tracing、光線追跡法)とは、画面に見える光の通り道を人間の目(カメラ)から逆に辿ることで、光の反射・屈折・影を現実世界のように計算するグラフィックス描画技術です。仮想の光の粒が物に当たって跳ね返る様子をシミュレーションし、極めてリアルな3D映像を作り出します。
光を逆から辿るカメラ
現実世界では、太陽や電灯などの光源から無数の光が降り注ぎ、物に当たって跳ね返った光が私たちの目に届きます。しかし、コンピュータが光源から出るすべての光を計算しようとすると、計算量が膨大すぎて処理が追いつきません。
そこでレイトレーシングは、発想を賢くひっくり返しました。光源からではなく、私たちの目から出発した仮想の光線を逆に放つ方法をとったのです。
目から放たれた光線が仮想空間の物体に当たると、その物体の色を確認し、さらにその物体が光源から光を受けているかをチェックします。私たちの目に実際に届く「有効な光のルート」だけをピンポイントで計算するため、無駄な計算を劇的に減らせるのです。
これまでの方式と何が違うの?
長年、3Dゲームでは「ラスタライズ(Rasterization)」という方式が使われてきました。3次元の立体モデルを2次元の画面に平らに投影したあと、表面に色や影のエフェクトを塗り重ねていく方法です。
ラスタライズは計算が非常に速くリアルタイム処理に向いていましたが、明確な限界がありました。鏡に映る部屋の様子や、ガラスを通り抜けて曲がる光のような複雑な動きは、あらかじめ用意した『だまし絵』のような効果で真似るしかなかったのです。
一方、レイトレーシングは光の物理法則を直接計算します。ガラス窓に映る街並み、水たまりに反射するネオンサイン、物体の後ろに自然と広がる柔らかい影などを、ごまかしなく完璧に再現できます。
もう少し詳しく:なぜ「今」使えるようになったの?
レイトレーシングは1960年代後半にはすでにアイデアが存在していた歴史ある技術です。しかし以前は、映画のVFXや劇場用3Dアニメーションのように、あらかじめ時間をかけて映像を作る用途でしか使えませんでした。映画のたった1コマ(1フレーム)を描くのにも、何十台ものコンピュータが何日もかけて計算していたからです。
毎秒60フレーム以上の描写が求められるリアルタイムのゲームでは、とても実用化できませんでした。画面の膨大なピクセルごとに飛び交う光線を瞬時に計算するのは、コンピュータにとって荷が重すぎたのです。
しかし近年、光線追跡に特化した専用チップを積んだ強力なGPUや、AIによる画像補正技術が登場しました。そのおかげで、今では家庭用ゲーム機やパソコンでもリアルタイムで息をのむような美しい光を体感できるようになりました。
🤔 よくある誤解
レイトレーシングは、現実と同じように光源から放たれるすべての光をシミュレーションしている。
光源から四方八方に広がる光をすべて計算すると、計算量が多すぎて処理できません。実際には、目(カメラ)側から光線を逆向きに飛ばし、画面に映る光の経路だけを効率よく追跡しています。
🧺 日常で出会う場面
カメラ(視点)から仮想の光線を逆向きに飛ばし、光の反射や屈折、影の広がりを物理法則に基づいて忠実に計算するグラフィックス技術です。