Binormal

The genuine programmers use C++

 

每周算法:网格勾边之轮廓检测算法

在某些情况下需要做网格的轮廓检测,例如ShadowVolume,勾边渲染等,具体算法如下:

假设参考边为uv,u和v是两个端点所有共享边uv的面集合记为sides,则:
1.遍历网格的索引缓存,对每条边构建sides;
2.对每个sides集合,检查dot(normal(side[i]),view),view是视线方向,如果结果中有正有负,则该边为轮廓边,将轮廓边加入一个图结构graph;
3.在graph中使用深度优先算法检测回环,如果有回环就是轮廓.

posted on 2010-07-25 13:45 Binormal 阅读(755) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

统计

常用链接

留言簿(2)

随笔档案

文章档案

搜索

最新评论

阅读排行榜

评论排行榜