每周算法:網(wǎng)格勾邊之輪廓檢測(cè)算法
在某些情況下需要做網(wǎng)格的輪廓檢測(cè),例如ShadowVolume,勾邊渲染等,具體算法如下:假設(shè)參考邊為uv,u和v是兩個(gè)端點(diǎn)所有共享邊uv的面集合記為sides,則:
1.遍歷網(wǎng)格的索引緩存,對(duì)每條邊構(gòu)建sides;
2.對(duì)每個(gè)sides集合,檢查dot(normal(side[i]),view),view是視線方向,如果結(jié)果中有正有負(fù),則該邊為輪廓邊,將輪廓邊加入一個(gè)圖結(jié)構(gòu)graph;
3.在graph中使用深度優(yōu)先算法檢測(cè)回環(huán),如果有回環(huán)就是輪廓.
posted on 2010-07-25 13:45 Binormal 閱讀(806) 評(píng)論(0) 編輯 收藏 引用

