レイトレーシング 【ray tracing】
3次元空間上の物体の形状や位置、光源や視点の位置を元に画像を生成する「レンダリング」(rendering)処理の手法の一つである。視点と描画面上の各画素を結ぶ直線を空間内に延長していき、最初にぶつかった物体表面上の点における光の強さから、画素の色を算出する。
比較的シンプルな計算手法で実装しやすく、少ない記憶容量で実行できる。得られる像も透過や屈折を反映した精細で写実的なものとなる。ただし、一つ一つの画素ごとに光線の追跡を行うため計算量が膨大で、強力な計算資源を用意して長時間の計算を行う必要がある。
以前は1枚の画像を得るのに数時間から数日かかるのが当たり前の手法で、事前にレンダリングした内容を再生する3Dアニメーション映像の制作などに用いられていたが、近年ではGPUなどの性能向上によりリアルタイムに描画する「リアルタイムレイトレーシング」が可能となりつつあり、ビデオゲームなどに応用されている。
他分野での応用
物理シミュレーションなどの分野でも同様の手法により、直進する波を追跡してある面における像を算出することをレイトレーシングという。電波を追跡して電界強度の分布を算出したり、地震波が震源から観測点までどのように伝播するかを追跡するといった応用が行われている。
歴史
視点から光線を逆方向に追跡するというアイデアは1968年にアーサー・アペル(Arthur Appel)氏が「レイキャスティング法」(ray casting)として考案した。これは物体の反射面より先を考慮しない単純なアルゴリズムだったが、1979年にターナー・ウィッテッド(Turner Whitted)氏がこれを改良し、物体の反射面から先に再帰的に光線を追跡していき、反射、屈折、影、映り込みなどを勘案した像を得る手法を考案し、「レイトレーシング法」と命名した。