2025年9月6日土曜日

スフィアトレーシングとはどういう意味でしょうか?

 スフィアトレーシング(Sphere Tracing)とは、**距離関数(Signed Distance Function = SDF)**を使ったレイマーチングの一種です。

概念

  • 通常のレイマーチングは、レイ(視線)を一定の長さずつ進めて、どこかで表面に当たるかどうか調べます。

  • スフィアトレーシングでは、**「今いる点から表面までの最短距離」**をSDFで計算し、その距離ぶんだけ一気に進めます。

  • つまり、「絶対に衝突しない最大の球(スフィア)」の半径分だけ進むので「Sphere Tracing(球をたどる)」と呼ばれます。

特徴

  • 無駄な判定が減り、早く表面にたどり着く。

  • 複雑なオブジェクトや滑らかな曲面もリアルタイムで表現しやすい。

  • SDFが正しく設計されていれば、表面を突き抜けない(オーバーシュートしない)。

まとめ

スフィアトレーシングとは、SDFの値を使って「絶対にぶつからない最大の距離」を一気に進むことで、効率よく表面との交差を検出するレイマーチングの手法です。


補足:

  • スフィア=球体ですが、「球を描く」のではなく「進んでも絶対ぶつからない球を想定して進む」イメージです。

  • Shadertoy の多くのレイマーチ系シェーダーはこのアルゴリズムを使っています。

もっと数式や実装例を知りたい場合もお答えできます!