大数跨境
0
0

来来来,我们深入了解下V-Ray3.4版本中VR-随机雪花材质的来龙去脉

来来来,我们深入了解下V-Ray3.4版本中VR-随机雪花材质的来龙去脉 东艺数科
2016-10-14
1
导读:这是一篇针对V-Ray3.4版本中的VRayStochasticFlakesMtl材质理论性很强的文章。详细介绍了它的由来和开发过程,以及优缺点。

Siggraph以来我们就一直高度关注V-Ray在老图形学上的一个难题。它也是全世界各个渲染专家们都在努力想解决的难题。



大家都知道像雪、沙子、金属漆、粗糙的塑料和金属材质经常呈现一个高亮的闪光表面特性,如果大家经常渲染车漆材质对这种现象应该很了解。这种特性可以捕捉到光,并根据你到表面的方向和光源的变化而变化。有了这个特性,就使得观众对材质的理解上存在巨大的差别。



基于Microfacet(微平面)的表面模型,它由无限数量微小的镜面一样的碎片构成的。直到最近V-Ray有了一个特殊的金属车漆着色器才真正模拟出这个效果。而更普遍的问题应归根于平均法线,这也是计算机图形学中一个非常普遍的问题。之前为了得到车漆的雪花材质,Chaos团队不得不执行一个非常特殊的内部应急方案,在不安装特殊的着色器情况下,V-Ray渲染器的会花费很长时间进行运算。这个特殊的着色器非常有效的运用于车漆材质,如果没有它,那么这些闪光点会高效的以平均数来计算,这个代价太昂贵了!


尽管V-Ray的解决方案具体到车漆,然而更大,更普遍的不仅是车漆,相同的问题还有背光的湖水,划过镜头看起来塑料质感的橘子。甚至人类的皮肤在某些镜头角度看起来都像塑料质感的。

 

最近,Chaos Group团队发布的V-Ray版本部分的解决了这个问题。他们的解决方法是一种新的微平面BRDF和一个高效存储的随机运算法,它能继承前期工作的优良属性,但是不需要任何的预计算,它实现了最优化的重要性采样,可以扩展有效的采样范围和重尾微平面分布(也就是GGX)提供更好的整体性能。




我们假定这个工作原理是有N个细小碎片均匀的分布在一个单位的纹理空间内,他们的法线跟随微平面分布在单位渲染或光照均衡的半球上。多尺度的BRDF被定义成微平面BRDF在一个有限的表面积内平均。在执行过程中,该算法与一个碎片进行工作或者与近似像素印记的平行四边形工作。这种复杂的混合技术就像缓存,平行四边形的重叠采样和优化重要采样。这种算法最关键的优势在于细小碎片不存储在内存中,但是他们的数量由一个广义的随机过程再现。


上面的照片为现实照片的雪闪光,底下的是3D雪,以SSS材质为基础,加上随机雪花材质和凹凸贴图所呈现的效果。


更为广泛的问题还有,MIP贴图或纹理不再产生精细的表面细节,更确切的说是为保持微变化的正常差异,所以结果是一小簇离散均匀的法线看起来是一个非常平整的表面。当然你的眼睛是看不见这些细节的,但眼睛却很容易看到一个大大的镜面高光点。计算机产生的高光是一个非常均匀的“塑料光滑”的镜面高光。有的人把这个一致性的高光认为是由于光滑的物体表面所导致的,然而,一张脸或者湖水和车,当你近距离观看时也有塑料感。




V-Ray的解决方案不是用法线贴图。它是一个为斑点以及相应问题提供的专业解决方案。V-Ray方案直接解决了雪花问题,如果没有这个雪花的解决方案,车漆材质的问题对于每一位用户来说似乎都是一样的。

 

上图中没有破碎高光点的雪看起来很假

 

在V-Ray3.4版本中VRayStochasticFlakesMtl材质能很好的模拟车漆,雪和其他一些闪光的材质。他的工作原理是在有大量镜面一样的斑点分布的物体表面上,模拟渲染时间的聚合效果。这个材质有点像VRayFlakesMtl和VRayCarPaintMtl材质,但是它占用的内存较少并且避免了拼接问题。


几个月前Vladimir Koylazov在YouTube上发布了上面的测试,从那时候开始这个技术已得到进一步的改善。

 

新版V-Ray算法是基于Jakob的基础上的。尽管Siggraph的论文非常宝贵,但是它不适合产品的实施。原始的论文是由Jakob撰写的,并和他的团队一起展示了他们在一些物体上的方法,包括鞋,圣诞装饰什么的,但更为直观的一个事例是地板反射的染色玻璃的破碎感。




Chaos团队就是基于此开发制作了他们自己的版本,并有效的应用于制作流程中。“我们方案的优势在于可以放置几乎任何数量的雪花,但不需要占用过多的内存还可避免拼接” Vlado解释道。




3.4版本的V-Ray还可以模拟带颜色的雪花效果,它可以制作不同的彩色雪花效果。“我们能从颜色渐变中随机采样雪花颜色,也可以使用任何梯度渐变采样,这对于用户来说非常灵活。”



虽然这个技术为雪,水和车漆提供了又快又好的解决方案,但是,不是一个通用的解决方案,绝不是!比如,在解决近似人类皮肤材质的问题上,皮肤的微平面镜面高光由于皮肤拉伸和变形的不均衡性导致的各向异性就不能很好的表现。这个方案是基于采样表面,小片,基于一定数量的“碎片”或者就像Vlado描述的“无限小的镜子”。


这种方法只适用于点的散射体,对于一般化的问题(模拟水或者皮肤)应该需要用另一种方法法线贴图,但是这种解算方式需要大量的内存。Chaos Group一直在探索更广意义上的解决方案,但是还是在这样的问题上迈出了一小步。


【声明】内容源于网络
0
0
东艺数科
山东东艺数字科技有限公司是国际一流的应用型数字技术服务商,以虚拟现实、增强现实技术为核心,结合现代计算机技术、人工智能技术和互联网应用技术,推动“数字技术”与传统行业跨领域融合创新,打造信息化和工业化深度融合应用的整体解决方案。
内容 293
粉丝 0
东艺数科 山东东艺数字科技有限公司是国际一流的应用型数字技术服务商,以虚拟现实、增强现实技术为核心,结合现代计算机技术、人工智能技术和互联网应用技术,推动“数字技术”与传统行业跨领域融合创新,打造信息化和工业化深度融合应用的整体解决方案。
总阅读2
粉丝0
内容293