1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление
  2. Пожалуйста, внимательно прочитайте правила раздела.
  3. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление

Палитры старых систем и их использование в графических редакторах

Тема в разделе "Hard & Soft", создана пользователем Gamerun, 8 сен 2025.

  1. Gamerun

    Gamerun

    Хелпер

    Регистрация:
    13 июн 2010
    Сообщения:
    9.221
    Время от времени вспоминаю давнюю идею попробовать что-нибудь нарисовать в пиксель-арте, но с нюансом использования палитр старых систем:
    - IBM PC, CGA: наборы палитр по 4 цвета и палитра в 16 цветов для текстового режима.
    - IBM PC, EGA: 64 цвета.
    - IBM PC, VGA: 16 цветов, 256 цветов, 16-бит (65536 цветов), 18-бит (262144 цветов).
    - PC-88, V2: 512 цветов.
    - PC-88, V3: 16-бит (65536 цветов).

    Если с CGA, EGA, VGA(256) формальных проблем нет, то с наборами цветов более 256 (512, 65536, 262144) оные имеют место быть, так как вместо конкретных цветов с их значениями представлены матрицы:
    [​IMG][​IMG][​IMG][​IMG][​IMG][​IMG][​IMG]

    Теоретически, из таких матриц можно вытащить цвета, однако в PhotoShop и Aseprite берутся только первые 256 цветов, а остальное или игнорируется либо используются цвета из первых 256.
    Пара попыток сделать скрипт-генератор через ИИ также не дала результатов (во вложении) - в последнем разе палитры сгенерировались, однако в Aseprite используются только первые 256 цветов в режиме индексации, а полный набор доступен только в RGB (плюс непонятки как смешивать цвета в средний между ними и переводить в индексированный, один из гайдов показался неочевидным).

    Было бы интересно узнать:
    - Использование полного набора цветов выше 256 в индексированном режиме без прибегания к RGB в том числе смешивание двух разных в один.
    - Наборы цветов и их значения (hex\индекс) выше 256 (512, 65536, 262144), которые примерно близки к таковым у реального железа (IBM PC, PC-88).
    - Техники смешивания цветов в графических редакторах в RGB и индексировании (Photoshop, Aseprite и другие). {Мой частный случай - Photoshop CS3, Aseprite 1.3.15.2}
     

    Вложения:

  2. Dimouse King of Mice

    Dimouse

    Администратор Переводчик

    Регистрация:
    18 апр 2003
    Сообщения:
    36.854
    @Gamerun, выше 256 это же уже не индексированные цвета? Какой смысл там использовать индексы, если можно RGB?
     
    SanTix нравится это.
  3. Gamerun

    Gamerun

    Хелпер

    Регистрация:
    13 июн 2010
    Сообщения:
    9.221
    @Dimouse, у меня была мысль чтобы рисовать используя 8, 16, 256 цветов из диапазона, который был бы на виду и из которого можно брать определенные цвета и при необходимости смешивать их. Для CGA, EGA и PC-88, V2 это имеет значение, ибо никакого RGB/True Color там нет.
    С 16 и 18 бит нюанс с конверсией, хотя этот момент я не сильно пока прорабатывал и не искал примеры/образцы изображений 16-бит в PC-88, V3 как это выглядит вживую.
     
  4. Dimouse King of Mice

    Dimouse

    Администратор Переводчик

    Регистрация:
    18 апр 2003
    Сообщения:
    36.854
    @Gamerun, смутно понял, что ты хочешь, но это лучше программу написать, чтобы она смешивала.
     
  5. SanTix

    SanTix

    Регистрация:
    11 дек 2008
    Сообщения:
    1.423
    В ВГА, насколько я помню, палитра 8-бит тоже индексированная из 24-бит возможных, поэтому не совсем понятно о какой стандартной палитре речь? В большинстве ДОС игр именно палитровка 8-бит и есть, притом палитра в т.ч. и по отдельным цветам могла и динамически меняться для достижения всяких эффектов. Многобитовые палитры в 15 бит и более уже, обычно, просто RGB.

    Фотошоп и иже с ним не умеет палитры более 8-бит. Больше только RGB. Но пиксел арт можно просто рисовать набирая цвета пипеткой из отдельно собранного файла-палитры. Другое дело если это не чистый арт, а нужно потом на ретро-железо это перекинуть, то это уже посложнее.
     
  6. Dimouse King of Mice

    Dimouse

    Администратор Переводчик

    Регистрация:
    18 апр 2003
    Сообщения:
    36.854
    Так если палитра уже собрана, то в чем проблема ее перекинуть? (она же в файле)
    Другое дело, если нужна динамическая палитра, это уже да, посложнее.
     
  7. SanTix

    SanTix

    Регистрация:
    11 дек 2008
    Сообщения:
    1.423
    @Dimouse, это если 8-бит палитра, а ТС писал про 9-бит 512 цветов. 16-бит и 18-бит не палитрованные, насколько я знаю, это RGB типа 5-6-5 и 6-6-6, но тот же фотошоп не умеет в такое. Рисовать-то можно, контролируя, чтобы битность не превышалась но темно будет и в 16 бит с цветовыми искажениями. С учётом того, что градиент кратный, сами цвета накидать в палитру в виде файла можно, но работать с ней будет, наверное, не очень удобно.
     
  8. Dimouse King of Mice

    Dimouse

    Администратор Переводчик

    Регистрация:
    18 апр 2003
    Сообщения:
    36.854
    @SanTix, а палитра 512 цветов где-то использовалась? Это как к ней обращаться, придется как-то байты переразбивать по битам?
     
  9. Jordan 63

    Jordan 63

    Регистрация:
    26 янв 2010
    Сообщения:
    660
    Для хранения одного пикселя нужно 9 бит. На почти всех архитектурах, байт = 8 бит.

    Или какая то доп таблица, больше или меньше 256, которая бы проверяла и хранила бит поиска и каким то образом упаковать 9 бит в 8 бит.

    Или самый простой способ, пиксель это два байта, но тогда перерасход битов.

    Тоже задумался и стало интересно, а правда как?.
    --- добавлено 9 сен 2025, предыдущее сообщение размещено: 9 сен 2025 ---
    Нашёл упоминание.

     
    Dimouse нравится это.
  10. Dimouse King of Mice

    Dimouse

    Администратор Переводчик

    Регистрация:
    18 апр 2003
    Сообщения:
    36.854
    @Jordan 63, хорошее решение, но нужно всё равно выбирать еще и палитру. Хотя, наверное, их не так часто надо менять, можно как-то оптимизировать, если изображение не слишком пёстрое.
    Еще можно битпланами кодировать - сначала идет первый бит по всем пикселям картинки, потом второй и т.д. Но это хорошо работает, если поддержка есть на уровне железа.
     
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление