当前位置: 首页 > cg教程 > 建筑表现教程

HDR教程之通道产生噪点问题的解决方案

  • 2015-12-15 22:19:16
  • 作者/来源:戴老师/安之语博客
  • 己被围观
  • 被点评
HDR图片一般不能直接对场景照明,依赖GI运算来照亮场景。很多时候,会由于HDR图片内容很丰富,而导致GI通道产生噪点,一般会提高GI的精度来减少噪点,但是渲染时间就长了。

  GI通道噪点产生的原因与解决方案


  HDR环境贴图一般不能直接对场景照明,依赖GI运算来照亮场景。很多时候,会由于HDR图片内容很丰富,而导致GI通道产生噪点,一般会提高GI的精度来减少噪点,但是渲染时间就长了。
  这里给大家介绍一个解决GI通道噪点的方案。GI通道产生噪点的原因是这样的:我们的GI决定每个点的照明的颜色和亮度的时候,先会从摄像机像这个像素点发出一条射线,当这个射线打到这个像素以后,会爆开一个半球形的射线集合,这些射线又去场景里面去找周围环境的亮度和色彩信息,收集完了以后,会把所有射线收集的信息全部加起来,除以射线的数量,得到一个平均值。这个平均值,就是这个像素点的GI信息了。
  对于一个对比度稍微大一点的HDR图来说,图片上肯定有些区域有高亮,比如我这个例子里面的太阳。太阳很小,但是却异常的亮。每当有射线射中这个太阳的时候,就会对平均值增加不少的亮度。但是在你采样不高的时候,就会出现图中的情况,所有的采样射线都射空了!没有击中太阳,那么这个点的亮度信息就会比较弱。


1  但是采样是随机的,也有的时候,有的射线就正好射到了太阳,那么平均下来的亮度就比较亮。2


   当你的GI采样低的时候,你的射线数量就少,你射中太阳的概率就低,但有的时候又运气好能射中,完全看运气。于是你渲染出来的GI通道就会有一些亮斑,就是这么来的。如果你狂提精度,射线数量非常多,那么射中的概率就很高,于是每个点算的亮度都基本是正确的,就不会出现亮斑和噪点,但是渲染时间也上去了。
  那问题怎么解决?从产生的原因来说的话,就是场景里有些地方对比对很大,区域又小,很难射中。那么,我们就把整个图片进行一个模糊处理,让图片区域和区域之间的差异降低,让那些小太阳,变成大太阳,更容易击中。于是,就可以在保持GI精度不那么高的时候,依然可以得到干净的GI通道。
  但是马上会有聪明的朋友说,你一模糊图片,信息不是就模糊了吗?其实没关系,因为GI影响的是漫反射,而漫反射对于光源的细节并不敏感。只要我们有差不多的太阳在同样的方向,亮度也差不多,那么被影响的漫反射的结果就差不多。


3


4


  同样的精度下。上图是清晰的HDR照明结果,下图是模糊并且缩小了的HDR照明效果。从照明的结果上来看,基本效果很接近,只是模糊了以后,噪点显著减少!
  但是还有这样的问题,你的HDR图片模糊了,那我渲染有反射的物体的时候,反射岂不是也模糊了?而且如果我想要HDR图作为背景,那么背景也模糊啦。没关系,我们可以使用一些渲染器自身的设置来规避。


5   


如图,使用vray渲染器,将Background、reflection和refraction设为清晰的HDR图片,而GI texture则使用模糊了的HDR图。这样我们即享受了模糊的HDR图对GI对漫反射的贡献,又享受了清晰的HDR图对反射折射的贡献。一举两得,完美解决。

6

  Reflection通道产生噪点的解决方案
  以上是反射特别干净,材质球glossiness值为1时的情况。当你的材质有一定的反射模糊的时候,又会出现另外一种问题:反射通道噪点的问题。7   当反射模糊精度为8时。8   当反射模糊精度为32时。9  当反射模糊精度为128时。
  可以看出,想要消除噪点,需要非常高的反射模糊精度。但是渲染时间又会飞速上升。有没有类似刚才的取巧的方法可以一举两得呢?其实是有的。你再观察上面的图片。会发现,精度到32的时候,有噪点的地方主要集中在最亮的白色区域,那一块其实反射的是太阳。也就是说反射模糊最大的计算难题还是太阳。
  跟前面说的原理很类似,反射模糊也是从摄像机发射线去找场景里面的亮度,收集在一起再算平均值。只不过反射模糊爆出来的射线不是半球形,而是跟自己模糊程度相关的一个扇形。所以,原理很类似,产生的原因同样是由于太阳太小了,射线不容易射中!那反射通道是不可以模糊的啊!怎么办呢?这里,我想了一个很巧妙的方法。前段时间在SIGGRAPH会展上和konstantin交流的时候得知他也是用的一样的方法!
  具体方法是这样的。既然产生噪点的是你太阳,那么我们在图片上直接把你太阳给抹掉。你可能会惊讶说,那照明效果就不对啦!没关系,我们可以在图片上相同的位置,放置一盏平行光,或者sun节点,来模拟太阳。那么软件生成的光源,不是正的光源,只要知道位置,计算机就自动能计算出非常完美的模糊效果,不会有噪点。问题就这样解决啦!

10

  如图,手动将HDR图的太阳涂抹掉以后,添加软件里的太阳。可以得到完美的高光反射,并且阴影的软硬程度,太阳的颜色都可以控制了。结果非常令人满意。
  至此,关于HDR相关的知识,基本上都已经提到了。这篇文字教程写完都快八千字了,我还要录制视频教程。做这样一起教程确实是很辛苦的。而且到后面的内容确实是非常具有实战价值,我基本毫无保留地分享了这些年知识的结晶。如果觉得确实不错的话,不要吝啬,记得分享给更多的朋友受益哦~转载请注明出处,尊重知识。

*CGahz.COM 收集整理,转载请注明来自CG爱好者网(www.cgahz.com)

分享到:

更多精彩内容

已有13条评论 发表评论