![Список форумов shedevr.org.ru](templates/subSilver/images/logo_phpBB.gif) |
shedevr.org.ru Группа перевода приставочных игр "ШЕДЕВР"
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
DanilaZabiaka
Зарегистрирован: 08.11.2020 Сообщения: 29
|
Добавлено: Пн Ноя 09, 2020 10:22 pm Заголовок сообщения: Графоний на старых играх с помощью Retroarch (сборка) |
|
|
Ребят, я вас поблагодарить хотел). Последние месяцы играю в Зельду, прошёл Ораклов, да и вообще знакомство с вашим коллективом началось с 2001 года, когда купил компакт диск с эмулятором приставок
Сейчас Окарину Времени мучать начал
Но когда я недавно возвращался в эмуляцию, начиная с Chrono Cross на PS1, был поражён ужасной графикой, не доставляло, болели глаза
У меня немного матчасти есть, поэтому я в общем добрался до мультисистемного эмулятора Retroarch, забацал шейдер-калибратор графики
В общем, делает картинку мягче, корректируя уровни, сглаживает дизеринг, возвращает ntsc цвета
Скачать можно здесь https://rutracker.org
И да, ретроарч - самая противная софтина в исходном виде, которую я когда-либо видел, руки не доходили настроить 4 месяца
Хотя по идее задумка крутая, что там все платформы в одном месте собрать и на разные системы портировать и куча наворотов
Отдельно шейдер можно скачать вот, кто не хочет сборку качать
https://vk.com/doc275347426_576518143
И сам конфиг-файл, в котором интерфейс настроен и хоткеи и тд
https://vk.com/doc275347426_576518472
А вот Зельда. Тут фиг знает как заметно, но для себя я выбрал играть в оригинальном разрешении 240р. Непривычно играть в Зельду в 3д... Ещё и контроллер пс-подобный, пока не привык
![](https://funkyimg.com/i/38vu5.png) |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
АнС RRC2008
![RRC2008 RRC2008](images/medals/ansmedals.gif)
![](http://shedevr.org.ru/team/ans.gif)
Зарегистрирован: 08.11.2003 Сообщения: 2818
|
Добавлено: Вт Ноя 10, 2020 9:11 pm Заголовок сообщения: |
|
|
Про сам репак ничего не скажу, не вижу проблемы скачать оригинал с полным функционалом, лишние мегабайты - не беда.
Но шейдер ужасный. Зачем такое делать? Это просто вредительство. Глаза от такого зашумленного и одновременно замыленного изображения начинают болеть гораздо раньше, чем без фильтров.
Не похоже, что ты разобрался в матчасти на необходимом уровне. Вот вроде твой набор шейдеров пытается решить 2 извечные проблемы: алиасинг сигнала из-за низкой частоты дискретизации (андерсемплинг пикселей) и бандинг сигнала из-за высокого шага квантования (восьмибитный цвет). И сверху ты ещё подкрутил цвета под свой вкус. Всё ничего, но есть объективные проблемы:
1. Размытие - это простейший, но соответственно самый худший метод анти-алиасинга. Он убирает один тип артефактов (алиасинг/муар) за счёт добавления другого типа артефактов (блур). У разных людей разная терпимость к артефактам скейлинга изображений: кто-то терпимее к алиасингу, кто-то к рингингу, кто-то к блуру. Ты, видимо, привык не замечать блур. Но другим свой взгляд навязывать не нужно. Тем более, когда существуют более совершенные методы антиалиасинга:
* Для 3D-игр надо использовать рендеры с суперсемплингом.
* Для 2D-игр надо использовать постпроцессинг-фильтр на свой вкус. Только не гаус-блур столетней давности, а что-то посвежее, изобретённое в наши годы. Лично мне нравится SMAA, кто-то тащится по пластилиновому xBRZ, а многим хватает и простой билинейки. Но бездумно размывать весь экран - это глупость в любом случае. И уж тем более глупо использовать размытие для 3D-игр. 2. Зачем этот бешеный шум на весь экран? Это намёк на дизеринг? Дизеринг не так работает. Советую почитать "Banding in Games: A Noisy Rant", главная мысль такая: применять шум надо на этапе шейдинга и блендинга примитивов, а не в постпроцессинге. И даже в правильной реализации дизеринга это всего лишь размен артефактов - banding уменьшается, а SNR ухудшается, и обычно люди долго подбирают золотую середину. А у тебя всё совсем плохо получилось: зашумленность сигнала выросла до небес, а бандинг уменьшился незначительно (на градиентах всё равно видны полосы Маха). В топку такое.
3. Тюнинг уровней сигнала, независимо от цветового пространства, - это дело вкуса и личного монитора. Слово "коррекция" намекает будто твой вариант чем-то лучше оригинала, но очевидно, что это не так. Не надо бросаться маркетинговыми фразами. Ссылку на рутрекер удалил. |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
DanilaZabiaka
Зарегистрирован: 08.11.2020 Сообщения: 29
|
Добавлено: Вт Ноя 10, 2020 10:31 pm Заголовок сообщения: |
|
|
>Глаза от такого зашумленного и одновременно замыленного изображения начинают болеть гораздо раньше, чем без фильтров.
Частота генерации шума 60фпс по идее, и в реальной жизни выглядит совсем не так как на скриншоте
Я на CRT телик ориентировался, всё-таки игрушки под него делались. И на реальную жизнь
И что имеем с телика:
Чёткости там особой нет. То есть идеального попиксельного соответствия нет
* Для 3D-игр надо использовать рендеры с суперсемплингом.
* Для 2D-игр надо использовать постпроцессинг-фильтр на свой вкус. Только не гаус-блур столетней давности, а что-то посвежее, изобретённое в наши годы.
Я хрен знает. Я уставший человек, меня от этой навязываемой супер-чёткости, супер-яркости, супер всего просто напросто тянет блевать.
Так вот, хоть сигнал и закодирован в усечённом РГБ, после выхода через композит, он менял свой вид. NTSC преобразвования это и возвращают
Вот ориг
Вот после коррекции
Трава зеленее, плитка желтее, вода синее
Если о реальной жизни говорить, то объекты имеют текстуру определённую. Если же выводить старый графон на HD дисплеях, а не на элт с его резкой сеткой, то получится очень синтетически |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
DanilaZabiaka
Зарегистрирован: 08.11.2020 Сообщения: 29
|
Добавлено: Вт Ноя 10, 2020 10:43 pm Заголовок сообщения: |
|
|
А так, размытие выполняет несколько вещей. Убирает бандинг, сглаживает градиенты, дизеринг тоже компенсирует. И эффект ступенчатости тоже компенсирует
Смысл дизеринга - передать большую палитру цветов, также создаёт некоторую рельефность. В эмулях есть настройка, позволяющая убирать дизеринг, но это плохо сказывается на цветах, получается жёсткий бандинг
Вообще, под видео есть шейдер дебандинга, который компенсирует ступенчатость в результате видеокомпрессии, работает как локальное размытие. Я просто глобальное использую, так как там это особо работать не будет, плюс сам ЭЛТ не суперчёткий и тд.
Также, если о цветах опять говорить, размытие увеличивает палитру, плюс шум цветовой охват опять увеличивает+ |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
DanilaZabiaka
Зарегистрирован: 08.11.2020 Сообщения: 29
|
Добавлено: Вт Ноя 10, 2020 11:08 pm Заголовок сообщения: |
|
|
Есть ещё такая штука, как уровни
За дано известно, что палитра скажем, 15-битная, 0-31 против 0-255
Эмулятор цвета растягивает до 0-255
Современные дисплеи лучше идут в насыщенность и ярче получаются
То есть белый/чёрный на ЭЛТ телике цвет раньше не соответствует скорее всего белому/чёрному цвету на HD дисплеях теперь, хотя бы если брать на учёт плотность пикселей. Раньше сетка цвета приглушала
В общем, если брать ориг, картинка выглядит так
Тут видно, что песок яркий аж жесть
Такую картинку шейдер даёт, уровни несколько урезаны до 10-240, хотя из-за шума +-10 по каналам, всё равно охват будет 0-250, а 10-240 это предварительное пожатие
Также, вот лично мне стало намного лучше, когда я насыщенность дисплея в ГПУ утилите уменьшил, да и белый цвет теплее сделал
Но в шейдере есть возможность уменьшить насыщенность
Картинки сверху могут выглядеть всё равно излишне насыщенными (но не у меня на мониторе), а вот такая если лучше выглядит, то ок
![](https://sun9-12.userapi.com/impg/fnWQEbNhuZY90pfNFfAc9oSMQ1YBPcXbdq6jXg/-b6Ah0BLu5w.jpg?size=1024x768&quality=96&proxy=1&sign=b9f869a5d46d14d3c11d289466bd2311) |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
АнС RRC2008
![RRC2008 RRC2008](images/medals/ansmedals.gif)
![](http://shedevr.org.ru/team/ans.gif)
Зарегистрирован: 08.11.2003 Сообщения: 2818
|
Добавлено: Вт Ноя 10, 2020 11:56 pm Заголовок сообщения: |
|
|
Без фильтров глаза устают быстрее, чем с хорошими фильтрами (SMAA, Bicubic, xBRZ), но с плохим фильтром глаза устают ещё быстрее - главным образом из-за шума, хотя и блур тоже добавляет проблем с распознаванием.
Я для себя тоже мониторы перенастраиваю. Обычно вместо насыщенности лучше уменьшить яркость. Но зачем ты пытаешься впарить личную схему другим? А когда купишь новый монитор, и придётся поменять настройки дисплея в ГПУ утилите и коэффициенты в шейдере - опять всех переучивать будешь? Смешно. Но хотя бы это просто навязывание вкусов, а не вред глазам.
Дизеринг не должен создавать никакую рельефность, он должен быть незаметным для глаза. Его заметность - это нежелательный артефакт. И, кстати, у тебя дизеринга нет, есть только шум, но нет полезного эффекта от него.
Размытие ничего не компенсирует, это просто lowpass-фильтр, который отсекает высокие частоты в сигнале.
Я рассуждаю с позиции теории обработки сигналов и вижу, что ты даже не понимаешь, что эти (полагаю, чужие) шейдеры делают.
У тебя сначала оригинальный сигнал искажается шумом, затем часть шума (вместе с частью оригинального сигнала) отсекается лоупасс-фильтром.
Да, для устранения артефактов видеокомпрессии иногда удаляют часть ошибочного сигнала (появившегося из-за сильной компрессии) с помощью фильтров, простейшим из которых является box blur. Хотя одновременно удаляется часть полезного сигнала, иногда это необходимое зло. Но не в нашем случае. В эмуляторном изображении нет никаких артефактов компрессии, поэтому там не нужно ничего удалять. Требуется только уменьшить алиасинг, и сделать это не варварским методом, а современным. Изучи, какие методы антиалиасинга изобрели за последние 20 лет. Вот их и вставь вместо гаусса. А шум просто убери. Ну а с цветами по желанию. Только тогда сборка имеет право на жизнь. |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
DanilaZabiaka
Зарегистрирован: 08.11.2020 Сообщения: 29
|
Добавлено: Ср Ноя 11, 2020 12:40 am Заголовок сообщения: |
|
|
>Без фильтров глаза устают быстрее, чем с хорошими фильтрами (SMAA, Bicubic, xBRZ)
%) что значит "хорошие", хорошие в чём?
Есть соревнования по чистоте и резкости. То есть ориентируются на то, что чем реще, тем лучше
Но если это не так?
>Но зачем ты пытаешься впарить личную схему другим? А когда купишь новый монитор, и придётся поменять настройки дисплея в ГПУ утилите и коэффициенты в шейдере - опять всех переучивать будешь?
У меня вообще не монитор как таковой, сейчас многие сидят на ноутах или телефонах
Средний пользователь вообще монитор не трогает
Тем более, если говорить о новых пользователях, скажем, детях. Если так глядеть на олдовые игры, то полная жопа получится, хотя такого не было
В своё время когда-то проскакивало, что дело в структуре элт матрицы и на ретроарче полно типа элт шейдеров, которые рисуют сеточку или сканлинии, но в целом от этого тоже глаза устают по мне и вырвиглазные какие-то
Хотя с определённой стороны верно - когда есть сеточка, то и бандинг менее заметен, и чёткость повышается
Сравнение примерно такое
>В эмуляторном изображении нет никаких артефактов компрессии, поэтому там не нужно ничего удалять.
Ну как же) Разработчики сталкивались с жестким ограничением железа...
Скажем тут
У неба дизеринг, у робота бандинг
У плойки всего 1 метр видеопамяти, поэтому там часто в тёмных местах просто сплошной чёрный, чего в реальной жизни нет
У меня он выражен не как нечто, залитое сплошным 0-0-0, а 10-10-10 с рандомным шумом [-10..10]
Не так синтетически. Тоже касается и белого цвета, да и промежуточных
Но взять хотя бы Супер-Марио первого
Разработчики, скажем, передавали небо синим цветом. Если посмотреть же на реальное небо, оно не состоит из сплошного цвета залитого. Вообще, объекты в реальном мире имеют структуру. У элт телика старого была своя структура довольно заметная, плюс шум. На современных HD+ дисплеях, где структура пикселя можно сказать не видна, выводя старый графоний, будет излишняя синтетичность
Шум и призван это снять, да и том, как это выглядет в 60фпс по скриншоту особо не заметно |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
DanilaZabiaka
Зарегистрирован: 08.11.2020 Сообщения: 29
|
Добавлено: Ср Ноя 11, 2020 1:30 am Заголовок сообщения: |
|
|
Вообще, пример работы схожих принципов на видео (дебандинг+шум)
Правда шум тут другой формулой задаётся, несколько получше типа
Видео можно рассматривать как результат сильной компрессии. Реальный мир не состоит из поверхностей, залитых сплошными цветами
Однако, неровности хранить весьма накладно по размеру, поэтому компрессор их преврщает в сплошные поверхности вследствии оцифровки. Ну и ещё блоки даёт
Дебандинг сглаживает блоки, шум восстанавливает естественную шероховатость. Или мимикрирует под плёнку, можно по-разному называть, один фиг, выглядит естественнее
Игровые технари же на естественность забивают, чем чОтче, тем лучше, чем поверхность идеально ровнее, тем круче, чем чёрный чернее, а белый белее, опять же, здорово
Только технарство художественность убивает
Скажем, будет монитор на 255-255-255 светится как сварка. Технари в этом случае "Омайгад, как это круто!"
Только если о передаче оригинальной картинки говорить, когда белый в изображении или игре превратится в 255-255-255, будет скорее всего неправильно
По идее там что-то цветовые профили монитора должны фиксить, но не уверен (я у себя на дисплее уменьшил насыщенность через гпу-утилиту и можно сказать заново видеть начал), да и эмулятор с ними не взаимодействует особо. Чёрный это 0-0-0, белый это 255-255-255, никаких цветовых NTSC преобразований на композите он не учитывает (если о 3D говорить) или цветовой профиль элт телика, под который игры создавались, тоже
Это же непростая задача, хотя на шейдерах или как-то ещё можно фикс сделать. Хотя технари и разрабы опять же, в целом это игнорируют и топят за фильтры с большей чОткостью, резкостью-дерзкостью |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
DanilaZabiaka
Зарегистрирован: 08.11.2020 Сообщения: 29
|
Добавлено: Ср Ноя 11, 2020 2:07 am Заголовок сообщения: |
|
|
Ахда
Ещё прикол в том, что стоковый ретроарч - софтина крайне мудацкая по меркам эмуляторщика-традиционщика. У меня самого до него дошли руки настроить лишь за 4 месяца
Интерфейс там ОГРОМЕННЫЙ с тупейшими подписями. То, что в обычных эмуляторах влезаем в маленькое выпадющее меню, здесь раздуто на весь экран и не может влезть
В обычных эмулях менюшка типа
Video
Audio
Input
Тут же
Video
Change video output settings
Полосы прокрутки нет, под мышку он ваще не заточен. На клавишу escape программа во время эмуляции ваще закроется нахрен, а не вызовет меню. Меню вызывается по F1
Количество файлом там огромное, размер после распаковки вроде ~800 мегабайт, и это без возможности эмулировать. Туча иконок, хрен пойми чего
У разрабов ориентированность на кроссплафтрменность, у них заточка под мобилку
Проект огромный, возможностей потенциально тоже, как и лишнего
Ты тут писал про то, что не стоит навязывать своё мнение пользователям, так у них это на ультрах. Шейдеров там на 100 мегабайт (хотя в основном это картинки), при этом нет предпросмотров, быстрого переключения, делают они хрен пойми чё - юзер же выберет
С клавиатуры по дефолту играть не получится - у них все буквы загажены функциями самого эмулятора, что я убрал. Как будто юзер не играть собирается, а рыскать по менюшкам, переключать функции эмулятора и восхищаться, как это круто что столько опций замучено |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
АнС RRC2008
![RRC2008 RRC2008](images/medals/ansmedals.gif)
![](http://shedevr.org.ru/team/ans.gif)
Зарегистрирован: 08.11.2003 Сообщения: 2818
|
Добавлено: Ср Ноя 11, 2020 2:39 am Заголовок сообщения: |
|
|
Скачешь с темы на тему, как будто это может оправдать тот сумасшедший постпроцессинговый белый шум. Я не буду спорить, что там кому кажется естественней, а трава зеленее. Я больше про матчасть твоего шейдера убиваюсь. Это ж надо такого Франкенштейна соорудить и рекламировать. Перед этим меркнут любые прегрешения авторов ретроарха!
Хорошие фильтры - это те, у которых меньше артефактов после масштабирования изображения. Меньше алиасинга, меньше блура, меньше шума (например, рингинга, если использовался hipass-фильтр) и больше оригинального сигнала.
Например, пиксельную букву А можно увеличить миллионом способов, но хорошими будут только те, которые позволяют распознать эту букву после увеличения так же быстро, как в оригинальном размере. А если при чтении приходится запинаться, вглядываться и задумываться, значит фильтр плохой. И так с распознаванием любых форм, градиентов и прочих видов сигналов.
Резкость помогает часто, но не всегда. Резкость приносит рингинг и алиасинг. Например, у nearest neighbor максимальная резкость, но это плохой фильтр. Из-за алиасинга в увеличенной букве проступают не запланированные дизайнером черты, которые отвлекают на себя внимание, меняют восприятие границ и снижают signal-noise ratio. Только поэтому и борются с алиасингом - потому что приятнее распознавать формы и цвета на лету, а не нагружать мозг работой по отсеиванию сигнала от шума.
Сканлайны - тоже плохой фильтр, хоть и имеющий для некоторых ностальгическую ценность. Ну, примерно как играть на чёрно-белом телевизоре, потому что в детстве был только такой. Надеюсь, скоро все забудут о подобных приколюхах.
Значит, этот дикий шум задумывался не в целях дизеринга, а в целях увеличения детализации? Своеобразный нормал-маппинг для бедных?
Нда, не похоже, чтобы это хоть как-то работало... Пока одни минусы от этого шума, никаких плюсов.
Если разработчики задумали сплошной фон - не надо дорисовывать там белый шум. Вдруг ты этим портишь всю готичность игровой атмосферы? И почему 10-10-10, а не 20-20-20? Почему белый шум, а не синий? Ты просто вносишь какую-то постороннюю идею в дизайн оригинала, а она не встраивается и вызывают отторжение. Например, в Марио теперь кажется, что вся игра происходит на бумажном листе (почти как в Марио 3), даже спрайты кажутся вырезанными из бумаги и наклеенными на фон. Совсем другая игра.
Если при увеличении эмуляторного изображения появляется синтетичность, которой не было до увеличения, то это артефакт, который надо убирать. А вот добавлять синтетичность не надо. |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
DanilaZabiaka
Зарегистрирован: 08.11.2020 Сообщения: 29
|
Добавлено: Ср Ноя 11, 2020 3:25 am Заголовок сообщения: |
|
|
>сумасшедший постпроцессинговый белый шум
-_- он не такой дикий как на скриншотах, мягко говоря. Если в статике (скриншот) это даёт цветовой разброс [-10..+10] на все каналы сразу, то на 60фпс где-то +-5 выглядит, перегенерация идёт каждый кадр. Называть прям диким исходя из статики, это примерно как делать стоп-кадр вращающегося колеса и говорить "какое-то непонятное колесо, непонять куда движется"
Вообще, технари рассматривают пиксельную графику в оригинале, имея в виду, что оригинал - это то, что написано в коде игры, а не связка исходящей графики на телик
>Например, пиксельную букву А можно увеличить миллионом способов
Ну на той же букве А. С точки зрения экономии места в пиксельной графике можно её выразить как нечто нарисованное чёрным по белому. Пусть чёрное 0-0-0, а белое 255-255-255
Если же с художественной точки зрения - если ты нарисуешь её на бумаге карандашём, или кистью, то будет и текстура бумаги, и инструмента, которым рисуешь
Левое изображение "идеализированное", правое несколько охудожественное
>Сканлайны - тоже плохой фильтр
Да не то что, зато объёма добавляет
>Если разработчики задумали сплошной фон - не надо дорисовывать там белый шум
Разработчики таки особенно раньше не синтетические технари были, есть художественная ценность и ограничения объёма. Опять же, делалось под телик
Если ты старому телику говоришь "нарисуй там сплошным фоном небо кароче и Марио из нескольких пикселей", он телик вносит свои коррективы, и фон не такой сплошной, и идеальной пиксельной графики не было. Скорее это и оригинальная задумка, а не когда на эмуляторе на HD экране выводишь изображение с фильтром максимальной резкости
Вообще, у меня приёмчики взяты из работы с видео
Скажем, цветовой охват видео принято считать как 16-235, чтоб естественный диапазон был. У меня это 10-240, который с учётом шума в предельном охвате получается 0-250
Ну и вообще внутри это просто настроенный калибратор, выглядящий вот так, докрутить можно
На левом скриншоте Линк идёт в синтетическую поверхность без объёма, залитую 0-0-0, во втором в какую-то тьму)
![](https://funkyimg.com/i/38yaR.png) |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
DanilaZabiaka
Зарегистрирован: 08.11.2020 Сообщения: 29
|
Добавлено: Ср Ноя 11, 2020 3:34 am Заголовок сообщения: |
|
|
>Например, в Марио теперь кажется, что вся игра происходит на бумажном листе
-_- шум же динамический, а не статический
К слову, у epsxe эмулятора ограничения было - там в gl не было переменной времени или счётчика кадров и динамически шум запустить нельзя
В epsxe шейдерах, кстати, шум был довольно тупой - он вроде только в одну сторону работал (вверх или вниз, не помню), а не +-
Я сначала под epsxe несколько обошёл ограничения - изначально шум для каждого пикселя задаётся малюсенький - где-то +-1
Но дело в том, что на видюхе дискретность не 1-2-3, а 1 записывается в виде числа с плавающей точкой, 1/255. Затем используются цветовые координаты для генерации шума
То есть, если происходит движение на экране - то шум обновляется. А когда нет, получается статический шум |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
DanilaZabiaka
Зарегистрирован: 08.11.2020 Сообщения: 29
|
Добавлено: Ср Ноя 11, 2020 5:22 am Заголовок сообщения: |
|
|
Там, кстати, вообще занятно, как компрессия работает
Скажем, вот "идеальный" марио, синтетический, всё гладко, 194кбайта
Если его пожать гифом, он даст дизеринг, всратенько в чём-то, но прикольно-шероховато-олдово, 63 кбайта
А это как я делаю - с шумом и подстройкой уровней. 653кбайта, в 3 с лишним раза больше, чем оригинал
Если же шумную картинку сжать h264, то получится 11кбайт всего, но утеря шума, ибо компрессия
Если же повторно наложить шум на то, что видеосжатие даёт, получится примерно тоже самое
![](https://i.imgur.com/ANQ2RI3.png) |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
АнС RRC2008
![RRC2008 RRC2008](images/medals/ansmedals.gif)
![](http://shedevr.org.ru/team/ans.gif)
Зарегистрирован: 08.11.2003 Сообщения: 2818
|
Добавлено: Ср Ноя 11, 2020 7:44 pm Заголовок сообщения: |
|
|
Я так понял, ты ни разу в жизни не видел ЭЛТ-телевизор. Размытие там очень небольшое, причём степень размытия меняется в зависимости от интенсивности соседних пикселей. Даже не пытайся сравнивать грубый lowpass-фильтр с эффектом CRT-свечения.
Я и не рекомендую nearest neighbor, повторяю. Я рекомендую современные методы антиалиасинга.
Букву А надо брать не векторную, а увеличивать пиксельную 8x8, и разглядывать её среди сотни других окружающих букв, тогда тест будет релевантным.
В скриншоте Зельды совсем не кажется, что Линк идёт в интересную темноту. Интенсивность шума не меняется от глубины и не реагирует на освещение, иконки интерфейса залиты всё тем же шумом - поэтому шум воспринимается как плоский наложенный постэффект, а не как объёмное текстурирование. И в статике, и в динамике.
В видео хранится информация о свете, попавшем на матрицу, а не о поверхностях. Поверхности и прочее уже придумывает мозг, исходя из световой информации, попавшей на сетчатку.
Твой шум исчезает в h264 из-за bilateral filter, а не из-за сжатия. При желании в h264 могли бы сохранить и шум, но зачем? Нормальные текстуры от фильтров шумоподавления не страдают. Это к вопросу о том, что считается художественным текстурированием, а что помехами. |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
DanilaZabiaka
Зарегистрирован: 08.11.2020 Сообщения: 29
|
Добавлено: Ср Ноя 11, 2020 9:28 pm Заголовок сообщения: |
|
|
Элт то у меня под рукой, да и как не видел, если 27 лет)
>Я и не рекомендую nearest neighbor, повторяю
Это не про букву А? Она и не масштабированная, а просто выполненная в наименее затратной с точки зрения размера бинарной палитре. Справа натурализированная
>как плоский наложенный постэффект
Ну как минимум не плоский, ибо там неравномерное положительно-отрицательное отклонение цвета каждого пикселя. Плоский - это наложение элт сеточки
float pseudoNoise(vec2 co)
{
return fract(sin(dot(vec2(co.x,co.y) ,vec2(12.9898,78.233))) * 43758.5453) ; // возвращает значение от 0 до 1, исходя из двух чисел на входе
}
Есть разные виды шума так-то (в плеере немного по-другому), просто это простейший, шумит и ладно, зато быстро
Затем там эти входные координаты умножаются на остаток от деления счётчика кадров на 120, подставляются в формулу
>антиалиасинга
Разрешение сохраняется оригинальное, 320х240. Ну то есть даже если на входе будет просто изображение (фотография) 320х240, то при растягивании хотя бы до 1366х768, получится склизкость картинки. Добавление того или иного цветового дребезга в картинку уменьшает синтетичность
Да там фиг знает, все вот так топят за "современность", а я особо и не соглашусь, что это круто. То есть смотрел я современные Мортал-Комбаты, свистит-пердит, спецэффектов много, мощностей много, значит ли это, что больше нравится? Да особо то и нет, даже необорот
>Твой шум исчезает в h264 из-за bilateral filter
Не знаю, какой фильтр, но так или иначе компрессия
Допустим, вот скрин с юпупа
Разрешение-то там 1080р, и края то может чёткие. Там мужик на фоне доски стоит, только вот в реальности то она такой склизкой не выглядела бы |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
АнС RRC2008
![RRC2008 RRC2008](images/medals/ansmedals.gif)
![](http://shedevr.org.ru/team/ans.gif)
Зарегистрирован: 08.11.2003 Сообщения: 2818
|
Добавлено: Ср Ноя 11, 2020 10:28 pm Заголовок сообщения: |
|
|
При чём тут наименее затратные по размеру палитры и компрессия? Эти темы никак не касаются вывода эмуляторного изображения на высоком разрешении.
sin() возвращает значение от -1 до 1
Эмулятор генерирует фреймбуфер 320x240, в котором нет незапланированных разработчиком игры артефактов. Артефакты появляются, когда шейдер растягивает эту картинку на 1366х768. В зависимости от выбранного алгоритма артефакты будут разными. Нужно пытаться их минимизировать, а не добавлять новые. |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
DanilaZabiaka
Зарегистрирован: 08.11.2020 Сообщения: 29
|
Добавлено: Чт Ноя 12, 2020 12:07 am Заголовок сообщения: |
|
|
Там через fract, он от 0 до 1 возвращает
>При чём тут наименее затратные по размеру палитры и компрессия?
-_- Я просто транслировал логику, приемлимую в видеоплеерах (коррекция уровней, дебандинг (локальный блур + наложение шума)) в картинку игры, только добавил преобразование ntsc
Компрессия... Да как бы огромную роль играет. Вот Окарина времени весит 32мбайта. Хроно кросс - два диска по 700 метров, плюс-минус
Раньше разработчики были в довольно строгих лимитах, как по мощностям, так и по размеру
Это же свою атмосферность создаёт и свой стиль, необычные методы оптимизации.
Я, к своему счастью, держу себя подальше от кодинга в целом и технарства. Могу оставаться геймером, переживать, наслаждаться, залажу, только когда нужно
>Эмулятор генерирует фреймбуфер 320x240, в котором нет незапланированных разработчиком игры артефактов
Да не верно это. Игра для нормального игрока это ощущения. Хочу мягкости и неторопливого прохождения и любоваться.
На ЭЛТ телике, грубо говоря, получалось любоваться, а тут нет, вот по своему вкусу и настроил
Не я один в таком направлении работал
Скажем, шейдер под Pete OpenGL natural-vision, выполняет размытие, преобразовывает RGB в YIQ, умножает на 1.2 и засовывает обратно в RGB
Это работает. И трава зеленее, и песок песчанее
Под retroarch полно шейдеров, но они в целом вырвиглазны какие-то и подходят для демонстрации картинки
При этом в целом неискушённые пользователи и трогать не будут настройки, оставят билинейное масштабирование и всё, то есть это вполне приемлимо
Я сохраняю билинейку, использую смягчение и гамаю в общем, наслаждаюсь)
Вот пример Vagrant Story
Ориг картинка
Это если дизеринг удалить, видно что жёсткий бандинг. Причём Pete OpenGL2 дизеринг этот удаляет, насколько помню, или при повышении рендеринга, точно не скажу
Это результат шейдера. Лестничный эффект и дизеринг сглажен, выглядит реалистичненько, хмм...
![](https://sun9-37.userapi.com/T6zQct4oSMBeQ5MGeP11lNYe0iFzj6VJSGw9ug/ZOIku6v9cek.jpg) |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
АнС RRC2008
![RRC2008 RRC2008](images/medals/ansmedals.gif)
![](http://shedevr.org.ru/team/ans.gif)
Зарегистрирован: 08.11.2003 Сообщения: 2818
|
Добавлено: Чт Ноя 12, 2020 5:41 pm Заголовок сообщения: |
|
|
Точно, забыл реализацию fract() в glsl.
Про ощущения это бессмысленный разговор без надежды на конструктив. У меня вот ощущения полностью противоположные. А кто-то от сканлайнов прётся, кто-то вообще от инвертированных цветов. Что ставить по умолчанию? Нужны какие-то более-менее объективные мерки. Если бы ты для одного себя сделал это мыло с песком - никаких претензий, глаза твои. А ты пытаешься убедить в это играть других. Хотя с объективной точки зрения этот шейдер даже хуже сканлайнов.
Я могу понять размытие как самый лёгкий метод борьбы со всеми проблемами сразу - с алиасингом, бандингом и дизерингом PS1-игр. Логично, чем меньше сигнала доходит с экрана, тем меньше в нём проблем.
Но когда есть возможность не отсекать часть оригинального замысла разработчиков (высокочастотные детали), а включить суперсемплинг в рендере хотя бы на 2x (неужели комп не тянет?) и отключить PS1-дизеринг (в случае Vagrant Story) - зачем тогда мириться с мылом? Ещё и таким сильным, жесть. Это никак не может быть вариантом по умолчанию.
А от шума пользы нет вообще ни в чём. Ты то про текстурирование говорил, то про дизеринг, то про CRT. Не подтверждается ни одно. Если у тебя ЭЛТ под рукой, объясни, где ты там увидел шум. Я лет 10 сидел за ЭЛТ-монитором. Небольшое размытие было, шума не было. И в качестве дизеринга твой шум не работает: если в третьем скриншоте Vagrant Story удалить только шум - бандинг не появится, зато если убрать PS1-дизеринг и оставить твой шум - бандинг появится.
Про дебандинг видео: теперь я тебя понял, но похоже ты неправильно транслировал логику. Во-первых, в видео это изначально спорный размен бандинга на дизеринг, который никогда не включают по умолчанию, потому что он мешает чаще, чем помогает. Во-вторых, там дизеринг максимально консервативный и локальный (используется детектирование регионов с бандингом, интенсивность дизеринга в каждом регионе своя). Т.е. там умный алгоритм, в результате которого всё равно получается картинка на любителя. А ты хотел заменить это простым шумом на весь экран? Естественно, не сработало. |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
DanilaZabiaka
Зарегистрирован: 08.11.2020 Сообщения: 29
|
Добавлено: Чт Ноя 12, 2020 9:28 pm Заголовок сообщения: |
|
|
>Нужны какие-то более-менее объективные мерки
Усталость -_-.
Специально из-за тебя я отключил все калибровки дисплея (точка белого, насыщенность) и вернул что было
Открыл, к слову, того же супермарио. Без шейдеров, без наворотов
Меня тянет блевать просто напросто
Я не обращал на это внимание раньше. А щас понимаю, какой ад был, и какой ад наблюдают обычные пользователи
Я тут шум уменьшил до 10. Ты же вообще игнорируешь, что статически если смотреть на генерируемый шум, он станет сильно мощнее
Это что-то вроде замедленной съёмки быстро движущихся объектов - ты не улавшиваешь особо их |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
DanilaZabiaka
Зарегистрирован: 08.11.2020 Сообщения: 29
|
Добавлено: Чт Ноя 12, 2020 11:34 pm Заголовок сообщения: |
|
|
>Но когда есть возможность не отсекать часть оригинального замысла разработчиков (высокочастотные детали), а включить суперсемплинг в рендере хотя бы на 2x (неужели комп не тянет?) и отключить PS1-дизеринг (в случае Vagrant Story)
Отключение дизеринга ведёт у уменьшению количества цветов и ступенчатым переходам (бандингу)
Чисто ради прикола запустил дебандинговый шадер на Зельде, да хрень в целом, он для видео катит или играх с высокой графикой
К тому же, сам автор дебандинга предлагает шум накладывать, правда цветной. Я особо по этому не угараю просто и не запариваюсь, у меня обычный бумажный
Тут он сильно просто увеличен
![](https://funkyimg.com/i/38Af8.png) |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
DanilaZabiaka
Зарегистрирован: 08.11.2020 Сообщения: 29
|
Добавлено: Пт Ноя 13, 2020 1:40 am Заголовок сообщения: |
|
|
Вот ещё сравнение стока и калиброванного изображения (нужно смотреть на типичном мониторе с высокой насыщенностью)
Вот понимаешь, с одной стороны тема олдскула популяризируется, а с другой стороны скорее всего не получится. Ну кроме если ты таки приобретёшь оригинальное оборудование, скажем, денди+элт телик
И на юпупах говорят ощущение не то
Но я чё-то не вижу особо движа, что графон-то имеет глаза по жоскому
Это тоже вполне себе технически исследуется и воссоздаётся, кто надо, знает
Скажем посмотри Лапенко на ютубе, там для эффекта старины как минимум видно, что уровни пожаты - нет суперчёрного/белого, цвета мягкие
4:3 формат, нет супер-чоткости изображения
А эмуляторы для привередливых людей, выдавая гипернасыщенную картинку с высокой контрастностью, скорее отпугнут людей
Можно там понтануться суперчотким фильтром масштабирования, но удовольствия это с высокой вероятностью мало принесёт, атмосфера не воссоздатся |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
DanilaZabiaka
Зарегистрирован: 08.11.2020 Сообщения: 29
|
Добавлено: Пт Ноя 13, 2020 2:11 am Заголовок сообщения: |
|
|
Смотря же с телефона, современный ips fullhd, изображения слишком красные
В общем, цвета и естественность очень важны для возможности залипать в старые игрушки "какраньше"
А то так если глядеть, получится, что раньше и трава была зеленее и играть интереснее, а щас "ну и фигня же была, как это можно было"
Но это же возвращается, правда чё-то не пиарят |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
АнС RRC2008
![RRC2008 RRC2008](images/medals/ansmedals.gif)
![](http://shedevr.org.ru/team/ans.gif)
Зарегистрирован: 08.11.2003 Сообщения: 2818
|
Добавлено: Сб Ноя 14, 2020 6:05 pm Заголовок сообщения: |
|
|
Я ж не говорил ничего плохого про калибровки дисплея. Я советовал шум отключить. А без шума сразу отпадёт необходимость в таком сильном размытии.
Конечно ад этот NTSC-фильтр. Все crt-фильтры - это ухудшение видимости из-за карго-культа ностальгии. Слава богу, они везде выключены по умолчанию, и в Ретроархе тоже. Даже не потому, что для любого непосвящённого это выглядит уродливо и быстро утомляет, а просто потому, что у всех посвящённых были разные телевизоры, и каждому хочется именно свой набор артефактов (дрожание, абберации, color bleed, палитра и т.д.), а не усреднённый. Увидев чужой набор, ты как раз и говоришь "ну и фигня же была, как это можно было".
Кстати, билинейку же тоже надо вручную включать. Простая билинейка для масштабирования пиксельарта не предназначена, она служит для интерполяции семплов непрерывной функции (градиентные текстуры), а пиксельарт рисуют как дискретные значения цвета внутри ячеек сетки, и значение между двух соседних ячеек не определено умышленно. Даже сам художник во время рисования уже держит алиасинг в голове, ему алиасинг диктует правила работы и влияет на дизайн. Так что в пиксельарте алиасинг не артефакт, а художественный приём, и бороться с ним следует очень аккуратно - легко можно потерять детали, которые художник закодировал с помощью алиасинга, а не с помощью значений цвета в центрах текселов (на что полагается билинейка).
Так что обычные пользователи наблюдают не тот расплывчатый ад, а просто nearest neighbor. Хотя, как по мне, в наше время, особенно на 4K, уже имеет смысл по умолчанию ставить smoothstep как середину между linear и step, а дальше пусть каждый выбирает что-то из более сложных фильтров, исходя из личных границ терпимости к блуру, алиасингу и т.д.
Помню, раньше, до эпохи шейдеров многие для 2D-игр любили делать "bilinear prescale 2x", то есть вносить в билинейку алиасинг с помощью предварительного nearest-neighbor-масштабирования в 2 раза, потом растягивать билинейкой на экран. Получается то же самое, что smootherstep.
Не вижу проблем с бандингом в Зельде. Лесенки - это алиасинг. Палитра - дело вкуса.
Вот я тоже не знаю, почему про минусы ЭЛТ не любят вспоминать, даже наоборот, некоторые умудряются выставить, например, мерцание как преимущество - из-за него на ЭЛТ нет размытия при плавном преследовании.
Эмуляторы и без темы олдскула нормально себя чувствуют. Они увлекают людей не только ностальгией по детству, а в первую очередь наличием хороших и бесплатных игр, среди которых меньше мусора, чем среди современных. Ностальгия может стать поводом, но её надолго не хватит, если человек не обнаружит, что помимо старых знакомых игр тут есть ещё много такого, чего не было в детстве. |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
DanilaZabiaka
Зарегистрирован: 08.11.2020 Сообщения: 29
|
Добавлено: Вс Ноя 15, 2020 6:49 pm Заголовок сообщения: |
|
|
>Все crt-фильтры - это ухудшение видимости
Да гонеш -_-
Технически вот по пиксельному так изображается: в идеале изображение должно выводиться на экран согласно пикселям
на 1024х768 выводится изображение 1024х768
На элт телик грубо говоря х240 (я не знаю точно как там) выводится х240 изображение
Что занимает оставшуюся часть? Текстура занимает, ну типа такого
Сеточка или линии придают объёмность, т.к. глаз сам достраивает недостающие детали
Хотя, с другой стороны, надо таки учитывать удалённость до объекта. У монитора тоже есть структура пикселя, только она в целом глазу особо не видна. Но если встать вплотную, то разглядишь
С теликом также. То есть даже если супер-точно передать элт телевизор, возможно это будет некорректно с учётом относительного размера. Допустим телик с 1 метровой диагональю с расстояния 10 метров по относительному размеру как телик с 2 метровой диагональю с 20 метров
ЭЛТ шейдеры рисуют довольно агрессивную структуру, она в целом также не выглядела в общем
Да и ты топишь про то что олд игры, это пиксель арт, хотя с учётом восприятия с телика, это не совсем то. Супер-контрастных пикселей там не было
Плюс ещё абсолютизм какой-то с тем, что якобы КАЖДОМУСВОЁНУЖНО, НЕСТОИТНАВЯЗЫВАТЬ
Средний юзер, и я в том числе по большей части берёт и пользуется, тем более сейчас, вот и всё.
>Палитра - дело вкуса.
Людей надрачивают, между прочим корпорации там. Что больше лучше, чем выше разрешение, гигагерцы, тем лучше. Сочнее цвета значит лучше. Они так продают
В принципе, всегда были ретрограды, к которым меня можно отнести, тиа. Типа 64кб хватит на всех. Кони лучше автомобилей
Но я в целом просто пофигист. От перенасыщенной синтетической идеальной супер-картинки меня выстегивает
Говорят у людей депрессия, игровая импотенция и тд - вот в этой синтетичности и дело (в том числе) |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
АнС RRC2008
![RRC2008 RRC2008](images/medals/ansmedals.gif)
![](http://shedevr.org.ru/team/ans.gif)
Зарегистрирован: 08.11.2003 Сообщения: 2818
|
Добавлено: Пн Ноя 16, 2020 9:38 pm Заголовок сообщения: |
|
|
Вот из-за того, что ЭЛТ-шейдеры "рисуют довольно агрессивную структуру", а проще говоря, портят картинку, все остальные шейдеры тоже считаются слишком специфичными, чтобы ставить их по умолчанию. Так и будет nearest neighbor по умолчанию.
А чем раздражает тот скриншот из Марио, который я запостил выше?
Этот фильтр не пытается симулировать ничьи конкретные вкусы, но по крайней мере должен быть неприметным.
Как подобрали оптимальное (по статистике опросов) сочетание артефактов в Mitch filter, там можно было бы, теоретически, подобрать наименее бросающийся в глаза фильтр для скейлинга в эмуляторах.
10 лет назад некоторые западные ностальгаторы боготворили и пытались всюду пропиарить Blargg NTSC Filter с пресетом Composite - тот самый вариант, что ты назвал адом. Хорошо, что среди разработчиков эмуляторов и фронтендов их мало кто принял всерьёз.
Разве не истина, что чем больше гигагерц - тем лучше? При чём тут корпорации, если это закон перехода количественных изменений в качественные.
На сочном мониторе легко сделать цвета менее насыщенными, а вот на блеклом мониторе уже не получится сделать насыщенные цвета.
Игровая импотенция у людей не из-за графики, а из-за геймплея. |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
|
|
Вы не можете начинать темы Вы можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
Powered by phpBB © 2001, 2005 phpBB Group
|