Важная информация

User Tag List

Страница 2 из 4 ПерваяПервая 1234 ПоследняяПоследняя
Показано с 11 по 20 из 38

Тема: Программная реализация noflic для gigascreen

  1. #11
    Master Аватар для Epsilon
    Регистрация
    22.01.2013
    Адрес
    г. Уфа
    Сообщений
    543
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    12
    Спасибо Благодарностей получено 
    41
    Поблагодарили
    14 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Реализация в Unreal уже есть, она вполне корректная и цвета получаются естественные. Осталось только найти это место в исходниках или ещё где-то отковырять.

  2. #12
    Banned
    Регистрация
    28.12.2012
    Адрес
    Leesburg, VA, USA
    Сообщений
    974
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Код:
    // 2x 32bit
    void render_2x(u8 *dst, u32 pitch)
    {
    	if (!conf.noflic)
    	{
    		u32 *src = (u32*)vbuf[vid.buf];
    		src += conf.framex * 2;
    		src += conf.framey * VID_WIDTH * 2;
    	
    		for (u32 i=0; i<conf.frameysize; i++)
    		{
    			memcpy (dst, src, pitch); dst += pitch;
    			memcpy (dst, src, pitch); dst += pitch;
    			src += VID_WIDTH * 2;
    		}
    	}
    
    	else	// noflic
    	{
    		RGB32 *src1 = (RGB32*)vbuf[vid.buf];
    		src1 += conf.framex * 2;
    		src1 += conf.framey * VID_WIDTH * 2;
    		RGB32 *src2 = (RGB32*)vbuf[vid.buf^1];
    		src2 += conf.framex * 2;
    		src2 += conf.framey * VID_WIDTH * 2;
    		
    		for (u32 i=0; i<conf.frameysize; i++)
    		{
    			RGB32 *src11 = src1;
    			RGB32 *src22 = src2;
    			u8 *dst1 = dst;
    			for (u32 j=0; j<(pitch/4); j++)
    			{
    				RGB32 p1 = *src11++; RGB32 p2 = *src22++;
    				*dst++ = (p1.b + p2.b) >> 1;
    				*dst++ = (p1.g + p2.g) >> 1;
    				*dst++ = (p1.r + p2.r) >> 1;
    				dst++;
    			}
    			memcpy (dst, dst1, pitch); dst += pitch;
    			src1 += VID_WIDTH * 2;
    			src2 += VID_WIDTH * 2;
    		}
    	}
    }

  3. #13
    Master Аватар для Epsilon
    Регистрация
    22.01.2013
    Адрес
    г. Уфа
    Сообщений
    543
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    12
    Спасибо Благодарностей получено 
    41
    Поблагодарили
    14 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    TSL, огромное спасибо!

  4. #14
    Sinclair User Аватар для Eltaron
    Регистрация
    16.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,045
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    143
    Спасибо Благодарностей получено 
    463
    Поблагодарили
    326 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Обычный motion blur, в общем.
    Граф Дракула наш кумир, патамушта он вомпир!
    VKINK 9 : BORDER NOT PI

  5. #15
    Veteran Аватар для ZXMAK
    Регистрация
    30.01.2006
    Адрес
    Харьков
    Сообщений
    1,405
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    20
    Поблагодарили
    14 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Epsilon Посмотреть сообщение
    Реализация в Unreal уже есть, она вполне корректная и цвета получаются естественные. Осталось только найти это место в исходниках или ещё где-то отковырять.
    Да она во всех эмуляторах есть, что там смотреть - просто среднее значение пикселов от последних двух кадров, для каждого компонента цвета y=(y&#185;+y&#178/2
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  6. #16
    Banned
    Регистрация
    28.12.2012
    Адрес
    Leesburg, VA, USA
    Сообщений
    974
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ZXMAK Посмотреть сообщение
    просто среднее значение пикселов от последних двух кадров
    Exactly!

  7. #16
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #17
    Veteran Аватар для Kakos_nonos
    Регистрация
    26.12.2010
    Адрес
    Кубань
    Сообщений
    1,153
    Спасибо Благодарностей отдано 
    33
    Спасибо Благодарностей получено 
    39
    Поблагодарили
    23 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Да, надо брать среднее от двух показанных кадров, а не 5-ую и 7-ую страницу.
    Так как там что-то рисуется в процессе, и мы будем это видеть, а видеть не должны.

  9. #18
    Master Аватар для Sandro
    Регистрация
    20.01.2010
    Адрес
    г. Зеленоград
    Сообщений
    590
    Спасибо Благодарностей отдано 
    27
    Спасибо Благодарностей получено 
    211
    Поблагодарили
    115 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Только всё же надо делать гамма-коррекцию. Простое усреднение даёт заметно более тёмные цвета. Я только что соорудил у себя в эмуляторе БК антифликер -- и могу сказать, что без гамма-коррекции цвета заметно не те, какие должны быть. Это заметили все, кому показывал версию с простым усреднением.

  10. #19
    Master Аватар для Epsilon
    Регистрация
    22.01.2013
    Адрес
    г. Уфа
    Сообщений
    543
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    12
    Спасибо Благодарностей получено 
    41
    Поблагодарили
    14 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sandro Посмотреть сообщение
    Только всё же надо делать гамма-коррекцию. Простое усреднение даёт заметно более тёмные цвета. Я только что соорудил у себя в эмуляторе БК антифликер -- и могу сказать, что без гамма-коррекции цвета заметно не те, какие должны быть. Это заметили все, кому показывал версию с простым усреднением.
    Было бы интересно как-то сравнить изображение с ТВ и с монитора...
    Делаешь новую игруху под спектрум или ищешь "новьё"? Загляни сюда zxonline.net. Если хочешь просто поиграть в классику - то сюда viva-games.ru,

    ZX Spectrum forever

  11. #20
    Master
    Регистрация
    03.07.2021
    Адрес
    г. Кировск
    Сообщений
    905
    Спасибо Благодарностей отдано 
    75
    Спасибо Благодарностей получено 
    205
    Поблагодарили
    153 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Epsilon Посмотреть сообщение
    Было бы интересно как-то сравнить изображение с ТВ и с монитора
    Весь прикол в том, что на разных мониках/телеках вывод с реала "моргает" по-разному.
    Обусловлено это, в том числе, и отличающимися уровнями RGB-сигналов на выходах с реала.
    Где-то одна схема, где-то другая, где-то резисторы не такие... в итоге моргает не совсем одинаково.
    А при выводе черно-белого сигнала эти псевдоцвета вообще до эпилепсии могут довести =)

Страница 2 из 4 ПерваяПервая 1234 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Программная модель Intel 8080/КР580ВМ80А
    от svofski в разделе Эмуляторы отечественных компьютеров
    Ответов: 6
    Последнее: 18.08.2016, 00:24
  2. Ответов: 3
    Последнее: 29.05.2013, 18:03
  3. Режим Noflic в UNreal: Есть ли железный прототип?
    от jerri в разделе Изображение
    Ответов: 1
    Последнее: 14.03.2010, 12:48
  4. Цветопередача при эмуляции Gigascreen/Gigascreen+
    от pulsar в разделе Эмуляторы
    Ответов: 128
    Последнее: 30.06.2008, 12:02
  5. Программная документация.
    от fk0 в разделе Программирование
    Ответов: 7
    Последнее: 19.01.2006, 16:53

Ваши права

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