Comment les jeux AAA utilisent-ils cette texture dans le shader?

43

J'ai découvert que Battlefield 3, ainsi que Saint's Row the Third, utilisaient cette texture lors de la dernière étape de la cartographie. Quelqu'un peut-il partager un lien vers un article sur l'utilisation de cette texture?

Texture de correspondance de tonalité BF3

MISE À JOUR: comme il n’existe pratiquement aucun exemple de mise en œuvre de Color Grading sur le réseau, je publierai mon échantillon rapide et sale pour XNA 4.0. Cela ne fait que construire la palette de couleurs 2d par défaut sur GPU, en copier le contenu dans une texture 3D sur CPU et effectuer la correction de couleur à l'aide du code de shader de l'article fourni dans la réponse.

Échantillon de correction de couleur XNA 4.0

Si vous voulez savoir ce que vous pouvez faire avec cela, regardez ici:

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

En résumé, l'auteur explique comment faire une capture d'écran de votre image normale du jeu avec la palette d'étalonnage des couleurs par défaut, effectuer une correction des couleurs d'écran dans Photoshop, couper et copier la palette de correction des couleurs déformée dans le moteur et cette correction de couleur est appliquée automatiquement à chaque scène du jeu.

homme de chambre
la source

Réponses:

49

Cela ressemble à la couche inférieure d'une texture de volume utilisée par de nombreux jeux pour corriger les couleurs. L'idée est que la couleur d'écran RVB finale, après le rendu et la cartographie, soit utilisée comme coordonnée de texture pour indexer cette texture et que la couleur trouvée dans la texture remplace la couleur d'origine.

Cela permet aux artistes de modifier arbitrairement les couleurs de la scène en chargeant une texture de volume représentant les modifications souhaitées. La texture "identité" - qui n'entraîne aucune modification de la couleur - consiste en une texture qui présente un dégradé rouge le long de l'axe X, un dégradé vert le long de l'axe Y et un dégradé bleu le long de l'axe Z (c'est-à-dire axe de profondeur de texture en volume). La première couche (Z = 0) ressemblerait donc à la texture que vous avez postée.

GPU Gems 2 décrit la technique plus en détail.

Nathan Reed
la source