RenderMan与CG生产流程简述

标签: renderman cg 生产 | 发表时间:2010-11-12 23:50 | 作者:Bo Schwarzstein BaiGang
出处:http://www.cnblogs.com/Jedimaster/

RenderMan与CG生产流程简述

周波

版权所有

更新日期 2010年11月12日

随着国内CG事业的发展 ,越来越多的人开始学RenderMan,越来越多的公司也逐渐的开始尝试使用RenderMan做片子。我在进入Autodesk前一直在南京的CG公司兼职工作,由于工作需要使用了RenderMan。许多朋友都会问我关于RenderMan的问题,下面是我对在流程中使用RenderMan总结,随着时间的变化我也会更新的,欢迎挑错与提问。

RenderMan扫盲指引


确切的来说,RenderMan只是PIXAR当年定的一个渲染器标准,而且恰巧,那批人(包括Pat Haranhan)也是设计OpenGL,所以你看RenderMan API和OpenGL API很相像。现在我们经常说的RenderMan,一般来说是PIXAR自己开发自己使用同时也对外出售的PIXAR PhotoRealistic RenderMan渲染器。

RenderMan有哪些公司在用

  • PIXAR

毫无疑问,自己家吃饭的玩意。

  • Industrial Light & Magic

由于当初和PIXAR分家所签订的条约,使得IL+M可以永远和PIXAR分享RenderMan的源代码。作品无数。

  • Sony Picture Imageworks

老作品不说了,最近的比如《Beowolf》《Spiderman 2》《Benjamin Button》等。

  • Weta Studio

《King Kong》,还有最近的《Avatar》。其中NVIDIA 为《Avatar》的制作流程开发了基于GPU的外部点云光线跟踪器,也就是那个PantaRay。

  • MPC

《Clash of Titans》。MPC开发了Importance Sampling解决方案,应该类似于mental ray的Phenomena。

还有很多公司会在流程中用RenderMan。但是千万不要抱着非RenderMan不用的说法,因为mental ray、VRay有时候也是干活的得力助手,就好比并不是说有了航空母舰就有了一切,你还需要配备重型巡洋舰和核潜艇护卫舰才能发挥航空母舰的威力。

首先说一下,倘若你的流程决定用RenderMan,那么,会基本脚本能力的Shader Writer,或者Technical Director是绝对必不可少的——RenderMan附带的材质极其有限,可以说基本上没用。如果你还能够有高素质的R&D Programmer,那么一切就都很好了,你的流程可以向世界级工作室看齐了,别人为提高流程效率所做的,你也能做。

RenderMan技术指引


RenderMan主要的特点有

  • 易学。科学怪物的玩具可不能给艺术家使用并参与生产。
  • 全面的几何体支持。无论是基本的Polygon Mesh,还是Loop/Catmull-Clark Subdivision、NURBS,Implicit Surface,以及Point与Curve。
  • 极其廉价的displacement、motion blur、DOF。由于REYES的工作机制,使得这三种效果相比光线跟踪器来说要快速的多。
  • 简单易学的Shading Language。相比mental ray,RSL的学习曲线要比mental ray API平和的多,后者更偏向于R&D。
  • 强大的开发支持。

具体的内容可以看PIXAR发布的论文以及文档。尤其是关于RenderMan基础算法的论文,可以让你了解许多底层信息。

RenderMan购买指引

首先,你能找到的开源实现有Pixie和Aqsis。前者作者貌似已经没了继续开发的动力,后者刚刚出2.0版本。BMRT在民间依旧有流传,不过你要是在商业产品中使用严格来说是违法的行为。Pixie的功能是比较全面的,有光线跟踪,也有Photon Mapping、Irradiance Cache,Point-based Color Bleeding等这些还没过时的技术以用来支持GI。根据我的测试,Pixie比Aqsis效率高。Pixie据说在《Spiderman 2》的流程中使用过。

目前成熟的商业版RenderMan的主要有

  • PIXAR PhotoRealistic RenderMan
  • 3Delight

PRMan前者目前只有13.5的盗版,后者你可以用MAC地址申请一个免费的License。据我所知,国内许多个人和公司都用的破解的PRMan 13.5生产,其中不乏一些叫得出名字的公司。我曾经在流水线中用盗版PRMan 13.5在生产中所碰到的致命问题有,

  • 只有32bit版本的破解,无法计算超大规模场景。
  • 光线跟踪不会释放内存,一直到最后程序崩溃。
  • Slim假死。

对于一套PRMan来说,它由三个部分组成

  • RenderMan ProServer

RPS,基本的命令行渲染器以及辅助工具。

  • RenderMan for Maya

类似于mental ray for Maya的东西,可以在Maya中完成工作的艺术家工具。

  • RenderMan Studio

其实就是老一代的RenderMan Artist Tools,它包括

    • Alfred。渲染任务管理器。
    • It。简单而强大的显示服务器,可以看RGBA各个通道的便捷小工具,带序列帧文件管理功能。
    • Slim。基于tcl\tk的Shader制作工具,使用起来极其诡异,特别容易崩溃。

对于3Delight来说,则就简单的多,也是由3Delight for Maya的艺术家工具和独立渲染器组成。 3Delight的计算效率和稳定性不如PRMan。但是由于售价便宜,艺术家工具简单易学,所以也可以用。《District 9》的制作据说用的是3Delight。

具体的你可以去PIXAR和3Delight网站去得到更加详细的介绍。

RenderMan实施指引


软件方面,首先,Maya是必须的。并不是说没有RenderMan for 3dsmax,因为那个玩意年代实在太久远了(名字忘记了)。而且,如果你要用盗版的PRMan 13.5,那么只有对Maya 7、Maya 8.5、Maya 2008的艺术家工具。从Houdini 9开始对RenderMan的支持也越来越好,可以用Python进行开发。

后期软件的话则没有特别要求,Shake和Nuke等等都可以。

硬件方面,则很简单——刀片服务器RenderFarm是最好不过了。台式机搭建的网络曾经我们也测试过,稳定性和刀片服务器根本无法相比,哪怕是用的华硕服务器主板外加ECC内存,也一样没刀片服务器稳定。

RenderMan开发指引


这一块可以分进阶和高阶两个阶段。进阶主要就是围绕RenderMan本身的开发,高阶指的是开发配合RenderMan渲染器的外部工具。

Shader


首先,写Shader不难,难得并不是什么算法,难的是如何实现想要的效果。这是个可以发挥高度创造性的工作领域,许多时候不仅仅是将论文上的公式写成代码,更多的是写一些达到事半功倍的trick,比如Cook-Torrance BRDF中Beckmann Distribution项的修正(这个是SPI的朋友告诉我的,我不能透露具体做法)。

DSO


DSO分ShaderOp和Procedural DSO。前者主要是在RSL中添加新的函数,比如用GPU读取贴图的函数。后者主要是在运行期生成一些新的几何体,这样可以免去解析RIB的时间与存储空间。

RifPlugin

RifPlugin是Procedural DSO的一个延伸。具体作用就是,在解析RIB的时候,用你写的这个C++类去分析RIB,我们可以对写在RIB中的数据进行操作,本质上是RIB Parser。

Implicit Surface

其实这个东西,说有用也有用,说没用也可以。首先,Implicit Surface运用的地方不是很多,在学术圈内Implicit Surface Modeling相关的主题已经很成熟,但是真正的生产环节这个是没几个人用的。二来,常用的流体解算工具比如Houdini和Realflow求解出的SPH数据多半已经Polygonized,所以再用Implicit Surface替代毫无意义。开发人员晓得这是怎么回事就可以。

Subsurface Scattering

我永远强烈建议开发人员熟读Henrik Wann Jensen的这两篇论文,

  • 《A Practical Model for Subsurface Light Transport》
  • 《A Rapid Hierarchical Rendering Technique for Translucent Materials》

如果你不想读论文,在这里我可以用一个等式告诉你根本含义,

Albedo & Diffuse Mean Free Path = Absorption & Scattering

这个等式贯穿了整个SSS 的制作方法。虽然Gelato、PRMan 14、OSL都支持了subsurface这个ShaderOp,但是本质上依旧没有脱离这个等式所涵盖的范围。

Fur

这是个最近对于我来说比较热的主题。首先,毛发的建模和动力学解算是个难题,大规模毛发的渲染又是个问题。用Maya+Shave的人那么多,但是却几乎无一例外的用Archive而不是DSO解决问题。毛发的GPU求解已经几乎是必然趋势,Animal Logic有自己的基于GPU的求解工具,SPI也在继续开发类似的系统。大量毛发的运行期生成也是必然,过段时间我会写一个这样的工具。

PantaRay

为什么这个工具被开发,本质上还是因为目前AMD64/EM64T的程序不是真64bit,大规模场景数据依旧无法处理。《Avantar》的主要场景是在森林中,由于森林很庞大几何体数据会极其庞大,有些数据的计算比如Ambient Occlusion的计算无法在程序中完成。于是乎可以将物体的点云输出,在外部计算那些庞大的数据,出Pass的时候在Shader中直接读取计算完成的点云就可以。具体的你可以看今年Siggraph 2010的论文。

作者: Bo Schwarzstein 发表于 2010-11-12 23:50 原文链接

评论: 2 查看评论 发表评论


最新新闻:
· 李善友:我已是熬完的药渣 曾陪酷6艰难走过(2011-03-20 18:12)
· 传苹果放弃在纽约中央车站建全球最大零售店(2011-03-20 18:11)
· 诺西并购案为中国知识产权保护提供借鉴样本(2011-03-20 18:10)
· 雨林木风旗下聚合搜索将启用新域名116.com(2011-03-20 18:07)
· 外媒评苹果应该从微软偷走五个绝妙的创意(2011-03-20 18:06)

编辑推荐:应届毕业生生存法则--工作篇

网站导航:博客园首页  我的园子  新闻  闪存  小组  博问  知识库

相关 [renderman cg 生产] 推荐:

RenderMan与CG生产流程简述

- BaiGang - 博客园-Die feuchter Einsamkeit
RenderMan与CG生产流程简述. 更新日期 2010年11月12日. 随着国内CG事业的发展 ,越来越多的人开始学RenderMan,越来越多的公司也逐渐的开始尝试使用RenderMan做片子. 我在进入Autodesk前一直在南京的CG公司兼职工作,由于工作需要使用了RenderMan. 许多朋友都会问我关于RenderMan的问题,下面是我对在流程中使用RenderMan总结,随着时间的变化我也会更新的,欢迎挑错与提问.

裸戏里的乳头也用CG来做?

- GuanHong - 煎蛋
女影星Olivia Wilde在最新拍的电影《Change-Up》里有一段裸戏,由于的是,在这段裸戏里她的乳头居然是用CG做出来的. 貌似这是由于原本这段片子中不应出现露点的镜头,男主角本应该用身体完全盖住的. 不过阴差阳错中他的身体移动了一点,所以她贴上去的乳贴就暴露在了镜头下. 由于这乳贴看起来实在是太明显了,他们只好在后期制作里用CGI重新“绘制”出栩栩如生的乳头,再把它贴上去…….

這不是CG!只要有膠帶就能做出特效般的文字!

- Dajusha - 宅宅新聞 by 卡卡洛普
乍看之下像用電腦作出的文字效果,但其實只要換個角度就會發現,這是實際存在於背景中的文字. 只要用隨手可得的膠帶,就能做出如CG般的效果. 這是來自一位影像設計師Doyle Partners,刊載在紐約時報上的作品. 而他的官網裡更看的到這些神奇文字的製作花絮,就讓我們來看看他如魔術般的作品吧.   圖片來自:Doyle Partners.

影视剧 CG 特效后期制作的工作是怎样的?

- - 知乎每日精选
以前在制作《2012》和《钢铁侠2》的特效公司 Pixomondo 做过 IT 实习,本身也是动画学院的学生,虽然本专业不是动画或影视特效相关,但本专业的另一个方向就是做影视特效的,所以还认识一些业内人士,说说我了解到的情况吧. 整个工作的方式和 @罗登 描述的差不多,区别在于 @罗登 描述的是整个创作过程,不仅仅是「后期」了,比如故事版、角色这些其实对于一部纯动画电影来讲是绝对的前期工作.

如何改进生产力

- Xiaotian - Solidot
Web设计师或开发者通常相信,多个显示屏可以改进生产力,但目前没有任何研究支持这一说法. 犹太大学的一项研究认为,提高生产力的方法是购买更大更贵的显示器,是像素而不是多个显示屏在起作用,26英寸到30英寸的显示屏能提供2560x1440以上的分辨率. 除此之外,改进生产力的最简单方法是改变工作环境,如采用高色温和舒适亮度的光源,办公室放置绿色植物,高可调式办公椅,环境温度舒适.

走近DVD生产线

- sec314 - 译言-每日精品译文推荐
来源Do You Know How DVDs Are Made?(你知道DVD是怎样生产的吗. 在本文中,你将进入哈萨克斯坦的一家光学介质工厂,去了解我们日常生活中所用的DVD是怎样生产出来的. 生产线是全自动的,总工程师会密切关注. 制造光盘的原料是这些大包里的聚碳酸酯颗粒. 然后持续加热直到他们变成液体状态.

RSS对生产力有害

- Johnny - Solidot
Ars Technica在劳工节周末发表了多篇评论性文章,其中一篇谈到了RSS不利于生产力和头脑清醒(中文). 作者称,她基本上在清醒的时候每5分钟就要扫一下RSS,以避免遗漏任何重要新闻和朋友家人博客的动态. RSS仿佛是生活中缺一不可的东西. 但在今年8月份,她经历了一次长达两周的“逃离RSS”体验,认识到RSS其实并不那么重要,她对重大科技新闻依然了如指掌,而且速度更快、效率更高,并且可以随时去阅读想要阅读的深度内容.

撒娇也是生产力

- - MADBRIEF | 疯狂简报
这肯定是一项让女人们狂喜,让男人们痛恨的互联网创新. 它还有一个风骚的名字,叫 “撒娇支付”. 支付宝的最新数据显示,今年6月,这项业务同比增加约六成. 使用它很简单:用户在进入付款页面时选择“代付”,交易平台会随即自动生成一串链接,用户将该链接通过邮箱、旺旺、QQ、MSN等方式发送给其他人比如男友、老公后,则由后者来付款.

生产分工与风险分工

- 肖 - 辉格
我在《金融对赌不是无价值交易》里分析了衍生品的风险配置功能,如何使得包含复杂风险的生意得以展开,从而推高整个经济水平;从我得到的一些反馈看来,许多朋友没能理解这一分析,或许通过类比和例子能够看的更清楚. 说到生产分工,一般想到的是效率改进和相应的成本节省,即,每个生产者若专注于某一工序,不断重复,会更加熟练高效;这没错,不过生产分工有另一个常被忽视但或许更加重要的效果:它拓展了生产的可能性,即,使得许多原本不可能的生产成为可能.

食品厂的饺子生产线

- qlzzy - 译言-每日精品译文推荐
今天我们要参观一家生产方便食品的工厂:“西伯利亚美食家”,考察从绞肉馅到产品包装再到交付仓库的全过程. 此外还能看到这家工厂出产的肉饺子、薄煎饼和“khinkali”(译注:一种格鲁吉亚饺子,馅料多样,如肉、蘑菇、奶酪等,并配以洋葱、大蒜和绿叶菜). “西伯利亚美食家”出产的不同价位、不同种类的商品在乌拉尔至远东地区占据领先地位.