Gamma correction en Vray

Gamma correction en Vray-logo.jpg
gamma correction en Vray publicado por Peivem el 13.10.06
Vray calcula y muestra los renders igual cómo funciona la luz en la realidad, pero el monitor tiene características diferentes a la realidad y la imagen debe ser corregida para mostrar lo que en verdad deberíamos ver.
Gamma correction en Vray-ejemplo.jpg

En este tutorial veremos cómo realizar la corrección de gamma de Vray para obtener los mejores resultados posibles.
el problema:
Al hacer renders con el motor Vray, para 3ds Max, suele suceder que la imagen final sale un poco oscura o con un contraste exagerado en algunas partes, por lo que, a falta de luz en ciertas partes, la solución es agregar luces, rebotes de luz, o se suben los valores de la iluminación global (environment).

Este problema de contraste, muchas veces, es solucionado en la mensaje producción cambiando los niveles de exposición de la imagen.

sin saberlo, muchas personas están cometiendo un error a la hora de realizar los renders.

el porqué:
Esto sucede debido a que el hardware de salida de la imagen (en este caso, el monitor del PC), utiliza un sistema de colores llamado SRGB. Este sistema está basado en un estándar establecido por la international electrotechnical commission (IEC) y define la no-linearidad o gamma del monitor en 2.2.

A los distintos tipos de colores (los colores reales, o los colores de un monitor, por ejemplo) se les denomina espacios de color. Los renders son calculados y mostrados en un espacio de color lineal (sin ningún tipo de corrección) – debido a que es la manera en que trabaja la luz en la realidad – por lo que para mostrarlos correctamente en un monitor habría que transformarlos a un espacio de color corregido.

En palabras entendibles, todo esto quiere decir que, para ver correctamente el render en el monitor y poder guardarlo en un formato de 8 bits, Vray debe ser configurado para que corrija la gamma antes de realizarlo.

nota: para las imágenes en formatos de 32 bits-floating point se utiliza otra configuración, que será explicada más adelante.

la solución:
Para realizar la corrección de color es necesario ir a la pestaña color mapping del motor Vray, donde la configuración por defecto es linear multiply con valores 1.0 en el Dark multiplier y bright multiplier, un ejemplo de render con esta configuración sería el siguiente:
Gamma correction en Vray-ej_linear.jpg

La configuración correcta sería gamma correction con valores 0,454 en el Dark multiplier y bright multiplier.

el valor 0.454 corresponde a aplicar la corrección de gamma a 2.2 (1 / 2.2 = 0.4545).

el render con esta configuración sería el siguiente:
Gamma correction en Vray-ej_gamma_correction.jpg

Al realizar el render podemos ver cambios de contraste y exposición y notorias mejoras en la calidad de la imagen.
profundidad de color de la imagen:
Esta corrección en la gamma de la imagen debe ser aplicada en imágenes que serán almacenadas en formatos de 8 bits (como, por ejemplo, jpg), pues la información de colores que poseen es la misma que se muestra en pantalla.

En los casos de imágenes de 32 bits-floating point (como (*.exr) o (*.hdr), la imagen debe ser almacenada con la configuración por defecto de Vray (linear multiply con valores 1.0 en el Dark multiplier y bright multiplier). Esto sucede porque las imágenes de 32 bits posen mucha más información de color de la que se puede mostrar en el monitor y no necesitan que la imagen sea corregida.

hay que tener en cuenta, para no confundirse, que en el caso de Adobe Photoshop (y algunos otros programas de edición de imagen), al abrir una imagen en formato de 32 bits-floating point (*.exr, por ejemplo), el programa realiza la corrección del color automáticamente (view/gama correction), por lo que al abrir el mismo render que en 3ds Max se veía oscuro, en Photoshop se ve bien.

la segunda alternativa:
Otra manera de aplicar esta corrección de color sería realizando el render en el virtual frame buffer de Vray. Esta es una ventana de render alternativa, que postura algunas opciones extras.

Para esto, se debe habilitar el uso del virtual frame buffer en la pestaña Vray: frame buffer:
Gamma correction en Vray-vfb_1.jpg

El virtual frame buffer aparecerá cuando se haga click en render y corresponde a la ventana donde este se dibujara.

El virtual frame buffer tiene opciones de corrección de color. Para esto, se debe activar el uso de curvas de corrección de color(1) y luego abrir los controles de corrección(2) que deben ser activados presionando el siguiente botón en la parte inferior:
Gamma correction en Vray-vfb_2.jpg

En la ventana de controles de corrección se debe hacer click derecho en el punto inferior y elegir bézier smooth:
Gamma correction en Vray-vfb_3.jpg

Luego se debe arrastrar el manejador al punto que se indica en la siguiente imagen, asegurándose de que los números superiores correspondan a los que aparecen en la imagen:
Gamma correction en Vray-vfb_4.jpg

Finalmente, se debe hacer click derecho en el punto superior y escoger reset tangentes:
Gamma correction en Vray-vfb_5.jpg

Esto produce un efecto casi idéntico al que sucede al aplicar la corrección de la gamma.

nota: esta corrección se aplica sobre la imagen sin corrección de gamma, es decir, con linear multiply con valores 1.0 en el Dark multiplier y bright multiplier.

el render sería el siguiente:
Gamma correction en Vray-ej_vfb_correction.jpg
Como pueden ver, el resultado es prácticamente el mismo.
conclusión:
Esta es una manera muy buena de mejorar los renders y disminuir el tiempo, al no tener que agregar luces extras.

Es muy útil cuando las escenas tienen fuentes de luz que producen altos contrastes, como la iluminación de una escena interior a través de luz exterior; y al momento de elegir una forma de aplicar la corrección de color, está en cada uno si utiliza la corrección de color en Vray (primer método) o el virtual frame buffer (segundo método).

De todas formas, no siempre es imprescindible utilizar este sistema, porque puede ser que se esté conforme con la imagen en el modo linear multiply.

Creative Commons.

Miniaturas adjuntas
Gamma correction en Vray-ejemplo.jpg   Gamma correction en Vray-ej_linear.jpg   Gamma correction en Vray-ej_gamma_correction.jpg   Gamma correction en Vray-vfb_1.jpg   Gamma correction en Vray-vfb_3.jpg  

Gamma correction en Vray-vfb_4.jpg   Gamma correction en Vray-vfb_5.jpg   Gamma correction en Vray-ej_vfb_correction.jpg  

Imágenes adjuntadas
Gamma correction en Vray-logo.jpg Gamma correction en Vray-vfb_2.jpg 

Ver más sobre el tema y los comentarios en el foro