Metal RayTracing の覚え書き

二次レイの条件

二次レイの射出の条件は、一次レイでオブジェクトにヒットしたレイで、かつジオメトリーだった場合に、IntercectionPoint を origin に、法線を direction にしてトレースする。

何も交差しなかった、かつ光源にヒットしたレイはバウンスする余地がないためレイは終了する。ジオメトリーにヒットしたレイはバウンスするようになっている。

ShadowRay, ShadowKernel では、光源との間に何もヒットしなかったら ShadeRay の値をレイを飛ばしたピクセルに結果を書き込む。

二次レイの射出

Metal レイトレサンプルの n 次レイの指定は CPU 側のループで調整。二次レイは一次レイでヒットした位置から射出される。一次レイでは ray.color = 1.0 だったが、二次レイでは、一次でヒットした surface color のみを ray.color に乗算して、二次レイに射出している。(ライティング結果は乗せない)

コメントを残す

メールアドレスが公開されることはありません。