User Tag List

Показано с 1 по 10 из 129

Тема: Цветопередача при эмуляции Gigascreen/Gigascreen+

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11

    Регистрация
    16.09.2005
    Адрес
    Дзержинск (DustCity)
    Сообщений
    919
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    установить герцовку в 100гц, но при этом по два раза показывать каждый спековский экран?! поидее должны получать 50гц...
    Честно говоря есть много других дел это во первых, во вторых уже достигнуто оптимальное ибображение. Во вторых дел еще и других много...
    установить разрешение 800х600 и делать увеличение х2 или может даже еще меньше и отдать на откуп устройству вывода "размазываение/масштабирование" пикселей?! в этом случае на crt'шках будет родной спеку сканлайн со всеми его свойствами...
    Для TFT как ни сглаживай, все равно лажа будет, ибо имеем дело с физической матрицей пикселей (большинство дизайнеров предпочитают CRT) уже реализовано... и причем давно, только на CRT это действительно помогает, а на TFT выглядит только хуже чем необработанное изображение. (отсюда наверняка и мнение что встроенные фильтры нафиг не использовать, а на самом деле виновник - TFT )

    Добавлено через 14 минут
    Кстати если в предложенных вариантах сменить параметры фильтрации
    filter=1 или 2, на CRT мониторах получается достаточно похожее изображение как на мониторе (не видно квадратности пикселов)

    Привожу алгоритм получения конечного результата:

    Если рассмотреть уровни цветов на результирующей картинке то возможны следующие варианты смешения

    00 - черный+черный
    n0 - no_bright+черный
    b0 - bright+черный
    nn - no_bright+no_bright
    nb - no_bright+bright = bn - bright+no_bright
    bb - bright+bright

    Исходя из этого нам необходимо построить таблицу значения результирующей яркости
    для вариантов сложения цветов (0..15)х(0..15) - 0..7 - цвета без яркости, 8..15 - цвето со включенной яркостью.

    В результате имеем таблицу palette[0..15][0..15]:


    Умножая битовую раскладку каждой из компонент R,G,B на значение из таблицы получаем искомый результат.
    Битовая раскладки:

    arr_bit_r:array[0..15] of byte =(0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1);
    arr_bit_b:array[0..15] of byte =(0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1);
    arr_bit_g:array[0..15] of byte =(0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1);

    подпрограмма получения цвета точки:
    R:=arr_palette[index_color0*arr_bit_r[index_color0],index_color1*arr_bit_r[index_color1]];
    G:=arr_palette[index_color0*arr_bit_g[index_color0],index_color1*arr_bit_g[index_color1]];
    B:=arr_palette[index_color0*arr_bit_b[index_color0],index_color1*arr_bit_b[index_color1]];

    где index_color0, index_color1 - значение цвета компонент с первого и второго экрана в виде BCCC, где ССС - цвет 0..7, B - режим bright 1/0
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	zx_palette.gif 
Просмотров:	712 
Размер:	13.3 Кб 
ID:	8175  

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. либа для эмуляции z80, v0.1
    от boo_boo в разделе Эмуляторы
    Ответов: 27
    Последнее: 24.08.2010, 22:37
  2. GIGASCREEN
    от breeze в разделе Изображение
    Ответов: 16
    Последнее: 13.07.2007, 12:09
  3. Способ эмуляции TR-DOS
    от Raydac в разделе Эмуляторы
    Ответов: 1
    Последнее: 26.01.2007, 12:39
  4. насчет эмуляции ULA
    от boo_boo в разделе Эмуляторы
    Ответов: 12
    Последнее: 20.01.2007, 01:25
  5. Вопрос чайника: что такое Gigascreen и multicolor?
    от BYTEMAN в разделе Графика
    Ответов: 13
    Последнее: 14.08.2006, 17:17

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •