これまで3次元空間にポリゴンを配置とかはしていましたがライティングの計算は躊躇していました。
2時間ぐらいでなんとかできました。
やってみると意外にできるものです。
手順を忘れそうなのでメモ
(1)ポリゴンデータから2つのベクトルを作って法線ベクトルを求める
(2)平行線のライトのベクトルと法線ベクトルの内積(cosθ)を求める
(3)視線のベクトルと法線ベクトルの内積(cosθ)を求める
(4)ポリゴンの色に2つの内積をかける
さらにライトの色RGBの割合をポリゴンの色にかけ合わせると当てる光の色も変わりました。
<参考サイト>
3Dを基礎から勉強する 外積
3Dプログラミング基礎知識(6)
2つのベクトルのなす角
2時間ぐらいでなんとかできました。
やってみると意外にできるものです。
手順を忘れそうなのでメモ
(1)ポリゴンデータから2つのベクトルを作って法線ベクトルを求める
(2)平行線のライトのベクトルと法線ベクトルの内積(cosθ)を求める
(3)視線のベクトルと法線ベクトルの内積(cosθ)を求める
(4)ポリゴンの色に2つの内積をかける
さらにライトの色RGBの割合をポリゴンの色にかけ合わせると当てる光の色も変わりました。
<参考サイト>
3Dを基礎から勉強する 外積
3Dプログラミング基礎知識(6)
2つのベクトルのなす角