Source: https://issuu.com/realworkshops/docs/global_illumination_fix__2_
Timestamp: 2017-05-29 15:51:09+00:00

Document:
RealWorkshops Global illumination by Real Workshops - issuu
1Fuentes de luz
Global illumination (GI) es una técnica para generar rebotes de luz y luz indirecta, la técnica se ha
popularizado a tal grado, que en los últimos años
ha venido a remplazar casi por completo la antigua
práctica que consistía en poner las luces de relleno
manualmente para simular luz rebotando a través de
En pocas palabras, en una escena 3D cualquiera
usualmente tenemos dos tipos de fuentes luminosas, las directas (sol, bombillas, velas, fósforos, etc.)
y las indirectas (cielo, ventanas, luz que rebota en
las paredes, etc.), estas últimas podríamos definirlas
básicamente como luz sin una fuente especifica, son
generadas por la luz directa que ha sido modificada
al chocar, rebotar o pasar a través de alguna superficie, incluso la luz celeste podemos definirla de esta
forma ya que no es otra cosa más que la luz del sol
rebotando en las partículas de la atmosfera y dispersándose hasta llegar a nosotros de forma difusa.
La luz indirecta es la responsable de las sombras
suaves que hay debajo de los objetos y en los puntos
de contacto entre un objeto y el otro.Luz indirecta2Las diferentes formas que existen para calcular el GI
tienen el mismo objetivo, que es automatizar el proceso de rebote de las diferentes luces.Luz AmbientalLas consecuencias de esto son: una escena más iluminada, rica en colores y degradados, gracias a que
los rayos que rebotan en las diferentes superficies
llevan el color de dicha superficie a través de la escena y en el proceso pierden energía proporcionalmente a la distancia viajada y rebotes realizados.
Las variaciones que ésto produce en la iluminación
de una escena crea también sombras de contacto
entre los objetos (donde hay ausencia de luz) que
ayudan a que un objeto no se vea flotando en el espacio (ya que como sucede en la realidad, a la luz le
cuesta más trabajo llegar a las esquinas y a los ángulos que se forman entre dos objetos o superficies).Diferentes Valores de
HDRINOTA: A las sombras de contacto formadas por
esta falta de iluminación ambiental en las esquinas
y en donde objetos obstruyen la luz ambiental se le
denomina comúnmente Ambient occlusion (AO).Luz Ambiental
Es importante antes de entrar en los settings y la
parte técnica correspondiente al GI, aclarar que no
toda luz ambiental es generada a base de GI, “luz
ambiental” se le denomina comúnmente a la luz
generada por el entorno (casi siempre el cielo), hay
diversas formas de simular esta luz, como el motor
que estamos utilizando es Vray, para efectos prácticos mencionaremos (sin entrar en mucho detalle)
sólo 4 maneras, resaltando las más útiles.
También sería un buen momento para hablar de
HDRI y LDRI (High y Low dynamic range images), ya
que en la mayoría de los métodos que mencionaremos vamos a utilizar una imagen para generar los
colores de la luz ambiental, esta imagen puede tener un alto rango (HDR) o ser una imagen de rango
normal (LDR)3la diferencia está en que con un LDR tenemos un
rango finito de colores que van de negro a blanco,
una vez un color llega al valor de 255, se considera
blanco, un HDR tiene un rango que para efectos
prácticos es infinito, no se mide de 0 a 255, sino de
0 a 1.0 pasando por todos los decimales, cuando
un color pasa de 1.0, se considera sobreexpuesto,
no blanco, aunque en apariencia es lo mismo,
matemáticamente esos valores se interpretan como
una emisión fuerte de luz pero reconociendo aún
el color que hay debajo, esto permite al usar un
HDRI para iluminar, que el programa sepa donde
hay fuentes de luz y proyecte sombras más fuertes o
reflejos que correspondan fielmente a la intensidad
del ambiente, también permite fenómenos como que
si una imagen ilumina desde un punto amarillo que
por sobreexposición o intensidad vemos blanco, al ir
degradándose y perdiendo fuerza en las superficies
va a empezar a entintar amarillento los objetos como
sucedería en realidad, a diferencia de un LDRI que si
tiene un punto blanco, este siempre iluminara blanco
sin importar cuánto se degrade, salvo por estos dos
detalles, ambos sirven para crear una iluminación
realista al combinarse con luces directas.
Hay maneras de convertir LDRI a una emulación de
HDRI, sin embargo esa explicación va más allá del
campo que abarca este documento.Escena iluminada
con HDRIEscena iluminada
con LDRIspherical envVolviendo a las maneras de generar iluminación
La primera que vamos a describir es hacer una
esfera que abarque la escena completa, invertimos
sus “normales” utilizando un “normal” modifier y
le aplicamos un vrayLightMaterial que tenga una
imagen mapeada de forma adecuada, para mí, esta
manera es la menos recomendable, ya que presenta
problemas de flexibilidad en post producción así
como de optimización para creación de sombras,
tampoco permite el uso de light portals que son tan
útiles en escenas interiores (y a quienes describiremos
más adelante).4La siguiente manera es usando la persiana V-ray:
Environment del panel V-ray en la ventana de render
setup (f10).
Los usemos o no, es importante saber que los espacios que aparecen en esta persiana existen, ya que
nos van a permitir sobrescribir el ambiente que se va
a reflejar y/o refractar así como, el ambiente que va
a ser usado como fuente de luz; este método viene
ligado estrechamente al siguiente que usa el ambiente de 3DMax para iluminar. Usando la persiana
de Vray podemos por ejemplo usar una imagen borrosa de poca resolución para iluminar, una de alta
resolución para los reflejos y una foto especifica de
algo en particular para poner en el fondo ahorrando
así memoria y tiempo de render (este último paso
es recomendable hacerlo en Post-producción), este
sistema no permite usar light portals.
Otra manera de producir environment lighting
seria usando una imagen en el environment and
effects tab (8), en el espacio de environment map
ponemos esta imagen y siempre y cuando el GI
este activado, vamos a obtener luz desde este
campo, aquí podemos utilizar el famoso vraySky
(que no explicaremos) u otra imagen HDR o LDR,
una de las grandes ventajas de utilizar este campo
es que podemos utilizar skylight portals en escenas
interiores para meter luz directa que se sincronicen
perfectamente con la luz ambiental.
Es importante tomar en cuenta que podemos utilizar
este sistema en conjunto con el environment tab de
vray, así podríamos por ejemplo iluminar usando
este método pero sobrescribir los reflejos, usando
así otra imagen para reflejar, la cual pondríamos en
el Vray:5Environment
Este método lo utilizo sobre todo para interiores.
El último método que quiero discutir es especialmente
útil para exteriores, se trata de crear un VrayLight del
tipo “Dome” y checar el checkbox “invisible”.skylight portals
OFFskylight portals
ON6La idea es ir al grupo “Texture” de la luz y activar el
uso de texturas,aquí es donde pondremos nuestro
ambiente y le daremos una resolución que de preferencia no debe ser menor a 512 y no podrá ser
mayor a 2048, esto es independiente al tamaño de
la textura que asignemos tamaños más grandes nos
darán una iluminación más detallada (no necesariamente mejor, eso depende de lo que busquemos),
sin embargo incrementarán nuestros tiempos de render. En lo personal lo que más me gusta de esta luz,
es que al ser un light object, podemos renderizarlo
por separado y nos va a dar mayor flexibilidad en
post-producción. Este método no necwesita GI pero
se beneficia al tenerla activada.Getting Technical
Habiendo visto las maneras de generar luz ambiental
vamos a pasar a los aspectos técnicos del GI; como
siempre, trataremos de ser tan pragmáticos como
sea posible, tratando de no entrar a profundidad en
El proceso de GI solo se refiere a la luz indirecta
(salvo pocas excepciones) y en general se compone
de dos partes; los rebotes primarios que son
generados directamente por la luz directa o el
ambiente y los rebotes secundarios que subdividen
los rayos generados por los primarios creando
subrayos que se seguirán subdividiendo tanto como
Hay varios métodos para calcular ya sea los
rebotes primarios o los secundarios, sin embargo
comúnmente vamos a estar utilizando “Irradiance
map” para los rebotes primarios y “light cache” para
los rebotes secundarios.
En algunas ocasiones sobre todo para previews,
podemos utilizar light cache en ambos, sin embargo
esta técnica no vamos a cubrirla en este documento.Sec. Bounces
OFFSec. Bounces
ON7Primary Bounces
Irradience Map: Este método se basa en generar
un mapa de puntos recolectando información en la
escena de manera aleatoria, usando las distancias
entre superficies y varios settings para generar más
o menos puntos en lugares específicos. Estos puntos
serán luego interpolados obteniendo de esta mezcla
la información faltante entre ellos.
Este método es especialmente rápido para calcular
Antes de empezar a utilizar el Irradiance map, es
buena idea activar “show calculation phase” así
como “show direct light” para saber de antemano
que está sucediendo en el render sin esperar a que
todo el pre calculo finalice.
Usualmente utilizamos los presets que vienen
en los settings del irradiance map, sin embargo
estos settings están diseñados para imágenes de
baja resolución (640 x 480), si incrementamos la
resolución sin cambiar los settings lo único que vamos
a conseguir es tiempos de render más largos. Como
regla general podemos llevar a la mitad el min y max
rate cuando doblamos la resolución, solamente ésto
puede representar un ahorro considerable.8Min rate: este valor determina la resolución para
el primer pase de GI. Un valor de 0 significa que
la resolución será la misma que la resolución de la
imagen final, lo que hará que el Irradiance map se
comporte de manera similar al método de “Brute
Force”. Un valor de -1 significa que la resolución
será la mitad que el de la imagen final y así
El número de passes que tome calcular el Irradiance
map, es el resultado de la resta entre el min y el
max rate, sin embargo algunos passes van a utilizar
información de passes anteriores, lo cual hará que
a veces algunos passes vayan más rápido de lo que
Hemispheric subdivs (HSph subdivs): Controlar
la calidad de cada sample en el Irradiance map, en
otras palabras, cada sample o punto de Irradiance
map que choca con una superficie va a crear una
media esfera del lado que salga de la superficie,
esta esfera va a disparar cierto número de rayos
en distintos ángulos para recolectar información;
el número de rayos que vamos a disparar desde
cada punto es el cuadrado de este número y es
directamente dependiente de los settings en el DMC
sampler que se encuentran en el tab “settings”.
A valores menores más velocidad pero menos
calidad. Un valor de 50 es bueno para casi cualquier
cosa, pero sí siguen habiendo problemas (cosas
como detalles que se pierden, áreas que se manchan
o sombras donde no debería haber).
Es buena idea aumentar este valor de a 10 en 10,
tratando de no ir encima de 100. Al acercarnos a
100, lo mejor es encontrar un método alternativo,
ya sea en el image sampler o incrementando los
parámetros de los secondary bounces (en nuestro
caso, los parámetros de Light cache).9Sphere
Subdiv=10Sphere
Subdiv=30Sphere
Subdiv=50Sphere
Subdiv=10010Interpolation samples: Este valor controla como
se va a mezclar la informaciรณn de los diferentes
puntos vecinos. Los valores altos serรกn mรกs borrosos
pero perderรก detalle, un valor que es demasiado
bajo harรก que aparezcan manchas, pero mejorara
la calidad del GI. Un valor de 20 suele ser suficienteRender Time
0h 0m 9.4sRender Time
0h 0m 9.8sRender Time
0h 0m 10.6sRender Time
0h 0m 15.6s11Como ya habíamos explicado antes, cada pass
de Irradiance map se beneficia de la información
recolectada por el pass anterior, que tanto se beneficia
es determinado por los tresholds, en pocas palabras,
el que un punto entre o no en los diferentes tresholds,
determinara si éste será calculado nuevamente a
más detalle en el siguiente pass, entre más chicos
estos valores va a haber más calidad pero mayores
tiempos de render.
Como se mencionó anteriormente, menos muestras
se utilizan para superficies planas, mientras que
más muestras se utilizan para las esquinas o
zonas curvadas. El umbral (treshold) de distancia
usualmente lo dejamos en el valor default de 0,1 si
usaríamos un valor de 0,0 se ignoraría este umbral
y sólo se usaría el color para determinar si hay que
recalcular un punto.
Si quisiéramos reducir los tiempos de render, ya que
estamos teniendo un exceso de samples, podemos
reducir el ClrThreshold, el nombre de este valor puede
confundir ya que más que ver cambios en el color
busca cambios en la iluminación y dependiendo de
éstos calcula el irradiance map. De aumentar este
valor, es recomendable no irse más allá de 0,4. En
general podemos decir que un clr thresh de 0,3 , y
un nrm thresh y dist threshde 0,1 es suficientemente
Puesto que los primary bounces son los encargados
del detalle en la solución de GI, ahora sería un
buen momento para hablar de los métodos para
conseguir extra detalle y sombras de contacto en los
lugares donde el Irradiance map (dado que “blurea
el GI”) simplemente no produce suficiente detalle y
producirlo generaría tiempos de render exorbitantes.Crltresh 0.1
Render Time0h 0m 9.4sCrltresh 0.1
Render Time0h 0m 27.0s12Detail enhancement: Al encenderlo, podemos
como regla general, usar settings de menor calidad
en el Irradiance map. Lo que hace este método es
buscar superficies que entren en contacto dentro de
un radio determinado, el cual puede ser calculado
en unidades normales o en pixeles (este último es
mi favorito), una vez determinadas estas superficies
aplica una especie de pase “brute-force” solo
en estas áreas de detalle, la calidad de este pase
está determinada por el parámetro “Subdivs mult”,
este parámetro determina el número de samples
como un porcentaje de las HSph.Subdivs, un valor
de 1 significa que se usarán la misma cantidad
de subdivisiones que se usan para los samples del
irradiance map, un valor menor producirá menos
calidad pero renders mas veloces.
Ambient Occlusion: Este es mi método favorito,
lo podemos encontrar hasta arriba en el tab de
“Indirect Illumination” persiana de Vray: Indirect
Illumination (GI), la diferencia entre este método
y el Detail enhancement es que este método hace
trampa, mientras el otro es una solución de GI
y toma en cuenta colores y rebotes, este método
simplemente oscurece las áreas de contacto y por
lo tanto es más fácil de usar y más veloz a la hora
de renderizar. Al igual que el método anterior usa un
radio que determina en que área de una esfera virtual
alrededor de cada punto debe buscar superficies
vecinas, a mayor radio, mayor calidad y mayores
tiempos de render, sin embargo su método para
incrementar la calidad es más parecido al utilizado
para las sombras en las luces que dará cualquier
solución de GI, en pocas palabras a mayor número
en el parámetro Subdivs, mayor detalle, yo suelo
modificar este parámetro en múltiplos de 8.13SECONDARY BOUNCES
Para ésto vamos a utilizar el método de Light Cache.
Hay que recordar que los secondary bounces no
necesariamente van a mejorar los detalles del render
(ese el trabajo de los primary bounces), los secondary
bounces se encargan de diseminar la luz a través de
EL setting aquí es “subdivs parameter”, en general
1000 subdivs puede considerarse bajo; para interiores un setting aceptable (no el mejor) podría ser entre 2500 y 3500, la idea es con ésto eliminar mucho
del ruido que queda por falta de luz.Subdivs = 500 Render Time: 0h 0m 21.9s Subdivs = 1000 Render Time: 0h 1m 9.2sSubdivs = 2000 Render Time: 0h 4m 12.5s*Imágenes Adquiridas de la documentación de v-ray14Sample Size: Determina que tan cercanos uno
del otro van a estar los samples, el balance que
hay que encontrar aquí es parecido al que hay que
encontrar en el parámetro “interpolation samples”
del irradiance map, ya que valores más bajos darán
mayor contraste pero más noise y valores más altos
van a limpiar mucho del noise pero a costa de
perder definición en el detalle. Este valor pude ser
medido en unidades reales pertinentes a la escena
o en pixeles que serán pertinentes al render, una
ventaja de ésto es que entre más cercano esté algo
o más grande se vea en la ventana de render, tendrá
más detalle, mientras world units nos dará una
distribución más pareja de los samples sin embargo,
también tomará en cuenta la distancia a la cámara
poniendo más cuidado a los samples que están
más cerca y dándoles un acabado más suave y con
menos noise.
En ambos casos podemos reducir este valor para
eliminar noise pero a costa de tiempo de render.
Para ambos tipos de unidades, muestras más grandes
aumentarán las posibilidades de luz filtrándose entre
objetos y presentando manchas de luz ya que un
sample demasiado grande es posible que traiga
información de una superficie iluminada (más lejana
de lo deseado) y dicha información se filtre donde
debería haber sombras. Samples más pequeños le
ayudarán a evitar estas fugas, pero el precio a pagar
será más noise en la imagen.Sample size = 0.01 Render Time 1m 13.0s*Sample size = 0.02 Render Time 1m 9.2s*Si usamos “world scale”, podemos cambiar el
sample size a un valor entre 100 mm - 150 mm, ésto
funcionará bien en la mayoría de los casos
Si usamos “screen scale” no hay razón para cambiar
el valor por default de 0.02.
Finalmente el parámetro “Number of Passes”
debería ser el número de procesadores que hay en
Sample size = 0.04,Render Time 1m 13.4s*15Por último, si tenemos Glossy reflections en la
escena, podemos usar la opción “use light cache
for glossy rays”, ésto tendrá un fuerte impacto en
la reducción de los tiempos de render sin embargo
puede llevar a problemas no deseados, por esta
razón es importante usarlo siempre con “retrace
threshold” activado, ya que este parámetro mejora
la precisión del GI y ayuda a eliminar las fugas de
luz cuando usamos “use light cache for glossy rays”.
Esta opción está presente a partir de V-Ray 2.0.
Básicamente estos son los parámetros que debemos
entender para poder hacer un GI de calidad que
renderice rápidamente, sin embargo lo mejor es, ya
sabiendo para qué sirve cada cosa, experimentar un
poco con los valores.Retrace Treshold OFF*En el próximo volumen veremos cómo trabajar
en espacio lineal y con unidades de iluminación
físicamente correctas para generar passes que
podamos utilizar en post producción sin resultados
Envíanos cualquier sugerencia que creas que puede
aclarar un poco más los temas explicados en este
texto a :
coordinacion@Realworkshops.com.mxRetrace Treshold On**Imágenes Adquiridas de la documentación de v-ray16All pages:2345789111213141516InfoSaveLikeShareDownloadMoreRealWorkshops Global illumination Published on Mar 12, 2012 Material de Realworkshops.realworkshopsFollowRead moreRead moreSimilar toPopular nowJust for youGo explore

References: resolución 

resolución 
 resolución 
 resolución 

resolución 
 resolución 
 resolución 
 resolución 
 resolución