Comment utiliser les LUT dans les jeux vidéo, et comment vous pouvez en faire autant
- Les jeux vidéo utilisent des LUT (look-up tables) pour mettre en œuvre des techniques créatives.
- L’article explique comment manipuler des données vidéo en temps réel à l’aide d’un exemple avec WebGL.
- Le lecteur peut s’exercer avec sa propre vidéo ou sa webcam.
Configuration
- Le point de départ est une vidéo en noir et blanc filmée avec une caméra thermique.
- La vidéo est envoyée au GPU via WebGL et affichée à l’identique à l’aide d’un shader.
Colorisation
- La vidéo est colorisée à l’aide d’un
Fragment Shader, qui détermine la couleur de chaque pixel.
- Un exemple simple appliquant une teinte orange montre comment manipuler les couleurs.
Coût en performance : zéro
- L’impact de la colorisation sur les performances est quasiment nul, et négligeable grâce au
latency hiding du GPU.
L’utilisation de la colorisation chez Valve Software
- Dans le jeu
Left 4 Dead de Valve Software, la colorisation est appliquée aux modèles de véhicules pour générer différentes variantes.
LUT — simple mais puissant
- L’article explique comment utiliser une LUT pour définir et transformer des plages de couleurs.
Une modeste LUT 1D
- Une LUT 1D est un tableau de couleurs utilisé pour convertir une vidéo en niveaux de gris en RGB.
- Des LUT 1D de différentes tailles servent à démontrer la transformation des couleurs.
Beaucoup de couleurs
- Tous les color maps pris en charge par matplotlib sont proposés sous forme de LUT 1D.
- Il est recommandé d’utiliser des color maps
Perceptually Uniform.
Toujours aucun coût en performance ?
- Dans le cas de petites LUT 1D, l’impact sur les performances reste minime, avec une utilisation efficace du cache du GPU.
De la variété pour les zombies
- Dans
Left 4 Dead 2, des LUT sont utilisées pour créer différentes variantes de couleur des zombies.
Pré-calculer les calculs
- Une LUT 1D permet de mettre en cache des calculs coûteux et, par exemple, d’effectuer rapidement une correction gamma.
La puissance des LUT 3D
- Une LUT 3D représente tout l’espace RGB sous la forme d’un cube unique afin de remapper les couleurs.
Configuration
- Le traitement par LUT 3D est expliqué à partir d’une vidéo au profil log filmée avec un Panasonic GH6.
Corrections simples
- L’article décrit comment appliquer une correction colorimétrique avec DaVinci Resolve puis réexporter la LUT.
L’utilisation des LUT 3D dans Left 4 Dead
- Il s’agit d’un workflow largement connu dans l’industrie du jeu vidéo, qui utilise des outils externes pour styliser les couleurs du jeu.
Aventures avancées
- L’article explique comment exporter en LUT des transformations colorimétriques complexes à l’aide d’outils de color grading comme DaVinci Resolve.
Autres usages
- Parmi les autres cas d’usage des LUT, l’article présente une LUT utilisée pour porter Tomb Raider sur Game Boy Advanced.
L’avis de GN⁺
- Les LUT sont un outil puissant pour la manipulation des couleurs et l’optimisation dans les jeux vidéo et la programmation graphique. Cette technique permet de produire divers effets visuels en rendu temps réel sans perte notable de performances, ce qui la rend utile aussi bien pour les développeurs que pour les artistes.
- Lors de l’utilisation de LUT, il faut tenir compte de la précision des couleurs et de la représentation visuelle des données. Il est particulièrement important de comprendre l’intérêt des color maps
Perceptually Uniform, notamment du point de vue du daltonisme.
- Cette technique peut s’appliquer à de nombreux domaines, comme la correction colorimétrique, le stylisme visuel ou la visualisation de données. Par exemple, des techniques similaires aux LUT utilisées pour le color grading dans l’industrie du cinéma peuvent être appliquées au développement de jeux.
- La taille et la précision d’une LUT peuvent varier selon l’usage visé et la plateforme, et cela demande une bonne compréhension. Par exemple, dans l’industrie du cinéma, les LUT de taille 33³px sont standard, alors que dans les jeux ou d’autres applications graphiques, d’autres tailles peuvent être nécessaires.
- Lorsqu’on utilise cette technique, il est important de trouver un équilibre entre fidélité colorimétrique et optimisation des performances. Pour exploiter efficacement les LUT, une compréhension approfondie de la théorie des couleurs et de la programmation graphique est nécessaire.
1 commentaires
Commentaires Hacker News
Explication de la manière d’implémenter des effets à l’aide de tables de correspondance (LUT)
Partage d’une expérience d’utilisation de tables de correspondance pour un effet de tunnel texturé
Stardustutilisait cet effet, mais en réalité il utilisait en arrière-plan une animation répétée de 6 images.Partage d’un lien vidéo expliquant comment le jeu The Legend of Zelda: Wind Waker a utilisé des tables de correspondance pour créer un rendu visuel unique
Indication que l’auteur ayant soumis l’article sur les tables de correspondance est prêt à répondre aux questions.
Explication de l’importance des tables de correspondance dans le développement de jeux rétro
Partage d’une expérience au sujet de
Bobl, un jeu de la communauté homebrew NES ayant produit des effets physiques étonnants à l’aide de tables de correspondancePartage d’un épisode de podcast sur la manière dont le portage SNES de
Doomcalculait les fonctions trigonométriques à l’aide de tables de correspondanceExpression d’un agacement face aux personnes connaissant la programmation dynamique qui confondent caching et mémoïsation
Partage d’informations sur
Lattice, une application Mac consacrée aux tables de correspondancePrésentation d’une liste d’exemples variés d’effets réalisés avec des tables de correspondance