PDA

Просмотр полной версии : Улучшение стандартной ZX-палитры



Lethargeek
10.02.2017, 20:39
Вопрос на стыке Эмуляции, Железа и Графики, потому засовываю в Концепции. :)

Расшифрую сабж. Улучшение СТАНДАРТНОЙ палитры означает, что по отдельности "улучшенные" цвета должны однозначно опознаваться как варианты старых и привычных цветов, а целиком "улучшенная" палитра может в принципе полностью заменить обычную без необходимости возвращаться к ней (то есть речь не о том, чтоб тёмно-жёлтый заменить ярко-оранжевым, например). В свою очередь, УЛУЧШЕНИЕ стандартной палитры означает, что вся графика, рассчитанная на стандартную спектрумовскую палитру, с новыми "улучшенными" цветами должна выглядеть лучше и приятней в большинстве случаев (а если редко хуже, то ненамного).

Зачем нужно? Не знаю как других, а меня лично сильно раздражали (в основном, в играх - например, Commando или, из недавних, Brunilda) цветонеконтрастные сочетания (белый-жёлтый-циановый-зелёный друг с другом и маджента с красным). И на ЭЛТ на реале, и позднее в эмуляторах на ЖК (особенно старых и ноутбучных с плохими углами обзора). Выглядит нечётко, глаз напрягает, диссонирует с соседним чётким объектом. Причина в том, что цвета на Спеке формируются крайне примитивно, как всем известно, просто смесью трёх основных лучей при их одинаковой интенсивности, что приводит к слишком близкой яркости смешанных цветов в результате. Только чёрный сочетается с любым цветом, но из-за атрибутных ограничений чёрную обводку на Спеке можно только имитировать иногда. И настройки монитора не помогают, можно только цветность перекосить изменением интенсивности лучей, а их смеси так и будут близки по яркости.

В эмуле для некоторых игрушек в таких случаях я два-три цвета менял обычно, а потом решил попробовать подобрать и универсальный набор цветов. Действовал по принципу "из пары близких, неконтрастных цветов дополнительно понизить яркость менее яркого". Белый - максимальная яркость, и два градиента до зелёного и до синего. Результат - улучшенная контрастность. Смотрим ниже на картинках, что получилось. Чёткость текста в разных цветовых сочетаниях видно по приложенным скринам стандартного ZX-теста:

http://savepic.net/8919217.png

Здесь и далее слева - старая палитра (эмуль SPiN, bright levels 255/202), а справа новая:

http://savepic.net/8927408.png
+
http://savepic.net/8968371.png
+
http://savepic.net/8948915.png

Видно, что картинки стали темнее - что, на мой взгляд, чаще даже идёт на пользу. Потемневший, мягкий зелёный более естественно выглядит, чем оригинальный кислотно-яркий. Посеревший циан лучше для воды, металла и неба. Новый яркий (относительно других потемневших) белый хорош для бликов. Потемневший синий лучше переходит в чёрный, где так задумано, но при этом по-прежнему читаем на чёрном фоне, если переход не маскировать. Из минусов - красный темноват, но зато для коры деревьев подходит лучше. Жёлтый с белым иногда по задумке авторов картинок должен сливаться; впрочем, даже при повышенной чёткости переходы выглядят вполне сносно. Ну, и маджента стал, похоже, восприниматься чуть более кислотным на общем фоне.

Кто что думает? Есть ли смысл в железе делать нечто подобное и насколько схема будет простой? Или скажете, что исключительно для эмуляторов баловство (не для всех причём, не везде можно произвольно цвета менять). Но даже если только для эмуляторов, на ваш взгляд, оптимальна ли предложенная палитра? В таком случае, предлагайте ваши альтернативы. И вообще, интересно знать, насколько часто в эмулях народ палитры кастомизирует.

приложение: цифры из раздела palettes в моём spin.ini

000000000098A40000B400B400980000A8A8B4B400CCCCCC00 00000000BECD0000E100E100BE0000D2D2E1E100FFFFFF
и те же самые картинки еще архивом, на случай, если протухнут ссылки savepic.net

AzAtom
10.02.2017, 23:22
Неплохо. Я думал просто уменьшить насыщенность где-то до 75%. Действительно, чистые и яркие цвета не всегда используются в играх и выглядят слишком вырвиглазно. А вот с уменьшенной насыщенностью выглядит более естественно.

Lethargeek
11.02.2017, 00:59
думал просто уменьшить насыщенность где-то до 75%
Пробовал, но если просто снизить насыщенность, то контрастность с белым только ухудшится - не для всех картинок пригодно будет. В то время как запас по яркости еще есть. И для каждого цвета яркость нужно подбирать независимо. Еще, может быть, имеет смысл добавить общий мультипликатор (в случае реала - резюк подстроечный) для плавной регулировки разницы со стандартом.

Да, забыл - если кто захочет в эмуле поиграться, то учтите - SPiN при сбросе виртуального Спека (что бывает даже при загрузке файлов, снапшотов точно) почему-то и палитру сбрасывает в дефолт, так что надо заново выбирать.

NEO SPECTRUMAN
11.02.2017, 01:11
Ужо давно есть кардинально улучшенная палитра Mars
можно найти в UnrealSpeccy
http://alonecoder.nedopc.com/zx/index.html
хотя для полной замены она не катит...
но картинку иногда может улучшить...

насчет примеров
картинке слева\справа толком не отличаются (я с трудом вижу разницу)
такого можно добиться покрутив настройки на телеке
и без вмешательство в железо

и вообще ulaplus наше все
её "улучшения" синеватая(из за меньшей разрядности синего канала) палитра (стартовый режим эмитации стандартной палитры)
по моему как раз самое то
и уже давно изобретено...

(правда из за чьих то кривых рук ужо есть разные толкования стандарта...)

Lethargeek
11.02.2017, 02:16
Ужо давно есть кардинально улучшенная палитра Mars
можно найти в UnrealSpeccy
Что в ней "кардинально улучшено"? И речь о чёткости, тут все анрыльные палитры вообще не в кассу, в них цвета нельзя задать независимо.


насчет примеров
картинке слева\справа толком не отличаются (я с трудом вижу разницу)
Увеличь и проверь, с какой дистанции мелкие детали и текст читаются. И у тебя, возможно, моник настроен плохо.


такого можно добиться покрутив настройки на телеке
Нет, нельзя: тинт влияет сразу на все цвета; контраст, резкость - искажают линии и границы.


и вообще ulaplus наше все
её "улучшения" синеватая(из за меньшей разрядности синего канала) палитра (стартовый режим эмитации стандартной палитры)
Именно стандартную задать просто, но разрядность в 2-3 бита на компоненту недостаточна для точного подбора других цветов (а задача в этом и состоит).

Spectramine
11.02.2017, 02:30
Картинки справа субъективно действительно выглядят приятнее и уютнее, не режут глаза.

bigral
11.02.2017, 05:35
Признаюсь что 90% игрушек на zx шли с хорошо подобранной цветовой гаммой. Просто на телике выход с ULA еще и через UHF такие дикие смывания изображения давал, что те кто подбирали цвета делали это в еще худших условиях чем типическое наше подключение через RGB (а в большенстве случаев к чернобелому монитору или телику "без цвета", а в оттенках серого изображение смотрится еще четче).

Но вот есть такие игры как вот: https://www.youtube.com/watch?v=qmPYhpZwA1g блин сама игра бомба, но последние уровни явно ктото делал на чернобелом телике(синий с черным!!! это кошмар... красный с черным не далеко от него ушел...), ну не иначе просто... ULA+ как бы дает какие-то возможности, возможно для каждой игры цвета нужно подбирать отдельно.

Lethargeek
11.02.2017, 23:53
saboteur чёрно-синий же не кошмар... правда, спрайты несколько покрупнее)