Raytraced vs. Approximate: decisión dura.

Posted on noviembre 7, 2010 por

2



En el rendering de Blender hay dos modos de reunir la luz alrededor de las cosas. Raytraced y Approximate.

Los resultados de ambos algoritmos de iluminación son bastante diferentes asei como los tiempos que se dura en el cálculo de cada uno. Raytraced, al menos en las pruebas, ha comprobado ser muchísimo más rápido que Approximate en el cálculo del árbol de rayos y de el efecto de oclusión de la luz en superficies cercanas. Approximate, por otro lado, ha dado resultados más realistas de iluminación puesto que toma en cuenta el rebote de la luz en superficies no reflectantes y por ello da un afeceto global más creíble que el algoritmo Raytraced.

Acá dos muestras usando a HS-0511 como siempre:

La dificultad en la decisión se debe más que todo a que a la hora de renderizar no queremos añadir demasiado tiempo a cada cuadro que se va tirando. Approximate, aunque da una calidad de iluminación muy superior a la del algoritmo Raytraced, ha probado ser casi tres veces más lento que este último a la hora de construir el árbol de rayos que se usa para calcular las sombras y la oclusión de luz, lo cual retrasa el momento en que el cuadro empieza a renderizarse. Lo otro importante al respecto es que cuando hay un personaje en la imagen la piel es tratada con tres capas de Sub-surface Scattering (SSS), para dar un renderizado de piel más realista, y como cada capa/paso de SSS se tira por separado eso añade más tiempo al proceso de renderizar un solo cuadro.

Entonces tenemos que balancear las cosas. O usamos Raytraced y obtenemos una velocidad muy buena de renderizado, pero perdiendo un poco la credibilidad de la iluminación, o usamos Approximate para un efecto más realista y de alta calidad pero a costa de casi triple de tiempo de inicialización del render —porque el renderizado en sí dura práctcamente lo mismo, son los pasos previos los que aumentan en duración.

Creo que al final del asunto iremos por Approximate, ya que la calidad de la luz que proporciona debido al rebote de esta en las superficies no reflectantes, nos puede ayudar también a reducir la cantidad de lámparas que usemos en cada escenario. Es posible entonces que lo que tengamos que trabajar más sea encontrar los settings más óptimos para acelerar significativamente el proceso de renderizado, además como tendremos equipos más potentes a la hora de renderizar, pues se supone que no debería ser tan problemático después de todo, ya que estos tests los estoy haciendo en un laptop Core 2 Duo y los equipos que vamos a usar luego serán bastante más poderosos.

Finalmente, los mismos renders de arriba pero con SSS. Nótese la calidad de la piel comparado con los renders planos sin SSS de más arriba, además de los tiempos de renderizado de estos de acá:

Anuncios
Posted in: iluminación, proceso