- 最后登录
- 2018-11-1
- 注册时间
- 2017-5-11
- 阅读权限
- 30
- 积分
- 560
- 纳金币
- 121
- 精华
- 0
|
在国外,有一位大神针对延迟渲染提出了边缘检测法,广受业界的好评。今天蓝海创意云渲染就带着大家看一看边缘检测究竟是怎么回事。
Shishkovtsov 2005提出了一个边缘检测方法,用于在帧缓存上模拟反锯齿。这种方法需要一些与分辨率相关的魔数。我们也需要反锯齿,我们修改了一下这个方法,使之可以与分辨率无关。
我们对一个像素邻近的8个像素,进行深度梯度和法线角度的采样,这一点是与Gems2一致的。我们在这个点上判断深度上最大的和最小的变动,来确定边缘有多强。像素之间深度的梯度是与分辨率无关的。通过比较梯度变化率之间的关系,而不是梯度,就可以做到分辨率无关了。
在这个算法中,我们没有做对“右上”或“前”边缘的选择的限制,因此很多边缘会有两个像素宽,不过,当使用了Filter来平滑这些边缘后,看起来也不错。
边缘检测的结果是生成了逐像素的边缘权重,这个值在0~1之间。这个权重反映了会有多少像素在它上面。在最后的渲染前,我们会把这个权重进行四个Bilinear采样。这四个采样是中心像素权重0,四周权重为1的采样。这样的结果就是目标像素的权重是它8个邻居权重的平均值。像素越是一个边缘像素,就会越多与它的邻居混合。
看了这篇教程,不知大家明白了延迟渲染的边缘检测发了没有。蓝海创意云渲染会不断给大家带来国内最新的渲染教程,大家喜欢的话要关注一下哦。
|
|