renderman、arnold及全局光照
走马观花看了一些实现全局光(global illumination)的文章,都是非实时电影级的。的确可以分为两个阵营,一是pixar的renderman中常用的reyes+点云,感觉pixar一路走来都是在通过各种缓存加速,不同的是缓存什么,缓存到哪里去。非常喜欢各种tricky的办法,给艺术家们充分的控制,或许他们的艺术家真的是太多了,太有创造性了,reyes流程目标是做高精度的图片,但并没有涉及多少真实感的东西,所以他们做动画感觉还是很棒的,尤其是各种动物的,因为这不需要物理上多么真实,给艺术家们足够的发挥空间、足够快、效果好就足够了。但是,渲染科幻电影,我觉得就不如arnold得心应手了,科幻片里的很多东西只需要按照物理公式算就可以了,给它采样数控制一下精度就足够了,如果用各种tricky的手段调节就各种出力不讨好了,而且人工成本比机器成本高太多,不划算。12年pixar推出多分辨率的辐射能缓存来实现渐进渲染,使得艺术家能更高效的工作,这也是业界的趋势,pixar稍微晚了一点。这不能怪它,因为reyes本身实现渐进渲染就不是那么直观和简单的事情。最近的科幻大片多用arnold渲染,也证实了我的观点。不过,据pixar说,reyes流程对他们还是很重要的,虽然他们现在有了完整的光线追踪,但是有一些特殊的场景还是无法用光线追踪渲染,需要reyes。arnold却不需要。
总结一下就是,pixar的prman(PhotoRealistic RenderMan)或者reyes(render every thing you ever saw)说的是你可以用我们的工具做出像照片一样的东西而且给你足够多的灵活性——你可以做任何你见过(其实你没见过的也能做,而且大家喜闻乐见,当然难度其实比见过的要小,毕竟你没的参照,不好乱说真不真)的东西,但是不可否认,要渲染出真实感的一张图片,需要各种调节输出各种通道各种缓存,当然,刚查了一下最近的renderman 18,好像有所改善,已经加入基于物理的材质灯光等,但是我觉得在速度以及质量综合看来仍然不是arnold的对手,虽然prman推出二十多年,但是并没有像arnold那样一直专心优化raytrace。对于我们这些非动画艺术家而言,物理的无偏的渲染器更受青睐,因为毫不费力就能出很赞的图(说的就跟我用arnold做出过很赞的图似的)。但是,我的感觉是,arnold/unbiased physically based是正途,虽然路很艰辛,但是意义要大于renderman的各种tricky的解法,更言重点说就是,renderman像是自己制造了一些问题,然后再去修补它,而对于arnold而言,只有一个问题,那就是速度,而他们也一直在做这件事。
另外,renderman因为有各种trick各种加速方法,所以出了不少论文,arnold就比较凄凉,虽然快的惊呆世人,但是看起来并没有用什么很非同寻常的加速方式,所以没多少文章,也或许是商业机密。如果没用什么高深算法而纯粹是代码上的优化而达到的速度,那它人想要追赶更是难上加难,毕竟有时间的积累。
以上只是我的一些浅见,欢迎拍砖。p.s.我对早期的renderman(如13)了解较为深刻,毕竟有破解,近期的只是粗略的看了看官网的介绍。
renderman、arnold及全局光照的更多相关文章
- Unity 5 中的全局光照技术详解
貌似是某位好人翻译的 https://unity3d.com/cn/learn/tutorials/topics/graphics/unity-5-lighting-and-rendering#rd? ...
- SVO实时全局光照优化(里程碑MK0):Sparse Voxel Octree based Global Illumination (SVO GI)
完全自主实现,bloat-free.再次声明,这不是UE.U3D.CE.KlayGE! 老规矩,先贴图.后面有时间再补充描述. 1. 支持多跳间接全局光照2. 支持vxao/so.vxdiff/spe ...
- Unity 5 中的全局光照技术详解(建议收藏)
本文整理自Unity全球官方网站,原文:UNITY 5 - LIGHTING AND RENDERING (文章较长,请耐心阅读)简介全局光照,简称GI,是一个用来模拟光的互动和反弹等复杂行为的算法, ...
- 全局光照:光线追踪、路径追踪与GI技术进化编年史
全局光照(Global Illumination,简称 GI), 作为图形学中比较酷的概念之一,是指既考虑场景中来自光源的直接光照,又考虑经过场景中其他物体反射后的间接光照的一种渲染技术. 大家常听到 ...
- Unity预计算全局光照的学习(速度优化,LightProbe,LPPV)
1.基本参数与使用 1.1 常规介绍 使用预计算光照需要在Window/Lighting面板下找到预计算光照选项,保持勾选预计算光照并保证场景中有一个光照静态的物体 此时在编辑器内构建后,预计算光照开 ...
- Unity 5 全局光照GI与新的烘焙系统初探
http://blog.csdn.net/sparrowfc/article/details/45650013 GI是啥 Realtime GI,实时全局光照,听上去就是一个非常高大上的词,但是越高大 ...
- Unity 编辑器学习(二)之 全局光照(GI)
光影流年,花影阡陌.光与影交织的岁月教育我们,不会使用光照的程序员不是个好美术. 一.概述 点击 Window > Lighting > Settings 会弹出Lighting窗口,这个 ...
- 基于预计算的全局光照(Global Illumination Based On Precomputation)
目录 基于图像的光照(Image Based Lighting,IBL) The Split Sum Approximation 过滤环境贴图 预计算BRDF积分 预计算辐射度传输(Precomput ...
- SVO实时全局光照:Sparse Voxel Octree based Global Illumination (SVO GI)
功能已实现,初步集成进来,暂未进行重度优化.但GI的效果已很明显.这里特地给出了开启实时GI前后的效果对比,比对场景如下:1.只有直接光照(方向光源)的场景.2在直接光照(方向光源)基础上开启了实时G ...
随机推荐
- 深入浅出Mybatis系列(三)---配置详解之properties与environments(mybatis源码篇)
上篇文章<深入浅出Mybatis系列(二)---配置简介(mybatis源码篇)>我们通过对mybatis源码的简单分析,可看出,在mybatis配置文件中,在configuration根 ...
- applicationContext配置文件中的属性说明
lazy-init:设置只对scop属性为singleton的bean起作用. 1.true:延迟加载:这时在第一次向容器通过getBean索取bean时实例化的. 2.false:表示spring启 ...
- angularJs|es6|reactJs|vueJs相关技术(请访问https://expendo.github.io/)
技术博客地址:https://expendo.github.io/
- SQL Server附加数据库问题
SQL Server附加数据库时,遇到如下问题:“如果升级全文目录,请单加“添加目录”,然后找到它并选择它.基于全文升级选项,全文索引将为“已导入”.” 解决方法: 选择数据库文件所在目录,右键-&g ...
- 企业项目开发--分布式缓存Redis
第九章 企业项目开发--分布式缓存Redis(1) 注意:本章代码将会建立在上一章的代码基础上,上一章链接<第八章 企业项目开发--分布式缓存memcached> 1.为什么用Redis ...
- C——malloc & free(转载自bccn C语言论坛)
原帖及讨论:http://bbs.bccn.net/thread-82212-1-1.html 原文链接:http://www.bccn.net/Article/kfyy/cyy/jszl/20060 ...
- iOS生成静态库方法
在iOS的开发过程中,我们常常用到第三方的库.比如支付.地图.广告等. 那么,如何制作自己的库文件呢? 如何将自己写的功能类编译成库文件,分发给其他人来使用呢并做成通用库里? iOS开发一年多来没有制 ...
- linux之PATH环境变量
在linux中,我们发现一些命令在任何目录都能执行,并不会出现找不到这个命令文件的提示,这其中就是PATH变量帮我们定位的!首先我们来查看一下PATH变量 [root@localhost /]# ec ...
- Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project LogTest: Compilation failure -> [Help 1]
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default ...
- Android中Activity的启动模式
简介 Android中的活动启动方式分为4种:standard, singleTop, singleTask, singleInstance.可以在AndroidManifest.xml中通过给< ...