基于法线的边缘检测

本文介绍了3D边缘检测的一种方法,即基于法线的边缘检测技术。通过在像素着色器中处理法线信息,创建线条图。该方法在视觉效果上类似于2D空间域边缘检测,适用于物体线条图的绘制。文章提到了两种渲染流程,一种在像素着色器中进行向量化处理,另一种在顶点着色器中。在实际应用中,需要关注性能问题,尤其是在计算每个像素与周围像素法线夹角余弦值的和时。最后,文章提供了示例代码展示了如何实现这一效果。
摘要由CSDN通过智能技术生成

边缘高亮效果中我提到过两种方法, 各有优缺点吧

 

图像空间域的边缘检测效果比较好, 中间没有多余的线条. 缺点是PS中计算比较慢

第二种把模型"放大"(其实是变胖)的做法, 可以在VS中完成, 不需要额外的RenderTarget, 适合低端显卡使用, 适应性好. 不如果模型法线信息不对的话, 会造成画面错乱. 实际使用时可以根据W值(不用Z深度)来画出远近粗细一样的线条

 

这次提到的基于法线的方法, 其实跟2D的空间域边缘检测很相似, 如果要求结果是绘制物体的线条图而不仅仅是一个边缘轮廓时, 它就派上用场了. (还是要用PS去算, 实际使用时要注意性能问题)

 

基本的渲染流程(2 pass):

<

第一个pass用于生成法线图到一张RenderTarget上, 第二个pass跟据这张法线图来做边缘检测.

实际使用时可以采用Multi-RenderTarget来加速

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值