Эмуляция > Эмуляторы консолей 1-4 поколений
NES PAL composite signal simulation Shader for RetroArch
(1/1)
evgs:
r57shell при поддержке feos, HardWareMan и NewRisingSun
написал cg-шейдер для ретроарча, довольно точно имитирующий
артефакты PAL-декодера и палитру NES PAL / Dendy:
https://gist.github.com/realmonster/b89e63d4018eb5bbab62331c42acf9e7

Дефолтные директории, рекомендуемые r57shell:

--- Код: ---\shaders_cg\crt\crt-royale-pal-r57shell.cgp
\shaders_cg\pal\pal-r57shell.cgp
\shaders_cg\pal\shaders\pal-r57shell.cg
\shaders_cg\pal\resources\nes_lut.png

--- Конец кода ---

Видео финальной версии (обычная и смешанная с шейдером CRT Royale):

Шейдер может читать RGB любых ядер арча (не только NES), либо же
считывать RAW из ядра нестопии (аутентичная палитра nes pal/dendy, но требует больше ресурсов GPU)

Для работы в режиме RAW следует убрать комментарий со строки #70:
"\shaders_cg\pal\shaders\pal-r57shell.cg"

--- Код: ---до:
//#define USE_RAW

после:
#define USE_RAW

--- Конец кода ---
При этом в core options нестопии обязательно выставить "RAW" palette
Это довольно сильно нагружает GPU, поэтому можно убрать комментарий со строки #74:

--- Код: ---до:
//#define USE_LUT

после:
#define USE_LUT

--- Конец кода ---
Цвета будут чуть менее точными, но производительность увеличится

Пресет "\shaders_cg\pal\pal-r57shell.cgp" - "чистая" версия, имитирует только PAL-декодер и палитру
Пресет "\shaders_cg\crt\crt-royale-pal-r57shell.cgp" - смешан с CRT Royale

В шейдере также имеются богатые настройки, доступные через UI ретроарча.
Sharpnull:
Не хватает настраиваемого искажения под форму кинескопа и можно довольно точно портить глаза как в былые времена. :)
evgs:
CRT Royale имитирует ЭЛТ-маску, там же можно настроить и геометрию и силу свечения.
Иными словами, вам нужен смешанный пресет (crt-royale-pal-r57shell.cgp)
EVIL:

--- Цитата: evgs от 28 Апрель 2018, 10:59:19 ---CRT Royale
--- Конец цитаты ---
Одно не могу понять, глядя на это демо видео и прочие.
Нахрена все искажают геометрию картинки в этих шейдерах. Да, кинескопы были пузатыми и края не идеально прямые линии, как у жк, но геометрия при том всегда и везде отстроена с завода, поэтому по горизонтали и вертикали всегда прямые линии, а не гнутые сферой, пусть даже края изображения выходят за пределы кинескопа. 
Дичь полнейшая. Такое чувство, что авторы их только на картинках и фотках видели.
Да и зачем тогда существовали изображения и таблицы для настройки.
HardWareMan:
EVIL, я вот тоже пытался объяснять разным людишкам, но они же "лучше помнят как было".
EVIL:

--- Цитата: HardWareMan от 28 Апрель 2018, 16:26:25 ---EVIL, я вот тоже пытался объяснять разным людишкам, но они же "лучше помнят как было".

--- Конец цитаты ---
Ну реально, логично же, что искажение можно увидеть, только если глянуть на него под большим острым углом, но не при обычном использовании.
Ведь даже в каких-то совковых книгах по настройке чертили такое на рисунках

И ровной картинки и пытались добиться, несмотря на ограничения
Но куда не плюнь, а везде вот так и с этого жопа горит.
Если грубо взять скрины и маску, то выводимая картинка должна быть такой

А в реальности так вообще примерно такой

А на кинескопе примерно такой, когда все бордюры уедут за пределы.


Сделать построчную отрисовку линиями

И уже поверх этого маску
[ Указанное вложение недоступно ]

Вот это бы реально был бы "царскиий СиЭрТэ", а не эта жопа, ведь он и в жизни так же строками на маску стреляет, а там уже что получится, а не попиксельно, как уже потом.
Т.е. все эти црт шейдеры - шляпа, а имитация композита в оригинальном посте - годная.
evgs:
Первая картинка - pal-r57shell.cgp (стандартный PAL-шейдер)
Вторая картинка - crt-royale-pal-r57shell.cgp (смешанный с CRT Royale)

Bucky O'Hare - green planet:


Bucky O'Hare - red planet:


Battletoads & Double Dragon character select screen:


Battletoads & Double Dragon level 3-3:


Prince of Persia title


Скриншоты Comix Zone (SMD), предоставленные r57shell:
https://imgur.com/a/cv4eBIV

Первый акт желтой планеты:
Звёзды на бэкграунде, пропускаемые через ПАЛ-фильтр очень интересно начинают артефачить.
Они меняют свой цвет (а тёмно-синие визуально и размер - начинают "пульсировать") при скроллинге
Именно это место интересно тем, что "звезды" скроллятся медленно, поэтому все артефакты удается разглядеть хорошо.
При записи использовалась "сочная" палитра SONY CXA2025AS
Maelstrom:
Круто выглядит! Молодцы.
EVIL:
evgs, А на видео у тебя пузырь и без раздельных строк, а в жизни так не бывает.


Судя по тем скринам, если искажение убрать можно, то хоть чем-то напоминает правду, но строки слишком четкие.
evgs:
Это видео с канала r57shell, автора PAL-шейдера.

--- Цитата ---но строки слишком четкие
--- Конец цитаты ---
Напоминаю, что в UI арча куча настроек для этого шейдера (включая версию с CRT-royale)

P.S: r57shell не является автором CRT Royale
https://github.com/libretro/common-shaders/blob/master/crt/shaders/crt-royale/README.TXT
crt-royale-pal-r57shell.cgp это просто пресет, миксующий оригинальный PAL-шейдер (pal-r57shell.cg) с роялем
HardWareMan:

--- Цитата: evgs от 28 Апрель 2018, 20:15:17 ---Вторая картинка - crt-royale-pal-r57shell.cgp (смешанный с CRT Royale)
--- Конец цитаты ---
Так ЭЛТ показывает только в полной темноте (я про ореолы вокруг ярких элементов). Как часто вы играли перед сушилкой для глаз в полной темноте? Сам эффект люминофоров верный, а ореолы днем практически не заметны. И, кстати, глубокого черного не было: люминофоры темно-серые днем.
EVIL:

--- Цитата: HardWareMan от 29 Апрель 2018, 08:45:21 ---(я про ореолы вокруг ярких элементов)
--- Конец цитаты ---
Эффект же может быть достигнут вообще в любое время. Просто добавь водымелкодисперсной пыли.
HardWareMan:
Осторожнее с выражениями.
Навигация
Главная страница сообщений

Перейти к полной версии