En Twitter, encontré esta captura de pantalla de un juego en desarrollo:
La imagen en la parte superior parece estar sin ninguna limitación de color. Pero las otras dos imágenes en la parte inferior tienen una paleta de 256 colores.
Quiero lograr un efecto similar en mi juego (estoy usando OpenGL). ¿Como lo puedo hacer?
Respuestas:
Soy el creador de esa imagen.
La imagen de la derecha se representa con una textura de búsqueda de color. En el sombreador GLSL final, aplico el dither, luego convierto los valores RGB en enteros en el rango 0 <= x <40, los combino en un solo índice, luego busco el valor de color resultante en esta imagen:
La fila más baja es la paleta sin procesar.
La imagen a la izquierda se realiza únicamente en el sombreador reduciendo la muestra de los canales rojo y verde a 8 valores, y el canal azul a 4 valores después de aplicar el tramado, lo que da como resultado RGB332. También he jugado con 7 tonos rojos, 9 verdes y 4 azules, lo que da como resultado solo 252 colores, pero con un mayor énfasis en el verde, al que el ojo humano es el más sensible.
fuente
Puede usar una tabla de búsqueda de gradación de color en un paso de postproceso como se describe aquí y probablemente aquí .
Una vez que hayas implementado esto, todo lo que tendrás que hacer es hacer una captura de pantalla, superponer la textura de búsqueda encima de ella, luego editarla en un software de gráficos arbitrarios hasta que te guste, y luego recuperar la textura de búsqueda modificada nuevamente. Esto puede incluir o no reducir la tabla de búsqueda recuperada a un subconjunto de colores.
Al cargar la textura de búsqueda con la limitación de color en mente, solo asegúrese de deshabilitar todo el filtrado, para que no produzca colores adicionales.
fuente