単位ベクトルULをt倍しているだけですが、十分イメージできますよね。ローカル座標で表された3つのベクトル。このベクトルを合成すれば法線マップの法線ベクトルをローカル座標で表す事ができます。ZLがその向きとなります。やりました!UV座標にあった法線ベクトルがローカル座標に移ったわけです。逆転の発想、ローカルを接空間にすると計算量を超稼げますさて、�Bで法線マップの法線をローカル空間に結構あっさりと変換できる事を示しました。実はパフォーマンスの観点から、これと逆の発想がより良い事が知られています。�BでUVZ軸のローカル座標方向と法線マップの法線ベクトルを掛け算して合成すると法線ベクトルがローカルに移ると説明しましたが、法線マップのピクセルの色は「ピクセルシェーダ内でないと取得できません」。�Bの計算はピクセルシェーダ内で行うわけです。ピクセルシェーダは頂点シェーダに比べて呼び出し回数が桁違いに多いものです。頂点シェーダの呼び出し回数は高々数万回でが、ピクセルシェーダは時に数百万回を超えます。言う事はピクセルシェーダ内であまり計算をさせたくないのが本音です。法線は殆どの場合、ライトの方向と法線の向きとで「表面の明るさ」を算出するのに使われます。法線に対してライトが逆向きの場合、その面は最大級に明るく照らされています。面にライトが斜めに当たるほど、その明るさは暗くなります。その大きさは法線ベクトルとライトの向きを反転させたベクトルの内積で算出されます。ここがとっても重要なのですが、この内積は「法線とライトが同じ座標で向きが表されている時だけ」有効です。ワールド空間にあるライトと、ローカル空間にある法線の内積を取っても何の意味もありません。両方とも空間を揃えないとだめなわけです。