Vray深度解析:DMC核心和早期终止机制

Vray是一个典型的以MC分布式光线追踪为核心的渲染器,我们在渲染过程中经常会面对很多不同类型的计算过程,其中很多都离不开MC分布式光线追踪。下面我列出需要调用MC分布式光线追踪过程的特性和子功能块:

1:Fixed类型的图像反走样器(当其取值大于1时,会调用MC分布式过程来对每像素进行反走样。)

2: Adaptive DMC sampler类型的图像反走样器(老版本叫Adaptive QMC sampler,它和fixed类型唯一的区别是带有自适应过程)

3:Vray Mtl材质中的模糊反射和模糊折射特性的计算(当你将Vray Mtl中的Reflection面板或Refraction面板里的Glossy值调为任何小于1的值时,即打开了Glossy effect(模糊特性)计算的过程,这个过程将调用MC分布式过程。)

4:Vray Dirt Map 贴图的计算过程(也就是我们常说的Vray 的AO,这一过程需要调用MC分布式光线追踪来发射大量探测光线去收集每个像素周围的阻塞情况。)

5:Vray面光源的软阴影计算过程(与传统的光线追踪投下的生硬阴影边缘不同,Vray的面光靠MC分布式光线追踪发射的次级光线来摸拟出面光源应有的阴影虚化效果。)

6: Vray的运动模糊特性(运动模糊的计算依靠的是分布式光线追踪算法对时间域的离散计算,所以这个过程完全依赖MC分布式过程。)

7:Vray的摄像机景深特效(景深的实现依靠的是分布式光线追踪对空间距离的离散计算。)

8:IrradianceMap的计算过程 (在IRmap的计算过程中,当通过prepass分析图像并放下采样点后,需要从采样点向周围环境的虚拟半球空间发射分布式光线以探测和收集信息,从而计算出采样点本身像素的最终GI结果,这个过程也就是调用MC分布式光线追踪来完成的,而Hsph subdivs决定的其实就是这个过程中发射半球分布式光线的数量。)

9:Brute force算法计算GI的过程 (Brute force即老版本的QMC GI算法,无论你在Vray间接照明面板的主GI引擎还是次级GI引擎中打开Brute force,都是直接调用MC分布式过程对图像上每一个像素进行GI计算)

根据上表中列出的主要依靠MC分布式过程的特性,我们不难看出MC分布式光线追踪算法在VRay中的主导性地位,那么,请大家至少记住上表中我所提到的这几种情况,因为它们的计算过程都和下面我要讲的这个面板里提供的参数有关,那就是Vray DMC sampler (Vray DMC核心采样管理器)。

原来这个面板的名字叫"Vray QMC sampler",Vray从1.5版开始更名为"DM C",这里很多朋友对此都有不解,到底DMC与QMC的区别在哪里?有没有区别,提及于此,我先为大家理清楚几个概念:

首先,理解一下MC,也就是Monte Carlo(蒙特卡罗),蒙特卡罗其实是一种分布式积分,而蒙特卡罗算法专门用这种积分所产生的分布概率来产生各种模糊数据,其实上表所涉及的特性都是为了解决模糊效果,反走样其实就是为了将图像锯齿模糊化,模糊反折射也是为了产生模糊但有源于真实情况的反折射成像,运动模糊其实就是为了让成像根据运动速度与时间的关系产生出模糊效果,诸如此类。

而什么又是QMC呢?全名是Quasi-Monte Carlo(准蒙特卡罗),这其实是纯蒙特卡罗算法的一个变种,它缩减了算法取样的范围,QMC所产生的随机样本全部来自于一个低差异数据序列,而不是传统MC的庞大假随机数生成,但事实上,Vray在新版本中已经摒弃了QMC分布式特性,使用一种全新的MC变种算法,也就是接下来我们要说的DMC。

DMC的全称为:Deterministic Monte Carlo (确定性蒙特卡罗),DMC作为MC的一个变种,其区别在于,MC生成用于模糊结果的采样点情况源于一个庞大的随机数据集,即使我们计算的情况或考虑的内容本身根本没有发生改变,但计算的模糊结果每一次都是不一样的。DMC则不同,DMC先依据某种规则考虑计算的重要性和内容的特质,然后事先确定一组数据序列,而样本则产生于这组已确定的数据序列,因此,多次的计算结果是一致的,这有利于动画的计算,以及更好的降低可能带来的噪点情况,DMC和QMC之间的区别在于,这两者选择产生样本的数据序列集不同,考虑规则不同。事实上,QMC只是DMC的一个子集。

OK,我们不需要在这些纯理论定义上浪费太多时间,点明一下就行,我着重要阐述的,是Vray的这个核心DMC,是如何影响上表中这些功能实现的。

先来看看下面这个面板,这就是Vray DMC sampler,Vray的核心 :

时间: 2024-10-28 15:26:06

Vray深度解析:DMC核心和早期终止机制的相关文章

深度解析ASP.NET中的Callback机制

看到不少朋友最近在写使用callback的文章,也有点手痒,也来涂鸦一下,挖掘挖掘callback的潜力.callback的一般使用方法还算简单,直接参照msdn的帮助和范例就足够了.但是想要真正用好.用精,或者想开发一些基于callback机制的WEB组件,那么,就要先深入了解callback的实现机制了.在本文中,Teddy将和您一起解析callback的整个调用.反馈机制,相信对于帮助您更好的使用callback,将能有一定的益处. Callback vs ASP.NET AJAX 首先,

弹性计算峰会及神龙云服务器深度解析回顾

10月13日上午,云栖大会弹性计算全新企业线峰会主要内容有对弹性计算做了全面的精彩总结和产品细节分享,议程里发布了这个时代的新物种"神龙云服务器",当日在阿里云官网首屏神龙云服务器也同步发布上线,峰会现场研发总监张献涛对神龙云服务器做了深度解析,并在圆桌讨论环节为观众做了解答. 蒋林泉认为:"阿里云ECS是全世界最快的云主机." ECS超级稳定 背后的秘密是强健的IDC基础设施+飞天大规模智能运维能力:飞天自研领先核心虚拟化技术+业界最新的硬件架构,其中计算虚拟化核

Pedro Domingos深度解析机器学习五大流派中主算法精髓

本文联合编译:Blake, 高斐 Pedro Domingos是华盛顿大学计算机科学与工程学教授,也是国际机器学习协会的联合创始人之一.他曾在IST Lisbon获得电子工程和计算科学的硕士学位,在加州大学Irvine分校获得信息与计算科学博士学位.而后在IST作为助理教授工作了两年,于1999年加入华盛顿大学.他还是SIGKDD创新奖获得者(数据科学领域中最高奖项),也是AAAI Fellow之一.雷锋网(公众号:雷锋网)注:本文是Pedro Domingos在Google所作的机器学习演讲内

深度解析:莫名奇妙的IP地址冲突

网管员在工作中遇到的网络问题,故障现象都是千变万化.多种多样的. 所以也不能用单一.固定的方法或知识去解决它们,必须根据实际的故障现象,结合自己的工作经验,运用多种方法和知识灵活的排除故障.下面就是自己在实际工作中碰到的一则故障实例,通过对故障现象的分析,和故障的排除过程来说明排除网络故障并不是一件简简单单的事情.498)this.w idth=498;' onmousewheel = 'javascript:return big(this)' border="0" alt="

从理念到实践 深度解析运营商和云安全

当前,越来越丰富的市场数据正在打消人们对于"云"概念的怀疑,越来越多的成功部署案例表明云计算不再是漂浮在头顶上空的一团虚无缥缈的水气.基于云计算的安全服务(Cloud-based Security Service)逐渐浮出水面,越来越多的企业用户成为云安全服务的受益者.那么,国内的电信运营商在云计算及云安全方面,有何独到的见解和看法,又有何实践呢?本文根据运营商专家在CSA 2010云安全联盟高峰论坛上的演讲,采编而成,从理念到实践,深度解析运营商和云计算.云安全.1. 风起云涌,何为

【独家干货】深度解析:大数据时代的新闻挖掘

内容摘要李涓子副所长从以时间和知识为核心的新闻挖掘和服务入手,对大数据时代的新闻挖掘工作进行了深度解析. 演讲正文: 非常高兴有机会跟大家交流.虽然我做的是和新闻挖掘相关的工作,但是感觉自己新闻传播方面的知识还非常欠缺,非常希望跟在座的各位老师合作. 我今天的题目是以事件和知识为核心的新闻挖掘与服务.我把我们做的工作和我在这方面浅显的认识介绍给大家. 我们现在处于富感知多源信息交汇的时代,有媒体信息.个人信息.公开信息.我们如何去更好的利用这些信息是我们现在一个问题.过去的新闻传播是用户与媒体之

APT攻击深度解析暨TDA新品发布会

随着移动互联网的快速发展,伴随而来的安全问题也日趋严重.趋势科技在日前召开的APT攻击深度解析暨TDA新品发布会上指出,智能手机.平板电脑和USB等移动设备已成为最主要的攻击对象. 据趋势科技介绍,高级持续性威胁(APT)是黑客以窃取核心资料为目的,针对客户所发动的网络攻击和侵袭行为,是一种蓄谋已久的"恶意商业间谍威胁".这种行为往往经过长期的经营与策划,并具备高度的隐蔽性. 针对黑客使用APT网络商业间谍的攻击手法,趋势科技所推出的新一代威胁管理解决方案TDA 10000,专注于检测

卢松松:《SEO深度解析》读后感

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 无论是写博客也好还是玩微博,但凡你有点名气或与作者关系好后,出版社都会赠送作者几本书,然后作者会送给身边的朋友,痞子瑞也是.在<SEO深度 解析>出来之后,他也开始给SEO圈里的朋友送书,作为回报,很多人在收到书之后会在微博或blog上晒晒,有一段时间微博上好站长晒单. 这不,我也有幸收到了作者(痞子瑞)寄来的<SEO深度解

深度解析javascript中的浅复制和深复制

     在谈javascript的浅复制和深复制之前,我们有必要在来讨论下js的数据类型.我们都知道有 Number,Boolean,String,Null,Undefined,Object五种类型.而Object又包含Function,Array 和Object自身.前面的五种类型叫做基本类型,而Object是引用类型.可能有人就要问,为什么要分基本类型和引用类型呢?后面你就会明白的.      我们首先来看看浅复制和深复制的简洁定义: 深复制:直接将数据复制给对应的变量 浅复制:将数据的地