stringtranslate.com

Lenguaje de sombreado de RenderMan

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

Un sombreador escrito en RSL se puede utilizar sin cambios en cualquier renderizador 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 .

RenderMan Shading Language define funciones independientes y cinco tipos de sombreadores: sombreadores de superficie, luz, volumen, generador de imágenes y desplazamiento.

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

superficie metálica ( flotador Ka = 1 ; flotador Ks = 1 ; rugosidad del flotador = 0,1 ;) { normal Nf = cara adelante ( normalizar ( N ), I ); vector V = - normalizar ( I ); Oi = Os ; Ci = Os * Cs * ( Ka * ambiente () + Ks * especular ( Nf , V , rugosidad )); }                                            

Los sombreadores expresan su trabajo leyendo y escribiendo variables especiales como Cs (color de superficie), N (normal en un punto determinado) y Ci (color de superficie final). Los argumentos de los sombreadores son parámetros globales que se adjuntan a los objetos del modelo (por lo que se puede usar un sombreador de metal 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 del vector utilizando el operador del producto escalar ".":

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

Otras lecturas

enlaces externos