Articulo de referencia

Especificación de la interfaz de RenderMan

La especificación de interfaz RenderMan , [ 1 ] o RISpec para abreviar, es una API abierta desarrollada por Pixar Animation Studios para describir escenas tridimensionales y con...

La especificación de interfaz RenderMan , [ 1 ] o RISpec para abreviar, es una API abierta desarrollada por Pixar Animation Studios para describir escenas tridimensionales y convertirlas en imágenes digitales fotorrealistas . Incluye el lenguaje de sombreado RenderMan .

RISpec , la especificación técnica de Pixar para un protocolo de comunicación estándar (o interfaz ) entre programas de modelado y programas de renderizado capaces de producir imágenes fotorrealistas, es un concepto similar a PostScript , pero para describir escenas 3D en lugar de diseños de página 2D. De este modo, los programas de modelado que entienden el protocolo RenderMan Interface pueden enviar datos al software de renderizado que implementa RenderMan Interface, independientemente de los algoritmos de renderizado que utilice este último.

La interfaz se publicó por primera vez en 1988 (versión 3.0) y se diseñó para ser suficientemente adaptable a futuras tecnologías y poder incorporar avances durante un número considerable de años. La versión actual es la 3.2.1, publicada en noviembre de 2005.

Lo que diferenció a RISpec de otros estándares de la época fue que permitió usar primitivas geométricas de alto nivel, como cuádricas o parches bicúbicos, para especificar primitivas geométricas implícitamente, en lugar de depender de una aplicación de modelado para generar polígonos que aproximaran explícitamente estas formas de antemano. Otra novedad introducida por RISpec en ese momento fue la especificación de un lenguaje de sombreado .

El lenguaje de sombreado RenderMan permite describir las definiciones de materiales de las superficies no solo ajustando un pequeño conjunto de parámetros, sino también de forma arbitrariamente compleja mediante un lenguaje de programación similar a C para escribir procedimientos de sombreado , comúnmente conocidos como texturas y sombreadores procedimentales . La iluminación y los desplazamientos en la superficie también son programables mediante este lenguaje. El lenguaje permite que cada instrucción se ejecute de forma SIMD , pero no lo exige. Otra característica que distingue a los renderizadores basados ​​en RISpec de muchos otros es la capacidad de generar variables arbitrarias como una imagen: normales de superficie, pases de iluminación independientes y prácticamente cualquier otra cosa pueden generarse desde el renderizador en un solo pase.

RenderMan tiene mucho en común con OpenGL (desarrollado por la ahora desaparecida Silicon Graphics ), a pesar de que ambas API están dirigidas a diferentes tipos de usuarios (OpenGL a la renderización en tiempo real asistida por hardware y RenderMan a la renderización fotorrealista fuera de línea). Ambas API adoptan la forma de una máquina de estados basada en pila con renderización (conceptualmente) inmediata de primitivas geométricas. Es posible implementar cualquiera de las dos API a partir de la otra.

Capacidades requeridas

Para que un motor de renderizado se considere compatible con RenderMan, debe implementar al menos las siguientes capacidades:

  • Un estado gráfico jerárquico completo, que incluye las pilas de atributos y transformaciones, así como la lista de luces activas.
  • Transformaciones de visualización ortográfica y de perspectiva .
  • Eliminación de superficies ocultas basada en la profundidad .
  • Filtrado de píxeles y suavizado espacial .
  • Corrección gamma y tramado antes de la cuantización .
  • Genera imágenes que contienen cualquier combinación de RGB, A y Z. La resolución de estos archivos debe ser la especificada por el usuario.
  • Incluye todas las primitivas geométricas descritas en la especificación y proporciona todas las variables primitivas estándar aplicables a cada primitiva.
  • La capacidad de realizar cálculos de sombreado mediante sombreado programable por el usuario.
  • La capacidad de indexar mapas de texturas, mapas de entorno y mapas de profundidad de sombras.
  • Los quince sombreadores estándar de fuente de luz, superficie, volumen, desplazamiento e imagen requeridos por la especificación. Cualquier sombreador adicional, y cualquier desviación de los sombreadores estándar presentados en esta especificación, debe documentarse proporcionando el sombreador equivalente expresado en el lenguaje de sombreado de RenderMan .

Capacidades avanzadas opcionales

Además, el renderizador puede implementar cualquiera de las siguientes capacidades opcionales:

Lecturas adicionales

Véase también

Referencias

  1. "RenderMan - Rincón del desarrollador - Especificación RI" . Archivado del original el 16 de mayo de 2009. Consultado el 12 de junio de 2009 .
  • Especificaciones de Pixar RI en WebArchive: las especificaciones oficiales.
  • Repositorio de RenderMan en WebArchive
  • Referencias y tutoriales de gráficos por computadora del profesor Malcolm Kesson
  • Notas de RenderMan , notas sobre la escritura de sombreadores, en WebArchive.
  • Lenguaje de sombreado RenderMan por Dominik Susmel, en WebArchive
  • Renderizado para principiantes: archivos RIB y sombreadores del libro, en WebArchive.