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 ...
随机推荐
- setWinldowRgn
CRgn(HRGN) SetWindowRgn setRgn{ CRgn rgnRect; CRgn rgnHole; //获取窗口大小 CRect rcWnd; GetWindowRect(& ...
- 错误: java.lang.reflect.InvocationTargetException
错误: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(N ...
- 虚拟机解决Device eth0 does not seem to be present 问题。
Device eth0 does not seem to be present... 出现这个问题基本上是因为虚拟机是克隆的导致机器的mac网卡不一致,所以系统识别网卡失败:
- Spring相关
一.Spring中ApplicationContext加载机制加载器目前有两种选择:ContextLoaderListener和ContextLoaderServlet. 这两者在功能上完全等同,只是 ...
- html slelect 标签默认值
<select name="channelCode" id="channelCode" class="all_input" style ...
- python【5】-生成式,生成器
一.条件和循环 1. if语句 if <条件判断1>: <执行1> elif <条件判断2>: <执行2> else: <执行4> 例如: ...
- JQ返回顶部代码分享~~~~
1.jq代码: <script type="text/javascript"> $(function() { $("#tbox").click(sc ...
- css 伪元素分享!!!
最近接触到的css 伪元素觉得还算不错 分享下: 1.清楚内盒浮动设置: ;} .back_list ul:after{;visibility: hidden;}/*清楚内盒浮动设置*/ 2.伪元素a ...
- Python实践所遇问题记录
1.在cmd中直接输入'python'提示:'python'不是内部或外部命令,也不是可运行的程序或批处理文件. 原因:没有为Python设置环境变量. 解法:控制面板->系统->高级系统 ...
- json数组转数组对象
import java.io.IOException; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import com. ...