在3D世界中每一個頂點都有顏色,除了使用光源和物體的材質信息之外,還需要知道每個頂點的法向量,根據光照入射方向和法向量的夾角,計算頂點的最終顏色.那么我們來了解下頂點法線.
頂點法線: 每一個頂點都有法向量,就能知道光線到達物體表面的入射角.
面法線: 垂直一個平面的直線叫面法線
一般情況下頂點法線和面法線的方向是相同的,比如一個類是於圓球體和圓的定點法線和面法線方向就不一致,如下圖
計算頂點的法向量,假設一個三角形由P0,P1,P2頂點組成. 如何計算頂點的法向量N1呢?
N1 = (P0 - P1) 叉乘 (P2 - P1); 是正 N1 = (P1 - P0) 叉乘 (P1 - P2); 是正
求出的頂點法線的值並不重要,我們只需要在乎他的方向(正和反),如上圖N1是正方向,求出它的反方向就應該是
N1 = (P0 - P1) 叉乘 (P1 - P2); 是反
第二種計算頂點法向量的方式: 如果一個頂點是三個平面的共同頂點,那么通過三個面法線計算出頂點法線
Np = (N0 +N1 + N2) / 3