- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
elvish ray 新算法框架
前言
本文描述了一种渲染器的新算法框架,只是我个人对elvish ray 的建议,仅供参考。
需求分析
mental ray 是一个极其优秀的混合渲染器,尤其是它的光线追踪功能,做得非常好,非
常智能,尽量用最少的光线取得最好的结果〔很好的采样分布算法和自动减少无效采样〕,
但它依然是基于传统的光线追踪算法框架开展而来的,按我的使用经验,这带来很多问题。
在mental ray 中,对不同的光线类型,如eye ray, shadow ray, reflected ray, refracted ray,
finalgather ray 等,都要分别做不同的优化,导致算法非常复杂,而各种光线的表现又不尽
相同,导致使用时很难预测各种光线的行为,也就很难预测到达的效果与渲染时间,这对于
产品级的制作是很大的麻烦,意味着开支预算变得困难。虽然mental ray 尽量让参数的变化
直接与渲染时间的变化呈线性关系,但对于reflected ray 和refracted ray,众所周知,其递归
光线追踪的过程构成一颗二叉树形式,称为光线树,这样对于K 次反射/折射,R 个象素,
总供需要计算的光线数目近似于(2k+1-2)R 条,这是呈指数增长的,所以递归层数K 一深,
整个渲染过程马上就慢下来了,更糟糕的是,如果再开启阴影,每个交点处至少发射一条阴
影测试光线,更一般的,开启区域阴影时,不妨设每个交点处平均发射m 条shadow ray,
k+1 k
那么所需的光线总数约为(2 -2+m(2 -1))R 条,这种增长非常可怕,而且不同的特效同时开
启时,速度的变慢不是简单的线性组合,而是会相互影响,这就是为什么单独翻开mental ray
的某一种特效,速度尚可接受,但同时翻开几种特效时,速度就慢得让人难以忍受了,所以
想要用mental ray 到达很好的效果和渲染时间的平衡,需要大量的试验和人工参数调整,需
要使用者有非常丰富和老道的使用经验,即使如此,调整mental ray 诸多的复杂而神秘的参
数,依然是一种痛苦的折磨。总结起来,mental ray 在这方面的缺点主要有:
1. 基于传统的光线追踪算法框架,各种特效增加的渲染时间与象素〔包括自适应
采样产生的子象素〕数目成正比。因此,假设你只想增加景物边缘的反走样,
而不在乎反射/折射的精细程度,mental ray 依然发射更多的反射/折射光线,忠
实的增加渲染时间。
2. 各种光线类型的优化方法不统一,算法复杂维护困难,且对于产品级的应用,
难以预测渲染时间的开销,难以预测并保证最终效果,总是要求用户试了才知
道。
3. 无论mental ray 如何优化其算法,反射/折射光线,依然与反射/折射层次数呈指
数增长关系。
4. 同时开启多种效果时,渲染时间不是单独开启各种效果时渲染时间简单的线性
组合,而是会相互影响。例如,射/折射层次增加亦会使阴影光线数目呈指数增
长。
5. 参数复杂而且神秘,难于调整,需要极为丰富的使用经验。想要到达效果和渲
染时间的平衡,需要大量反复的调整和试验,影响制作效率。
针对这些问题,我设计了如下这种新算法框架,希望能有助于解决这些问题,其实该架
构也非常简单,其核心思想依然是分而治之的思想,我借鉴了 Reyes 的思想,并对 Reyes
与光线追踪算法中各自的一些概念进行了推广,提供了一种统一的架构。
算法框架描述
1. 光线类型的推广
Reyes 算法只处理一种光线类型,就是mental ray 中称为eye ray 的光线,它只渲染观察
者直接可见的景物,Reyes 还有一个区别于mental ray 这类光线追踪渲染器的主要特点,就
是将Hidden Surface Removal 〔简称hiding 〕和shading 过程分开,这样的好处是,增加物体
边缘的反走样,不会增加多少渲染时间,因为更耗时的shading 过程由另一个与象素数目〔由
采样数目控制〕无关的参数shading rate 控制。我将shading rate 的概念由eye ray 推广到
文档评论(0)