在某些情況下需要做網(wǎng)格的輪廓檢測,例如ShadowVolume,勾邊渲染等,具體算法如下:
假設參考邊為uv,u和v是兩個端點所有共享邊uv的面集合記為sides,則:
1.遍歷網(wǎng)格的索引緩存,對每條邊構建sides;
2.對每個sides集合,檢查dot(normal(side[i]),view),view是視線方向,如果結果中有正有負,則該邊為輪廓邊,將輪廓邊加入一個圖結構graph;
3.在graph中使用深度優(yōu)先算法檢測回環(huán),如果有回環(huán)就是輪廓.