RenderMan Shading Language

RenderMan Shading Language

Commonly referred RSL, Renderman Shading Language is used to define shaders used in RenderMan. The language syntax is C-like.

Pixar has set a standard in the Shading Language.

The beauty of using a standard language is that a programmed shader can be used in multiple renders, be it PhotoRealistic RenderMan, DNA Research 3Delight, Sitexgraphics Air or an open source solution such as Pixie or Aqsis.

RenderMan Shading Language defines standalone functions and five types of shaders: surface, light, volume, imager and displacement shaders.

An example of a surface shader that defines a metal surface is: surface metal(float Ka = 1; float Ks = 1; float roughness = 0.1;) { normal Nf = faceforward(normalize(N), I); vector V = - normalize(I); Oi = Os; Ci = Os * Cs * (Ka * ambient() + Ks * specular(Nf, V, roughness)); }this is narasimhamShaders do the work by reading and writing special variables like Cs - surface color, N - normal at given point, and Ci - final surface color.The arguments to the shaders are global parameters that are attached to objects of the model (so one metal shader can be used for different metals and so on),and they have no return values. On the other hand functions operate by taking arguments and returning a value, and make little use of special variables. For example the following function computes vector length and looks almost like a Java or C function, except for using the dot product operator: float length(vector v) { return sqrt(v . v); /* . is a dot product */ }

Further reading

*Steve Upstill: "The RenderMan Companion: A Programmer's Guide to Realistic Computer Graphics", Addison-Wesley, ISBN 0-201-50868-0
*Anthony A. Apodaca, Larry Gritz: "Advanced RenderMan: Creating CGI for Motion Pictures", Morgan Kaufmann Publishers, ISBN 1-55860-618-1
*Ian Stephenson: "Essential RenderMan Fast", Springer, ISBN 1-85233-608-0
*Saty Raghavachary: "Rendering for Beginners: Image synthesis using RenderMan", Focal Press, ISBN 0-240-51935-3
*Rudy Cortes and Saty Raghavachary: "The RenderMan Shading Language Guide", Course Technology PTR, 1 edition (December 27, 2007), ISBN 1-598-63286-8

*RenderMan knowledge:
** [http://www.fundza.com/ CG References & Tutorials] by Prof. Malcolm Kesson
** [http://accad.osu.edu/~smay/RManNotes/rmannotes.html RenderMan Notes] (notes on shader writing)
** [http://www.vga.hr/resources/tutorials/3d/rsl/index.htm RenderMan Shader Language] by Dominik Susmel


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Look at other dictionaries:

  • Shading language — A shading language is a special programming language adapted to easily map on shader programming. Those kind of languages usually have special data types like color and normal. Because of the various target markets of 3D graphics, different… …   Wikipedia

  • Shading language — Shader Un shader (anglais, du verbe to shade : ombrager ou estomper, nuancer) est un programme[Quoi ?] utilisé en image de synthèse pour paramétrer une partie du processus de rendu réalisé par une carte graphique ou un moteur de rendu… …   Wikipédia en Français

  • High Level Shading Language — HLSL (High Level Shading Language) bezeichnet die DirectX Komponente, die die Programmierung von Shader Bausteinen ermöglicht. Inhaltsverzeichnis 1 Shader Sprachen 2 Sprach Elemente 2.1 Globale Shader Parameter …   Deutsch Wikipedia

  • RenderMan Interface Specification — [cite web | title=RenderMan Developers Corner RI Spec | url=http://renderman.pixar.com/products/rispec/ | accessdate=2005 12 18 ] , or RISpec in short, is an API developed by Pixar Animation Studios to describe three dimensional scenes and turn… …   Wikipedia

  • Renderman — ist der Name eines von den Pixar Animation Studios entwickelten Standards für das Rendern von Computergrafiken. Pixars Implementierung dieses Standards das Programm Photorealistic RenderMan (PRMan) wird oft fälschlicherweise als RenderMan… …   Deutsch Wikipedia

  • RenderMan — ist der Name eines von den Pixar Animation Studios entwickelten Standards für das Rendern von Computergrafiken. Pixars Implementierung dieses Standards – das Programm PhotoRealistic RenderMan (PRMan) – wird oft fälschlicherweise als RenderMan… …   Deutsch Wikipedia

  • RenderMan — The name RenderMan can cause confusion because it has been used to refer to different things developed by Pixar:* RenderMan Interface Specification (RISpec), Pixar s technical specification for a standard communications protocol (or interface)… …   Wikipedia

  • Photorealistic RenderMan — RenderMan ist der Name eines von den Pixar Animation Studios entwickelten Standards für das Rendern von Computergrafiken. Pixars Implementierung dieses Standards das Programm Photorealistic RenderMan (PRMan) wird oft fälschlicherweise als… …   Deutsch Wikipedia

  • Pixel shading — Shader Un shader (anglais, du verbe to shade : ombrager ou estomper, nuancer) est un programme[Quoi ?] utilisé en image de synthèse pour paramétrer une partie du processus de rendu réalisé par une carte graphique ou un moteur de rendu… …   Wikipédia en Français

  • Shader Language — Shader Un shader (anglais, du verbe to shade : ombrager ou estomper, nuancer) est un programme[Quoi ?] utilisé en image de synthèse pour paramétrer une partie du processus de rendu réalisé par une carte graphique ou un moteur de rendu… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”