椿の日記

たぶんプログラムの話をします

反射

f:id:tbk:20110508001012p:image

ソースが長いのでいい加減に画像だけに…。
鏡面反射する方向ベクトルを求めて、そちらに向けて再帰的にTraceRay関数を呼び出して、反射項を求めました。鏡面反射ベクトルは、衝突した位置の法線をN、レイが飛んでくる方向をRとすると、2*(R・N)N - Rで求まります。
やってて気づいたのが、そろそろUV計算とか真面目にやらないとなー、という話です。オブジェクト側にUV値に関する情報も仕込めるようにせんと。