Rendering Engines (y tendencias) Rendering Avanzado Jorge López Moreno 07 de Abril de 2015
Index Tendencias y estado del arte Motores de render (Render Engines) Basado en los artículos de Mike Seymour (The State of Rendering 1 & 2)
Tendencias Iluminación Global Ray Tracing vs point solutions Image-based Lighting Interactividad GPU Farm and cloud rendering Open source
Iluminación Global Arnold / ILM
Iluminación Global Métodos más populares: distribution ray tracing path tracing point-based global illumination
Iluminación Global Primer paper resolviendo iluminación global en films: Multiresolution Radiosity Caching for Efficient Preview and Final Quality Global Illumination in Movies H. Christensen et al 2012
Iluminación Global Primeros usos de Path tracing: Arnold Renderer Monster House (Sony Pictures 2006)
Iluminación Global Ventajas de Path tracing: Shaders menos complejos que métodos biased (Ej: point cloud) Fast feedback previsualización interactiva de iluminación Desventajas: Ruido!! x4 rayos para tener ½ de ruido
Iluminación Global Soluciones en pathtracing: Uso de brickmaps +scanline render Código que lanza más rayos y más rápido Lanzar más rayos en la dirección más importante
Ray Tracing vs Point Based Qué es Point-Based? Método multipaso: Paso 1 se genera una nube de putnos a partir de la iluminació ndirecta de micropolígonos Paso 2 n-1 rebotes de luz se calculan a partir de la nube de puntos (este pase se puede evitar si sólo necesitamos un rebote) Paso 3 Se calcula la iluminación indirecta a partir de la nube de puntos
Ray Tracing vs Point Based Desventajas: Al ser multipaso no previsualizacion interactiva Ventajas: Permite hacer irradiance cache de directa e indirecta menos evaluaciones de shaders Grids de puntos son sombreados a la vez amigable para SIMD REYES shading execution
Ray Tracing vs Point Based Cómo se usa? En pipelines mixtos. Por ejemplo en Monsters University se usan ray tracing y physically based lighting/shading pero SSS se hace con nubes de puntos Se usó con éxito por primera vez en Pirates of the Caribbean 2 y Surf s Up Por qué no usar ray trace puro?
Ray Tracing vs Point Based Por qué no usar ray trace puro? Costes por hit de rayo muy elevados (no el trazado en sí mismo!): Displacement Light source Surface shaders at the ray hit points. Includes: texture map lookups procedural texture generation shadow calculation BRDF evaluation shader set-up and execution overhead calls to external plug-ins, etc.
Ray Tracing vs Point Based Al usar nubes de puntos pueden hacer caching y ahorrar evaluaciones de rayos x30 speed up!! Entonces, por qué solo se usó para SSS?
Ray Tracing vs Point Based La respuesta es: Physically Plausible Lighting and Shading Un artista recibe cientos de luces, con múltiples shaders complejos: Horas de render $ Horas de artista $$$$$$$$$$
Ray Tracing vs Point Based Ejemplo especulares normalizadas: Si modificas el tamaño de la reflexion se redistribuye la energía (derecha). Si no se normaliza se obtiene elresultado de la derecho.
Ray Tracing vs Point Based La idea de Importance sampling ha ido calando progresivamente en la industria y actualmente tenemos: Renders de fuerza bruta sin IS Sólo para environment lights o dome lights: environment sampling Modo Para luces y materiales multiple importance sampling (MIS) 'state of the art', Ej: RenderMan MIS Avanzado: Se aplica IS a una rango mayor de soluciones, como SSS. Ejemplo: Arnold
Ray Tracing vs Point Based Recordemos:
Ray Tracing vs Point Based Ejemplo MIS en Octane renderer
Image-based Lighting Uso de mapas de entorno para luces distantes
Image-based Lighting Edición avanzada con billboards (cards) Luces cercanas
Image-based Lighting Ejemplo: Iron man 2
Interactividad Path tracing: Mejora de interactividad
GPU rendering Uso previo: pases pre-render Se considera ineficaz para producción Sin embargo la tendencia está cambiando: Octane, Maxwell, etc.
GPU rendering Ejemplo: Panta-Ray (by Weta) basado en esféricos armónicos
GPU rendering Ejemplo: Panta-Ray (by Weta) basado en esféricos armónicos
GPU rendering Ejemplo: Panta-Ray (by Weta) basado en esféricos armónicos
Cloud Rendering Muchas compañías se están moviendo hacia cloud (ej: Amazon servers): Vray soportado por ZYNC y Green Button Pixar, Foundry, Mistsuba, Next Limit,..
Open Source OpenVDB: Datos volumétricos Alembic: Procesamiento de ficheros de geometría y animaciones OpenExr 2: HDR Open Shader Language (OSL) :descripción del materiales co nmenos programación en el shader (& MDL/iRay de Nvidia). Cortex: cross-application framework for computation and renderin