¿Cómo usan los juegos AAA esta textura en el sombreador de mapeo de tonos?

43

Descubrí que Battlefield 3 y Saint's Row the Third usan esta textura en su etapa final de mapeo de tonos. ¿Alguien puede compartir un enlace a un artículo sobre cómo se usa esta textura?

Textura de mapeo de tonos BF3

ACTUALIZACIÓN: Como casi no hay ejemplos de implementación de Gradación de color en la red, publicaré mi muestra rápida y sucia para XNA 4.0. Esto no hace más que construir el mapa de color 2D predeterminado desde cero en la GPU, copia su contenido en una textura 3D en la CPU y realiza la corrección de color real con el código de sombreador del artículo proporcionado en la respuesta.

Muestra de corrección de color XNA 4.0

Si quieres saber qué puedes hacer con esto, mira aquí:

http://the-witness.net/news/2012/08/fun-with-in-engine-color-grading/

En resumen, el autor explica allí, cómo básicamente puede hacer una captura de pantalla de su imagen normal en el juego con la paleta de clasificación de color predeterminada en la parte superior, realizar la corrección del color de la captura de pantalla en Photoshop, cortar y copiar la paleta de corrección de color deformada en el motor y tener esa corrección de color se aplica automáticamente a todas las escenas del juego.

cubrman
fuente

Respuestas:

49

Esto se parece a la capa inferior de una textura de volumen que muchos juegos usan actualmente para realizar la corrección de color. La idea es que el color final de la pantalla RGB, después del renderizado y el mapeo de tonos, se use como una coordenada de textura para indexar esta textura, y el color que se encuentra en la textura reemplaza al color original.

Esto permite a los artistas modificar arbitrariamente los colores de la escena, cargando una textura de volumen que represente las modificaciones deseadas. La textura de "identidad", que no produce ninguna modificación del color, consiste en una textura que tiene un gradiente rojo a lo largo del eje X, un gradiente verde a lo largo del eje Y y un gradiente azul a lo largo del eje Z (es decir, el eje de profundidad de textura de volumen). Por lo tanto, la primera capa (Z = 0) se vería como la textura que publicó.

GPU Gems 2 describe la técnica con más detalle.

Nathan Reed
fuente