6.11.3  Assumed_Gamma (Gamma Asumido)

Muchas personas pueden haber notado una u otra vez que algunas imágenes son brillantes o muy obscuras cuando se despliegan en su sistema. Como regla general, los usuarios de Macintosh encuentran que las imágenes creadas en un PC son muy brillantes, mientras que los usuarios de PC ven las imágenes creadas en una Macintosh demasiado apagadas.

El ajuste global assumed_gamma trabaja en conjunción con el ajuste INI Display_Gamma (ver la sección "Configuración del hardware de visualización") para asegurarse que los archivos de escena se dibujen de la misma manera en la amplia variedad de plataformas en las que se usa POV-Ray. El ajuste de gamma asumido (assumed gamma) puede usarse en una escena añadiendo

 global_settings { assumed_gamma Value }

donde el valor de gamma asumido es el factor de corrección a aplicarse antes que aparezcan los píxeles y/o se guarden en el disco. Para escenas creadas en versiones anteriores, el valor asumido de gamma será el mismo que el valor gamma desplegado en el sistema en el que la imagen se creó. Para sistemas de PC, el valor más común de gamma es 2.2, mientras que para escenas creadas en sistemas Macintosh se debería usar un gamma de 1.8 para la escena. Otro valor gamma que aparece en escena algunas veces es el de 1.0.

Las escenas que no tengan un ajuste global de assumed_gamma no serán objeto de ninguna corrección en ellas, por razones de compatibilidad. Si usted está creando nuevas escenas o generando escenas anteriores, se le recomienda ampliamente que coloque un ajuste global de assumed_gamma apropiado. Para escenas nuevas, debería usar una valor gamma asumido de 1.0, puesto que este valor emula la apariencia de la luz en el mundo real de una manera más realista.

Antes de ir a las secciones siguientes, que explican más detalladamente lo que es gamma y el por qué de su importancia, un breve repaso de cómo funciona gamma en POV-Ray:

Ningún assumed_gamma en la escena :
No se aplica ninguna corrección gamma al archivo de salida.
assumed_gamma 1 :
Cuando existe Gamma, Display_Gamma se aplica al archivo de salida.
Si Display_Gamma no se especifica, se utiliza el valor 2.2 .
assumed_gamma G :
Cuando existe Gamma, Display_Gamma/G se aplica al archivo de salida.
Si Display_Gamma no se especifica, se utiliza 2.2/G.
El valor recomendado para assumed_gamma es 1.

6.11.3.1  Gamma del Monitor

Las diferencias en las imágenes que se despliegan son el resultado de cómo una computadora toma realmente una imagen y la proyecta en el monitor. En el proceso de dibujar una imagen y desplegarla en pantalla, son importantes varios valores gamma, incluyendo el archivo de escena POV, el archivo gamma de la imagen y el valor gamma del monitor.

La mayoría de los archivos de imágenes generadas por POV-Ray almacenan números en el rango de 0 a 255 por cada uno de los componentes de pixel rojo, verde y azul. Estos números representan la intensidad de cada componente de color, siendo el 0 negro y el 255 el color más brillante (ya sea 100% rojo, 100% verde ó 100% azul). Cuando una imagen es desplegada, la tarjeta gráfica convierte cada componente de color en un voltaje que se envía al monitor, para encender los fósforos (phosphors) rojos, verdes y azules en la pantalla. Usualmente el voltaje es proporcional al valor de cada componente de color.

Gamma es importante al desplegar intensidades que no están dentro de los valores máximos y mínimos posibles. Por ejemplo, 127 debería representar 50% de la intensidad máxima para píxeles almacenados como números entre 0 y 255. En los sistemas que no hacen corrección de gamma, 127 será convertido a un 50% del voltaje máximo, pero a causa de la manera en la que trabajan los fósforos y los emisores de electrones en el monitor, esto pudiera ser sólo el 22% de la intensidad máxima de color en un monitor cuyo gamma es 2.2. Para poder desplegar un píxel que es el 50% de la intensidad máxima de este monitor, necesitaríamos un voltaje de 73% del voltaje máximo, que se traduce en el almacenamiento de un píxel de valor 186.

La relación entre el valor de entrada del píxel y la intensidad desplegada puede se aproximada mediante una función exponencial obright = ibright ^ display_gamma donde obright es la intensidad de salida y ibright es la intensidad de entrada del píxel. Ambos valores se hallan en el rango de 0 a 1 (0% a 100%). La mayoría de los monitores tienen un valor gamma fijo en el rango de 1.8 a 2.6. Usando la fórmula anterior con valores de despliegue gamma mayores de 1, vemos que el brillo de salida será menor que el brillo de entrada. Se necesita un sistema general de gamma 1 con el fin de obtener el brillo de salida y de entrada iguales. Para hacer esto, necesitamos corregir el valor gamma de entrada de brillo de la misma manera que se mencionó anteriormente, pero con un valor de 1/display_gamma antes de que sea enviado al monitor. Para corregir el despliegue de gamma de 2.2, esta corrección previa de gamma de monitor utiliza un valor gamma de 1.0/2.2 ó aproximadamente 0.45.

El cómo se ejecute la corrección previa de gamma del monitor dependerá de cómo se esté utilizando el hardware y el software. En sistemas Macintosh, el sistema operativo lo toma para sí mismo para proteger las aplicaciones de las diferencias de despliegue del hardware. Mediante un panel de control de gamma el usuario puede ajustar el gamma real del monitor y entonces Mac convertirá todas las intensidades de píxel, de manera que el monitor parecerá tener el valor gamma específico. En máquinas de Silicon Valley SG, el adaptador de despliegue tiene una corrección de gamma incorporada y calibrada para el monitor, la cual proporciona el gamma general deseado (el valor predeterminado es 1.7). Desafortunadamente, en PCs y la mayoría de sistemas UNIX, cualquier corrección de gamma que se necesite dependerá de la aplicación.

6.11.3.2  Gamma del archivo de imagen

Puesto que la mayoría de PCs, aplicaciones UNIX y formatos de archivo de imagen no entienden el despliegue de gamma, no hacen nada para corregirlo. Como resultado, los usuarios que crean imágenes en estos sistemas ajustan la imagen de tal manera que muestren el brillo correcto. Esto significa que los datos de valores almacenados en los archivos se hacen más brillantes para compensar por el efecto oscuro del monitor. En esencia, la corrección gamma de 0.45 está incorporada a los archivos de imagen creados y almacenados en esos sistemas. Cuando estos archivos aparecen en un sistema Macintosh, la corrección gamma incorporada al archivo, además de la corrección incorporada al MacOS, hacen que la imagen sea demasiado brillante. De manera similar, los archivos que aparecen de manera correcta en Macintosh o en sistemas SGI a causa de la corrección gamma incorporada, serán muy oscuros cuando aparezcan en un PC.

Los archivos de formato PNG generados por POV-Ray superan el problema de demasiada o insuficiente corrección gamma almacenando el archivo de imagen gamma (el cual es 1.0/display_gamma) dentro del archivo PNG cuando éste es generado por POV-Ray. Luego, cuando el archivo PNG es desplegado por un programa que ha sido correctamente ajustado, el programa utiliza el valor de gamma así como el gamma actual para corregir los valores potencialmente diferentes de la imagen generados en su creación.

Desafortunadamente, de todos los formatos de archivo de imagen que soporta POV-Ray, PNG es el único con algún aspecto de corrección de gamma y por eso es preferido para imágenes que aparecerán en una amplia variedad de plataformas.

6.11.3.3  Gamma del archivo de escena

El problema del archivo de imagen gamma en sí mismo es sólo el resultado de cómo las escenas son generadas en POV-Ray. Cuando se comienza una nueva escena, se colocan fuentes luminosas y se ajustan las texturas de las superficies y los colores, generalmente se hacen varios intentos hasta que la iluminación nos guste. Cómo usted escoge esos valores depende de la imagen previa o del archivo de la imagen almacenado en el disco, el cual a su vez es dependiente del valor general gamma que posea el hardware.

Esto significa que usted como artista, está haciendo corrección de gamma en el archivo de la escena para su hardware en particular. Este archivo de escena generará un archivo de imagen que también tendrá una corrección de gamma para su hardware y que aparecerá correctamente en sistemas similares al suyo. Sin embargo, cuando esta escena aparezca en otra plataforma, puede ser muy brillante o demasiado oscura, independientemente del formato de archivo de salida que se haya utilizado. En vez de hacer que cambie todos los archivos de escena a un solo valor prefijado de gamma (¡el cielo no lo permita!), POV-Ray le permite especificar en el archivo de la escena el valor gamma del sistema en el cual se creó la imagen.

El ajuste global assumed_gamma, junto con el valor INI Display_Gamma, le permite a POV-Ray saber cómo hacer una corrección de gamma en una escena dada, para que la imagen previa y el archivo de salida de la imagen aparezcan con el brillo correcto en cualquier sistema. Así mismo, puesto que la corrección gamma se ejecuta en el formato de datos de alta precisión que POV-Ray usa internamente, se producen mejores resultados que con las correcciones de gamma hechas después que el archivo es escrito en el disco.

Aunque puede que no se note alguna diferencia en la salida de su sistema con o sin un ajuste assumed_gamma, el assumed gamma es muy importante si alguna vez la escena ha de aparecer en otra plataforma.