Articulo de referencia

Lenguaje de sombreado de RenderMan

El lenguaje de sombreado Renderman (abreviado RSL) es un componente de la especificación de interfaz RenderMan y se utiliza para definir sombreadores . La sintaxis del lenguaje ...

El lenguaje de sombreado Renderman (abreviado RSL) es un componente de la especificación de interfaz RenderMan y se utiliza para definir sombreadores . La sintaxis del lenguaje es similar a la de C.

Un sombreador escrito en RSL se puede usar sin cambios en cualquier motor de renderizado compatible con RenderMan, como PhotoRealistic RenderMan de Pixar, 3Delight de DNA Research , Air de Sitexgraphics o una solución de código abierto como Pixie o Aqsis .

El lenguaje de sombreado RenderMan define funciones independientes y cinco tipos de sombreadores: de superficie, de luz, de volumen, de imagen y de desplazamiento.

Un ejemplo de sombreador de superficie que define una superficie metálica es:

metal de superficie ( 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 )); }

Los sombreadores expresan su trabajo leyendo y escribiendo variables especiales como Cs (color de la superficie), N (normal en un punto dado) y Ci (color final de la superficie). Los argumentos de los sombreadores son parámetros globales que se adjuntan a los objetos del modelo (por lo que un sombreador de metal puede usarse para diferentes metales, etc.). Los sombreadores no tienen valores de retorno, pero se pueden definir funciones que toman argumentos y devuelven un valor. Por ejemplo, la siguiente función calcula la longitud de un vector usando el operador de producto escalar ".":

float length ( vector v ) { return sqrt ( v . v ); /* . es un producto escalar */ }

Lecturas adicionales

  • Upstill, Steve (1990). The RenderMan companion  : a programmer's guide to realistic computer graphics . Reading, Mass: Addison-Wesley. ISBN 0-201-50868-0.
  • Apodaca, Anthony ; Gritz, Larry (1999). Advanced RenderMan  : creación de CGI para películas . San Francisco: Morgan Kaufmann. ISBN 1-55860-618-1.
  • Cortes, Rudy; Raghavachary, Saty (2008). Guía del lenguaje de sombreado RenderMan . Boston, Mass: Thomson Course Technology. ISBN 1-59863-286-8.
  • Documentación del lenguaje de sombreado (RSL)