Palette PICO-8 et algorithme de mappage des pixels

2025-09-11

Ce code définit la palette 16 couleurs de la console de jeu PICO-8 et fournit plusieurs méthodes de calcul de distance de couleur (distance euclidienne, distance RGB pondérée, distance HyAB et ses variantes), ainsi qu'une fonction qui mappe les pixels d'une image à la couleur de palette la plus proche. Il utilise NumPy pour la gestion efficace des données de couleur et permet aux utilisateurs de personnaliser la fonction de distance pour différentes stratégies de correspondance des couleurs. Ceci est très utile pour le développement de jeux d'art pixel et la quantification des couleurs d'image.

Lire plus
Jeux

Amélioration de la quantification des couleurs CIELAB avec la formule de distance HyAB

2025-07-10

Cet article explore une méthode améliorée de quantification des couleurs CIELAB utilisant une nouvelle formule de distance appelée HyAB, remplaçant la distance euclidienne traditionnelle. HyAB utilise la différence absolue pour la luminosité et la distance euclidienne pour la chromaticité, montrant un meilleur alignement avec la perception humaine lors d'expériences. L'auteur l'applique à l'algorithme k-means, optimisant davantage les résultats en remplaçant le calcul de la moyenne du composant L par le calcul de la médiane. Bien que HyAB puisse améliorer la qualité de l'image dans certains cas, l'auteur note que la conception générale du système et les techniques de post-traitement, telles que le tramage, ont un impact plus important sur le résultat final.

Lire plus
Développement

Illumination et mappage normal en temps réel sur N64 : un exploit d’ingénierie inverse époustouflant

2025-05-17

Cet article détaille une technique impressionnante pour obtenir un éclairage et un mappage normal en temps réel sur Nintendo 64. En utilisant intelligemment les textures de palettes et le shading côté CPU, l’auteur contourne les limites matérielles de la N64 pour obtenir des visuels étonnamment impressionnants. La technique consiste à compresser les informations de diffusion et les normales dans une palette partagée et à mettre à jour la palette en temps réel via le CPU pour simuler les effets d’éclairage. Bien que la méthode présente quelques limites, telles que l’absence de prise en charge des lumières ponctuelles et des ombres, son caractère innovant est remarquable, ouvrant de nouvelles possibilités pour le rendu graphique sur la plateforme N64.

Lire plus
Développement

Visibilité précalculée de Quake : Décryptage de l’algorithme PVS

2025-01-10

Ceci est le premier volet de la série « Décryptage du PVS », qui explore comment le moteur de Quake a optimisé les performances de rendu en utilisant des ensembles de visibilité précalculés (PVS). Au milieu des années 1990, les limites du rendu logiciel ont rendu la réduction du surdessin cruciale. Quake a utilisé un système de portails et de PVS pour résoudre ce problème. Les portails divisent le monde en cellules ; le moteur ne rend que les cellules visibles par la caméra et d’autres visibles à travers les portails. L’algorithme PVS précalcule une liste de cellules visibles pour chaque cellule lors de la compilation de la carte, évitant ainsi des tests de visibilité complexes en temps réel et améliorant considérablement l’efficacité du rendu. Cet article approfondit les détails de l’implémentation de l’algorithme PVS, notamment les définitions des portails, le rôle de l’arbre BSP et les trois étapes de l’algorithme : visibilité de base, visibilité complète et résolution des résultats.

Lire plus