Paleta PICO-8 y Algoritmo de Mapeo de Píxeles

2025-09-11

Este código define la paleta de 16 colores de la consola de juegos PICO-8 y proporciona varios métodos de cálculo de distancia de color (distancia euclidiana, distancia RGB ponderada, distancia HyAB y sus variantes), junto con una función que mapea píxeles de imagen al color de paleta más cercano. Utiliza NumPy para el manejo eficiente de datos de color y permite a los usuarios personalizar la función de distancia para diferentes estrategias de coincidencia de color. Esto es muy útil para el desarrollo de juegos de pixel art y la cuantificación de color de imagen.

Leer más
Juegos

Cuantización de color CIELAB mejorada con la fórmula de distancia HyAB

2025-07-10

Este artículo explora un método mejorado de cuantización de color CIELAB utilizando una nueva fórmula de distancia llamada HyAB, que reemplaza la distancia euclidiana tradicional. HyAB utiliza la diferencia absoluta para la luminosidad y la distancia euclidiana para la cromaticidad, mostrando una mejor alineación con la percepción humana en los experimentos. El autor la aplica al algoritmo k-means, optimizando aún más los resultados al reemplazar el cálculo de la media del componente L por el cálculo de la mediana. Aunque HyAB puede mejorar la calidad de la imagen en algunos casos, el autor señala que el diseño general del sistema y las técnicas de posprocesamiento, como el difuminado, tienen un mayor impacto en el resultado final.

Leer más

Iluminación y mapeo normal en tiempo real en la N64: Una impresionante hazaña de ingeniería inversa

2025-05-17

Este artículo detalla una técnica impresionante para lograr iluminación en tiempo real y mapeo normal en la Nintendo 64. Aprovechando inteligentemente las texturas de paleta y el sombreado del lado de la CPU, el autor elude las limitaciones de hardware de la N64 para lograr visuales sorprendentemente impresionantes. La técnica implica comprimir la información de difusa y normales en una paleta compartida y actualizar la paleta en tiempo de ejecución a través de la CPU para simular efectos de iluminación. Si bien el método tiene algunas limitaciones, como la falta de soporte para luces puntuales y sombras, su naturaleza innovadora es notable, abriendo nuevas posibilidades para la renderización gráfica en la plataforma N64.

Leer más
Desarrollo

Visibilidad Precomputada de Quake: Descifrando el Algoritmo PVS

2025-01-10

Esta es la primera entrega de la serie "Descifrando el PVS", que explora cómo el motor de Quake optimizó el rendimiento de renderizado utilizando conjuntos de visibilidad precomputados (PVS). A mediados de la década de 1990, las limitaciones del renderizado por software hicieron que la reducción del overdraw fuera crucial. Quake utilizó un sistema de portales y PVS para abordar esto. Los portales dividen el mundo en celdas; el motor renderiza solo las celdas visibles para la cámara y otras visibles a través de los portales. El algoritmo PVS precomputa una lista de celdas visibles para cada celda durante la compilación del mapa, evitando pruebas de visibilidad complejas en tiempo de ejecución y mejorando significativamente la eficiencia del renderizado. Este artículo profundiza en los detalles de implementación del algoritmo PVS, incluyendo las definiciones de portales, el papel del árbol BSP y las tres etapas del algoritmo: visibilidad básica, visibilidad completa y resolución de resultados.

Leer más