В Твиттере я нашел этот скриншот игры в разработке:
Изображение сверху выглядит без каких-либо цветовых ограничений. Но две другие картинки внизу имеют 256 цветовую палитру.
Я хочу добиться аналогичного эффекта в моей игре (я использую OpenGL). Как я могу это сделать?
Ответы:
Я создатель этого изображения.
Изображение справа отображается с использованием цветовой текстуры. В последнем шейдере GLSL я применяю дизеринг, затем конвертирую значения RGB в целые числа в диапазоне 0 <= x <40, объединяю их в один индекс и затем ищу результирующее значение цвета на этом изображении:
Самый низкий ряд - необработанная палитра.
Изображение слева создается исключительно в шейдере путем понижающей дискретизации красного и зеленого каналов до 8 значений, а синего канала до 4 значений после применения сглаживания, что приводит к RGB332. Я также играл с 7 красными, 9 зелеными и 4 синими оттенками, в результате всего 252 цвета, но с большим акцентом на зеленый, к которому человеческий глаз наиболее чувствителен.
источник
Вы можете использовать таблицу соответствия с цветовой градацией на этапе постобработки, как описано здесь, и, возможно, здесь .
После того, как вы это реализовали, все, что вам нужно будет сделать, это сделать снимок экрана, наложить поверх него текстуру поиска, затем отредактировать ее в произвольном графическом программном обеспечении, пока она вам не понравится, и затем снова извлечь измененную текстуру поиска. Это может включать или не включать уменьшение полученной таблицы соответствия до поднабора цветов.
При загрузке текстуры поиска с учетом ограничения цвета просто убедитесь, что все фильтры отключены, чтобы не создавать дополнительных цветов.
источник