Ingeniería en Animación Digital y
Efectos Visuales.
Iluminación y render.
“Investigación I: Tipos de render”.
Alumno: Edgar Alejandro Vargas Pérez.
6ADyEV11.
Definición de Renderizado.
El render es una imagen digital resultante de la acción de un programa cuyo
propósito es generar con el máximo “foto-realismo” multidimensional posible, a
partir de un modelo de una escena o escenario tridimensional interpretada desde
cada una de sus perspectivas.
Es decir que es la generación de imágenes digitales a partir de programas que se
dediquen a generar escenas lo más realistas posibles calculando su interpretación
desde distintas perspectivas.
El modelo se somete a diversos procesos, denominados de Renderizado 3D
apelando a técnicas fotográficas y aplicación de simulaciones de distribución
luminosa, trazados ópticos geométricos de recorridos de la luz y sus
comportamientos acorde al texturizado de materiales para crear una serie de
efectos e ilusiones a fin de asemejarlo a una situación realista específica. A estos
procesos se les llama “Métodos de Renderizado”.
Métodos de Renderizado.
La renderización es el proceso final de la creación de la imagen o animación 2D
real de la escena preparada. Esto se puede comparar a tomar una foto o filmar
una escena después de que la configuración se ha terminado en la vida real. Se
han desarrollado varios métodos de representación diferentes y a menudo
especializados. Estos van desde los renderizados wirefire no realistas a través de
la representación basada en polígonos, hasta técnicas más avanzadas tales
como: Renderizado de scanline, ray tracing o radiosity. La renderización puede
tomar de: fracciones de segundos a días para una sola imagen/fotograma. En
general, los diferentes métodos son más adecuados para el Renderizado
froteurista o para el Renderizado en tiempo real.
Ray tracing.
Es un algoritmo para síntesis de imágenes tridimensionales. Es una tecnología
que permite simular los reflejos y sombras generadas por rayos de luz tal y como
sería en la vida real con luz proveniente del sol o de fuentes de luz artificial.
El algoritmo de trazado de rayos extiende la idea de trazar los rayos para
determinar las superficies visibles con un proceso de sombreado (cálculo de la
intensidad de píxel) que tiene en cuenta efectos globales de iluminación como
pueden ser reflexiones, refracciones o sombras arrojadas.
Para simular los efectos de reflexión y refracción se trazan rayos recursivamente
desde el punto de intersección que se está sombreando dependiendo de las
características del material del objeto intersectado.
Para simular las sombras arrojadas se lanzan rayos desde el punto de
intersección hasta las fuentes de luz. Estos rayos se conocen con el nombre de
rayos de sombra (shadow rays).
Path tracing.
El trazado de caminos es un método de Monte Carlo de gráficos por
computadoras para el Renderizado de imágenes de escenas tridimensionales de
tal manera que la iluminación de escenas tridimensionales de tal manera que la
iluminación global sea fiel a la realidad. Fundamentalmente, el algoritmo está
integrado sobre toda la iluminancia que llega a un solo punto de la superficie de un
objeto. Esta iluminación se reduce entonces por una función de reflectancia de la
superficie para determinar cuándo de esta se destinará a la cámara. Cuando se
combina con modelos físicamente exactos de las superficies, modelos precisos de
las fuentes reales de luz (bombillas), y cámaras ópticamente correctas, trazado de
caminos puede producir imágenes fijas que son indistinguibles de las fotografías.
La educación de Renderizado sigue tres principios particulares de la óptica; el
principio de iluminación global, el principio de equivalencia (luz reflejada es
equivalente a la luz emitida), y el principio de dirección (Luz reflejada y luz
dispersada tienen una dirección). En el mundo real, los objetos y las superficies
son visibles debido al hecho de que los ellos están reflejando luz—Esta luz
reflejada entonces ilumina otros objetos a su vez. Desde la simple observación,
dos principios siguen.
Path tracing bidireccional.
El muestreo de la integral de un punto se puede hacer mediante el uso de
cualquiera de los dos siguientes enfoques:
Disparando rayos de las fuentes de luz y crear caminos en la escena.
Disparos de rayos de las fuentes de luz y crear caminos en la escena. El
camino se corta en un número aleatorio de rebotes y la luz resultante se
envía a través del pixel proyectando en la imagen de salida. Durante el
Renderizado se crean miles de millones de cambios y la imagen de salida
es la media de toros los píxeles que recibió alguna contribución.
Recopilando rayos desde un punto en una superficie. Un rayo se proyecta
desde la superficie a la escena en una trayectoria de rebote que termina
cuando se intersecta una fuente de luz. Luz es enviada hacia atrás a través
del camino y al píxel de salida. La creación de un único camino es llamado
una “muestra”. Para un solo punto en una superficie, se toman
aproximadamente 800 muestras (hasta un máximo de 3000 muestras). La
salida final del píxel es la media aritmética de todas las muestras, no la
suma.
Rastreo trayecto bidireccional combina disparo y la recolección en el mismo
algoritmo para obtener una convergencia más rápida de la integral. Un camino de
disparo y un camino de recogida se tracean de forma independiente, y luego la
cabeza de la trayectoria de disparo se conectado a la cola del recorrido de
recogida. La luz se atenúa luego en cada rebote y de vuelta el píxel. Esta técnica
al principio parece paradójicamente más lenta, ya que, por cada muestra de
recolección, además, traceamos un camino de disparo. En la práctica, sin
embargo, la velocidad extra de la convergencia es mucho mayor que cualquier
pérdida de rendimiento del rayo adicional.
Radiosidad.
La radiosidad es un conjunto de técnicas para el cálculo de la iluminación global
que tratan de resolver el problema básico de la renderización de la forma más
realista posible en el campo de los gráficos 3D por computadora. Dicho problema
es:
El transporte de la luz sólo se puede modelar de forma óptima considerando que
cada fuente luminosa emite un número enorme de fotones, que rebotan al chocar
contra una superficie describiendo una cantidad de trayectorias imposibles de
simular en un computador.
Una de las técnicas empleadas en el cálculo de la radiosidad es el método de
Montecarlo para resolver este problema mediante números aleatorias y de forma
estadística.
El auge de la radiosidad y otros métodos eficientes de renderización han
posibilitado un auge en la infografía, siendo muy habitual encontrar por ejemplo
películas que aprovechan estas técnicas para renderizar efectos especiales.
Scanline rendering.
Es un tipo de renderización hecho para aplicaciones tridimensionales, y que es un
algoritmo que determina la forma en que los objetos de la escena van siendo
calculados y generalmente se genera creando líneas que aparecen en el plano de
render o interpretando resultante de arriba abajo o viceversa.
A manera del refresco de las pantallas de televisión donde un tubo de rayos
catódicos proyecta una luz que barre de izquierda a derecha, de arriba abajo.
Existen otros métodos como por ejemplo calcularlo en fragmentos cuadrados o por
pasos. Es el sistema más utilizado entre las aplicaciones 3D conocidas.
Metrópolis.
Es una aplicación variante del método Monte Carlos llamado algoritmo de
Metró[Link] a la ecuación de representación para generar imágenes a
partir de descripciones físicas detalladas de escenas tridimensionales.
El procedimiento construye rutas desde el ojo hasta una fuente de luz utilizando el
trazado de ruta bidireccional, luego construye ligeras modificaciones a la ruta. Se
utiliza un cálculo estadístico cuidadoso (el algoritmo Metrópolis) para calcular la
distribución adecuada de brillo sobre la imagen. Este procedimiento tiene ventaja,
en relación con el trazado de ruta bidireccional, de que una vez que se ha
encontrado una ruta desde la luz hasta los ojos, el algoritmo puede explorar rutas
cercanas; así, los caminos de luz difíciles de encontrar se pueden explorar Más a
fondo con el mismo número de fotones simulados. En resumen, el algoritmo
genera una ruta y almacena los “nodos” de la ruta en una lista. Luego puede
modificar la ruta agregando nodos adicionales y creando una nueva ruta de luz. Al
crear esta nueva ruta, el algoritmo decide cuántos nuevos “nodos” agregar y si
estos nuevos nodos crearán o no una nueva ruta.
Ambient Oclusion.
Es una técnica de sombreado y Renderizado que se utiliza para calcular una
exposición de cada punto de una escena a la iluminación ambiental. Por ejemplo,
el interior de un tubo sueles estar más ocluido (y, por lo tanto, más oscuro) que las
superficies externas expuestas, y cuando más se profundiza dentro del tubo, más
ocluida (y más oscura) se vuelve la iluminación. La oclusión ambiental puede
verse como un valor de accesibilidad que se calcula para cada punto de su
superficie.
En escenas con cielo abierto, esto se realiza estimando la cantidad de cielo visible
para cada punto, mientras que en ambientes interiores solo se tienen en cuanta
los objetos dentro de un cierto radio y se supone que las paredes son el origen de
la luz ambiental. El resultado es un efecto sombreado difuso y no direccional que
no proyecta sombras claras pero que oscurece las áreas cerradas y protegidas y
puede afectar el tono general de la imagen renderizada. A menudo se usa como
un efecto de procesamiento posterior.
Renderizado en tiempo Real.
La renderización de métodos interactivos, como juegos y simulaciones, se calcula
y se muestra en tiempo real a velocidades aproximadamente de 20 a 120
fotogramas por segundo. En el Renderizado tiempo real, el objetivo es mostrar
tanta información como sea posible, ya que el ojo puede procesar en una fracción
de segundo (acá en un fotograma). En el caso de 30 fps de animación un marco
abarca un 30 en un segundo. El objetivo principal es lograr un grado de foto
realismo tan alto como sea posible a una velocidad de renderización mínima
aceptable (normalmente 24 fotogramas por segundo, ya que es el mínimo que el
ojo humano necesita para crear con éxito la ilusión del movimiento). De hecho, las
explotaciones pueden aplicarse en la forma en que el ojo “percibe” el mundo, y
con resultado la imagen final presenta no es necesariamente la del mundo real,
sino una lo suficientemente cerca para que el ojo humano pueda tolerar. El
software de Renderizado puede simular efectos visuales tales como bengalas de
lente, profundidad de campo o desenfoque de movimiento. Estos son intentos de
simular fenómenos visuales resultantes de las características ópticas de las
cámaras y del ojo humano. Estos efectos pueden dar un elemento de realismo a
una escena, incluso si el efecto es simplemente un artefacto simulando de una
cámara. Este es el método básico empleado en juegos, mundos interactivos y
VRML. El rápido aumento de la potencia de procesamiento informático ja permitido
un grado de realismo progresivamente mayor incluso para la renderización en
tiempo real, incluyendo técnicas como la renderización HDR. La representación en
tiempo real suele ser poligonal y ayudada por la GPU de la computadora.
Renderizado en tiempo no real.
Las animaciones para medios no interactivos, como películas y video, se hacen
mucho más lentamente. La renderización en tiempo no real permite aprovechar la
potencia de procesamiento limitada para obtener una calidad de imagen más alta.
Los tiempos de procesamiento de fotogramas individuales pueden variar de unos
segundos a varios días para escenas complejas. Los fotogramas renderizados se
almacenan en un disco duro y luego se pueden transferir a otros medios como
películas cinematográficas o discos ópticos. Estos marcos se muestran entonces
secuencialmente a altas velocidades de fotogramas, típicamente 25, 25 ó 30
fotogramas por segundo, para lograr la ilusión de movimiento.
Cuando el objetivo es el foto-realismo, se emplean técnicas de Renderizado como
el trazado de rayos o la radiosidad. Este es el método básico empleado en los
medios digitales y las obras artísticas. Se han desarrollado técnicas para simular
otros efectos naturales, como la interacción de la luz con diversas formas de
materia.
Image sampling (muestreo de imagen).
Cuando se trabaja un Renderizado con algún motor como ARNOLD, es útil tener
una comprensión básica en los principias básicos detrás de la representación de
trazado de rayos. La producción de una imagen de aspecto realista de una escena
virtual requiere simular la propagación de la luz en la escena desde las fuentes de
luz hasta la cámara. Para determinar el color de cada píxel de la imagen, Arnold
recopila información de la geometría de la escena, sombreadores, luces, etc.,
rastrea una serie de rutas aleatorias de transporte de luz que conectan los objetos
vistos a través del píxel con las fuentes de luz, un proceso llamado “muestreo”. La
calidad de la imagen resultante depende en gran medida de número de rutas o
muestras generadas para cada píxel.
Al renderizar una imagen, Arnold debe determinar un valore de color para cada
píxel examinando la escena. Arnold logra esto enviando una serie de rayos desde
la posición de la cámara hasta que golpean un objeto en la escena. Cada vez que
un rayo golpea un objeto, realizará algunos cálculos que finalmente devolverán
una información sobre el objeto (su color, por ejemplo). Básicamente, este proceso
puede describirse como “muestreo de píxeles en el plano de imagen en la cámara
virtual.
Los renderizados calculados con pocas muestras en cada píxel pueden ser
ruidosos. Al aumentar el número de muestras por píxel se obtiene una imagen
menos ruidosa que representa mejor la escena real. Las imágenes a continuación
muestran una comparación al aumentar el número de muestras de cámara (AA)
en una escena. El aumento de las muestras de cámara (AA) no solo reduce el
ruido de las alias, sino que también agrega más muestras de rayos secundarios, lo
que también reduce el ruido en la iluminación.
Muestreo de cámara (AA)
Básicamente, se disparan varios rayos desde la cámara a través de cada píxel
requerido de la ventana de la pantalla renderizada en la escena. Estos se
denominan “Rayos de primarios”, pero a veces se los conoce como “ojos” o “rayos
de cámara” (Cámara (AA) (Anti-aliasing)) Ya que se emiten desde la vista de
representación. A veces llaman “muestras de píxeles”.
El Valor de la cámara (AA) controla de tasa de súper muestreo de píxeles o el
número de rayos por el píxel que se rastreará desde la cámara. Cuanto mayor sea
el número de muestras, mejor será la calidad de suavizado, pero mayores serán
los tiempos de Renderizado.
Muestreo de luz.
Los rayos de iluminación directa pueden describirse como rayos que tratan con
luces. Estos rayos viajan desde una posición en la escena hacia las diversas
fuentes de luz. Estos rayos determinan si una superficie está en sombra, y si no,
se puede calcular la información de iluminación.
El ruido de las luces a veces puede ser difícil de diagnosticar, especialmente si es
una luz con un área o tamaño grande. En estos casos, a veces puede confundirse
con ruido difuso indirecto. Esto resalta la necesidad de probar diferentes tipos de
rayos de ruido. Si el problema es el ruido de las sombras entonces simplemente
podemos alternar ignorar las sombras en la configuración de Renderizado de
Arnold y el ruido se resolverá por completo. Las imágenes a continuación
muestran cómo se traza una luz en Arnold.
Los mismos problemas de ruido descritos anteriormente pueden ocurrir con rayos
directos e indirectos. El ruido de las fuentes de luz directa generalmente aparece
en reflejos especulares o en sombras grandes y suaves de las luces del área. Si
este es el caso, se debe aumentar el número de muestras de luz.
Muestreo de rayos difusos.
Los rayos difusos indirectos son rayos que interactúan con objetos y sus
sombreadores de superficie. Por lo tanto, los rayos viajan en la escena en
direcciones determinadas por el sombreador asignado al objeto. Los rayos de
transmisión viajan a través de los objetos. Cuando un rayo golpea un objeto
reflectante, como un espejo, solo se traza un rayo de reflexión desde ese punto en
una recepción determinada por el rayo entrante. En contraste, los rayos difusos se
muestrean aleatoriamente en el hemisferio alrededor del punto de golpe.
Muestreo de rayos especulares.
Al renderizar superficies especulares brillantes, el ruido también puede ser un
problema, como ocurre con los rayos difusos. Los puntos calientes brillantes
pueden causar ruido en muestras especulares indirectas. Por ejemplo, amplios
reflejos especulares de luces pequeñas y brillantes. Si el problema es el ruido en
un resultado especular, debe confirmarse que la fuente es la luz directa y no un
tipo de rayo secundario (como el especular). Esto es fácil de lograr estableciendo
GI_diffuse_depth, GI_specular_depth en cero (esto esencialmente apaga toda la
iluminación global). Si el ruido sigue ahí, sabemos que es el componente
especular directo del modelo de iluminación. En la mayoría de los casos, se puede
resolver aumentando el número de muestras especulares.
Volúmenes.
Al muestrear volúmenes, los rayos directos (AA) muestrean el volumen varias
veces a medida que viajan a través de él. Los rayos indirectos (Volumen indirecto)
se comportan de manera similar, se envían varias veces como los “pasos” el rayo
(tamaño del paso del volumen) a través del objeto volumétrico. Por lo tanto, tomar
muestras de un volumen generalmente toma más tiempo para calcular que tomar
muestras de una superficie.
En cada paso que baja el rayo, evalúa el sombreado y acumula la densidad del
volumen. Cuando estos valores de densidad se vuelven más erráticos en todo el
volumen, los rayos cercanos pueden calcular valores sustancialmente diferentes
introduciendo ruido en el render. En este caso, puede ser necesario renderizar
utilizando más muestras de volumen de luz o reducir el tamaño del paso en el
volumen. Incluso con valores de muestreo bajos, puede ser costoso renderizar
imágenes limpias con volúmenes.
Iluminación global.
Iluminación global o iluminación indirecta es un nombre general para un grupo de
algoritmos usados en gráficos por computadora tridimensionales que tienen como
objetivo añadir realismo a la modelación de la luz en escenas 3D. dichos
algoritmos tienen en cuenta además de la luz proveniente directamente de una
fuente de luz (iluminación directa), los rayos de luz que provienen de la misma
fuente pero que ha sido a través de reflexiones sobre superficies de la escena
(reflexivas).
Reflexiones, refracciones, inter-reflexiones difusas y sombras son todos ejemplos
de iluminación global, a la hora de modelar cada uno de estos fenómenos
tenemos que tener en consideración cómo cada objeto de la escena afecta al
resto. Lo contrario en el caso donde solo se tiene en cuenta la iluminación que
proviene directamente de la fuente de luz, aquí se asume que el único objeto en la
escena es que está siendo analizado, por tanto, se puede decir que esta es una
aproximación local.
Imágenes rendereadas utilizando algoritmos de iluminación global suelen tener
mayor foto realismo que aquellas rendereadas utilizando algoritmos de iluminación
directa únicamente. Sin embargo, estas imágenes son computacionalmente más
costosas y consecuentemente mucho más lentas de generar. Una aproximación
común es computar la iluminación global de una escena y almacenar esa
información con la geometría, por ejemplo, radiosidad. Esos datos almacenados
pueden luego ser usados para generar imágenes desde diferentes puntos de vista,
de esta manera se pueden visualizar la escena sin tener que realizar costosos
cálculos de iluminación de manera repetida.