摘要
随着动画产业的不断壮大,数字动画技术日益发展,三维动画片成为动画产业的新主流。渲染作为动画制作最为关键的环节之一,一直是制作流程的瓶颈,优秀的渲染解决方案决定着产品的最终效果。
近年,渲染技术成备受多关注和快速发展的一门技术,各种渲染软件层出不穷,而在好莱坞获奖最多的渲染器当属RenderMan,作为基于著名的REYES渲染引擎开发的渲染软件,RenderMan已经成为计算机图像渲染规范,它以其稳定,高速、强大、可变设置和可编程而著称。
程序化的着色方式是Rendennan渲染器中最强大和最富于生命力的部分。RSL(Rendeman ShadingLanguag)建立在C语言基础之上,是描绘虚拟灯光与数字表面交互作用而专门设计的强大工具,用于描绘光源输出,以及模拟灯光如何在表面和空间中衰减,成为与着色器相对应的程序设计语言,即着色技术语言。
一直以来,由于RenderMan语言的博大与精深,使很多不熟悉计算机语言的人,尤其是那些无技术背景的艺术家对RenderMan的高门槛与低开放性心存畏惧。所以开发出供艺术家们调整参数就可以实现效果的应用级别的shader,显得十分重要。本文着重研究了基于RenderMan的Shader技术,并开发了两种实用的Shader。
在文章的前面部分,首先研究了Rendernan的内部架构,包括它的渲染流程,基本算法,接口规范。然后介绍了RenderMan的程序材质语言SL,介绍了它支持的数据类型、内置函数等方面,详细介绍了RenderMan支持的的几大类材质的结构和属性,在文章的第四章,详细介绍了所开发的两种材质所用到的算法、技术和开发过程,在文章的第五章里,把前面开发的材质制作成了模版,可以载入相关软件中方便地使用。
As the growing up of animation industry, computer animation technology has been developt faster and faster.Three demention animation has been becoming the new mainstream of animation industry.Rendering is a key step of making three demention animations,and it is always be the chok point in the flow.The finally effect of a three demention animation lies on the rendering scheme.
Technology of rendering turns into a hot topic with much attention and fast development.Many rendering softwares have been made out, which one is the best? No doult, it is the RenderMan, which has achieved many honors in Hollywood.RenderMan is based on the famouse REYES (rendering everything your eyes see) rendering engine,and it has been the specification of comouter image rendering.
Because of it's stabilization, high speed, mightness, flexible set and ability of programing, RenderMan becames more and more popular. Procedure shader is the most powerful part of RenderMan, RSL (RenderMan shading language) is founded on C language, and it is a tool to describe lights and surfaces, such as to describe the output of a light source or how the light interacts with surfaces.
It is hard for those people who are not familiar with computer programing to use RenderMan, especialy the artists who are very worried out the high technology request of RenderMan. So that it is important for shader programmers to develop useful shaders, then for artists, they can set up the parameters to achieve effects they want. In this paper, the author studied shader technology in RenderMan, and developt two shaders as examples.
In the front part of this paper, the inner frame of RenderMan was first studied, including rendering flow, basic arithmetic and interface specification.Then introduced RenderMan shading language, including data types, built-in functions, and particular shader types in detail.In the fourth part of this paper, the author successfully developt two kinds of shader, the roof shader and noise cloud shader, then in the fifth part, the two kinds of shaders are made int slim models for convenient using.
引文
[1]Jain A.K..Fundamentals of digital image processing.Prentice Hall.New Jersey
[2]李志豪,深入图形学背后,熟悉渲染流水线学术报告北京大学
[3]Steve Upstill.The RenderMan Companion[M].ADDISON-WESLEY Publishing Company,1990
[4]RenderMan Interface Specification 3.3 DRAFT[Z].June 2002
[5]James D.Foley计算机图形学原理及实践:C语言描述[M].机械工业出版社
[6]RenderMan user manual documents-6.5
[7]Ron Fosner,Real-Time Shader Programming,Dec.2002
[8]J.FBlinn,Models of Light Reflection of computer Synthesized pictures,computer graphics Vol.11,No.2,1977
[9]朱腾辉,绘制语言(ShadingLanguage)介绍,Chinagraph2002大会报告,2002
[10]Anthony A.Apodaca and Larry Gritz.Advanced RenderMan.San Francisco,CA:Morgan Kaufmann Publishers,2000
[11]齐越.纹理合成的研究.博士后报告.北京航空航天大学.2003
[12]David S.Ebert,F.Kenton Musgrave,Darwyn Peachey,Texturing & Modeling A Procedural Approach Second Edition,July 1998
[13]Winkenbach G.Salesin D.H..Rendering parametric surfaces in pen and ink.Proceedings of SIGGRAPH 96.August 1996.469-476
[14]Igehy H.,Pereira L..Image replacement through texture synthesis.International Conference on.Image Processing.Volume 3.October 1997.186-189
[15]Blinn,James F."皱纹表面模拟”,Computer Graphics,Vol.12(3),pp.286-292SIGGRAPH-ACM(August 1978)
[16]M.J.Kilgrad.A Pratical and robust of bump mapping technology,technical report,July 2000
[17]]Mark Peercy,John Airey,Brian Cabral."Effieient BumP Map Hardware"Proeeedings computer graphic and interactive techniques.(1997).pp.303-306
[18]B.T.Phong,Illumination for computer generated pictures.Communications of the ACM 18,6(June 1975),311-317
[19]陈倩,陈乃立,陈伟.几种基于分形思想的图像生成技术浙江大学学报2001年11期
[20]陈华光,王京文,张晓清.基于Perlin噪声的云生成系统微计算机应用2008年第2期
[21]张宇阳,刘二莉,张君琦使用光子映射渲染参与介质计算机工程与科学2006年第28卷第1期
[22]Liu N,Jin H Z,Rockwood A P.Antialiasing by gaussian integrat ion.IEEE Computer Graphics and App lications,1996,16(1):74-82
[23]沈强,张波.计算机图形学反走样技术及实现武汉大学学报(自然科学版)1997年2月第1期
[24]R.Stuart Ferguson,Practical Algorithms for 3d Computer Graphics,2001
[25]Richard Parent,Computer Animation:Algorithms and Techniques,2001
[26]Gooch,Non-Photorealistic Rendering,2001
[27]Eric Lengyel,Mathematics for 3D Game Programming & Computer Graphics,2001
[28]Thomas Strothotte,Stefan Schlechtweg,Non-Photorealisting Computer Graphics,June 2002
[29]Marc Olano et al.,Real-Time Shading,July 2002
[30]Larry Gritz,A Recipe for Texture Baking,RenderMan in Production,SIGGRAPH 2002
[31]Beers A.C.,Agrawala M.,Chaddha N..Rending from compressed textures Proceedings of SIGGRAPH 96.August 1996.373-378
[32]http://www.RenderMan.org
[33]http://www.RenderMania.com
[34]http://www.RenderManacademy.com
[35]http://www.highend3d.com/RenderMan
[36]http://www.deathfall.com
[37 http://www.pixar.com
[38]http://www.3delight.com/