1. Для общения на форуме, в чате или личной переписке наличие аватара ОБЯЗАТЕЛЬНО!

Файлы dll и графические утилиты на их основе.

Тема в разделе "Модифицирование графики в "Сталкере"", создана пользователем darkstalker8509, 25 май 2014.

  1. darkstalker8509

    darkstalker8509 Гость

    FXAA-Tool

    Описание и установка FXAA-Tool:
    В этом посте, я хочу познакомить вас с одной интересной программой - FXAA-TOOL, которая значительно улучшает картинку в Сталкере. Это та самая, диковинная фишка, о которой я упоминал выше. fxaa-tool - программа добавляющая постэффекты в игру, что позволяет значительно улучшить картинку, даже без установки доп. текстур и шейдеров. На fps влияет довольно сильно, но не всеми и лишь отдельными настройками (об этом ниже), с др. стороны - новые текстуры или шейдеры намного больше влияют на fps, так что в случае слабого компа - выбор за вами, чем его грузить.
    Ключевыми двумя особенностями отличающими эту прогу от знаменитого enb-series Воронцова, является, первое - возможность её настройки в реал-тайм, т.е мы просто включаем игру, а потом сворачиваем её, настраиваем fxaa, а затем вновь разворачиваем игру и смотрим на результат - и так пока не настроим нужную нам картинку. А второе - полная совместимость с dx9 любой игры (за исключением портированных с консолей).

    Ставится всё это очень просто - кидаем содержимое Bin в соотв. папку с заменой. В случае ЗП и ЧН, необходимо кинуть всё это не только в Bin, но и в корневой каталог игры. В случае др. игр - ищем папку с запускающим exe и кидаем туда. Всё это добро работает ТОЛЬКО (!) на dx8-dx9 приложениях, поэтому в случае ЗП и ЧН, выше улучшенного полного освещения не ставим!


    Сайт программы:
    https://www.assembla.com/spaces/fxaa-pp-inject/documents
    С сайта имеет смысл скачивать новую версию только в случае подробных раборов возможностей программы и элементарного знания англицкого.

    Ссылка на скачивание программы со скринами-разъяснениями:
    https://docs.google.com/file/d/0B3y6BjuBxf-6aHQ5anFuN1VKTE0/edit

    Скрины дефолтного ТЧ с настроенным fxaa-tool:
    http://fotki.yandex.ru/users/stalker8509i/view/951269?page=0

    Настройка FXAA_Tool:


    Вкладки программы:
    вкладка Antialiasing - скрин.1 - собственно само fxaa-сглаживание, работает почти во всех играх, возраста после 2003-2004 годов, в тех что раньше. Включать только в случае наличия мощной видеокарты, так как сильнее всего убивает fps, но также и улучшает кач-во картинки.
    вкладка Sharpen - скрин.2 - резкость и точность контуров в игре. Усиливая резкость делает картинку намного чётче, но иногда вызывает артефакты, в случае если игра использует какие-то необычные навороты с графикой (например как в Borderlands). Очень рекомендую здесь бегунок Contour Treshold не доводить хотя бы на два деления до максимума, иначе картинка будет выглядеть как рисованная (хотя иногда это очень интересно смотрится, как в случае с Dishonored).
    вкладка HDR - скрин.3 - ну тут думаю и пояснять не надо. Имейте ввиду, лишь то, что бегунок Power - это общая освещённость, а бегунок Radius - яркость эффекта
    Bloom - скрин.4 - что такое блум, тоже нет смысла пояснять. Снимаем галочку с toogle preset (использовать преднастройки), что позволяет водить бегунки блума - как хочется независимо др. от друга, и настраиваем там всё что угодно. Единственное что надо помнить - блум лучше включить\выключить перед заходом в игру, иначе можно зависнуть.
    Tonemap - скрин.5 - самая интересная вкладка. Тут регулируется общая цветовая гамма игры. Gamma\Explosure\Saturation - настраиваем по вкусу, а вот Bleach лучше уменьшить, иначе будут засветы. Особняком тут стоит Fog - настройка уменьшает или добавляет туман (и его цвет - Fog Color) в игру. При низких значениях сильно замыливает картинку, а при высоких делает картинку слишком контрастной. Fog Color при низких значениях Fog - определяет цвет тумана, а при высоких значениях Fog - какие оттенки и цвета будут обесцвечиваться.
    Technicolor - скрин.6 - рекомендую включать лишь в играх где графика более менее фотореалистична (ну например тот же Fallout, или наш любимый Сталкер). Это оттенки самого освещения (не поверхностей (!) как в случае с tonemap). Здесь "методом научного тыка" можно придать любую атмосферу игре - от осени или зимы, до чего-то мрачного и постапокалиптичного. Amount - насколько эффект "внедряется" в освещение, а Power - собственно сама сила Red\Green\Blue-настроек.
    Sepia - скрин.7 - это что-то вроде палитры от enb-series. Придаёт ещё разные вариации оттенков поверхностей. Рекомендуется использовать ВМЕСТО Tonemap в отдельных играх.
     
  2. darkstalker8509

    darkstalker8509 Гость

    SWEET FX

    Ссылка на скачивание:
    https://docs.google.com/file/d/0B3y6BjuBxf-6V3cweHU4d0tjRXM/edit
    Ссылка на альбом со скринами:
    http://fotki.yandex.ru/users/stalker8509i/view/959050?page=0

    Описание и установка Sweet FX
    Sweet FX - это менее требовательная и соответственно более простая, альтернатива программе FXAA-Tool. Принцип работы тот же что и у FXAA, но из-за кое каких технических различий, применима к большому кол-ву игр. В отдельных примерах (таких как DeusEx HR и Dishonored) просто незаменима, т.к делает картинку в разы более привлекательной чем Fxaa. Вообще Sweet Fx очень дружелюбна ко всему, что созданно на Unreal Engine 3. Для Сталкера можно использовать любой из пресетов, но главная заслуга в настройке "Desaturated", которая сделает картинку как в знаменитом моде Misery, для ЛЮБОЙ версии игры и для ЛЮБОГО мода, исключая, разумеется, те которые уже имеют настройки графики "под Мизери".

    Установка:
    1 - Содержимое папки "установочные файлы" кидаем в папку bin (и ещё в корневой каталог игры, если ставим на ЗП). Для др. игр кидаем в папку, в которой лежит exe-шник, запускающий игру.
    2 - Смотрим в папку со скринами.
    3 - Заходим в папку "пресеты", выбираем там в соответствии с понравившимися скринами, нужную нам папку пресета, а потом содержимое кидаем в папку с устан. программой, подтвердив замену.

    Настройка
    Итак, приступим. SweetFX_settings.txt - это главный файл настроек. Именно в него можно лезть без специальных знаний шейдинга. Он состоит из разделов, главный из которых - "Choose effects" - именно в нём выбирается, какие эффекты будут работать, а какие - нет. Я буду описывать эффекты не специальными терминами, а простым и более менее понятным
    языком, а потому, товарищей "знатоков дела" прошу удалиться и создать собственную тему с "правильным" описанием.
    #define USE_SMAA_ANTIALIASING 0 //[0 or 1] SMAA-сглаживание - напрямую влияет на прорисовку кривых линий в игре, удаляя с них "ступеньки". 0 - выключено, 1 - соотв. включено
    #define USE_FXAA_ANTIALIASING 0 //[0 or 1] Fxaa-сглаживание. Сглаживает засветы и непосредственно блум на поверхностях, устраняя резкие переходы между засветами разной яркости. В игре заметно на поверхностях, освещённых Солнцем.
    #define USE_CARTOON 0 //[0 or 1] Особая фишка именно в sweet fx. Делает все вместе эффекты тонирования (оттенок, гамма и т.д.) более мягкими.
    #define USE_ADVANCED_CRT 0 //[0 or 1] При правильных настройках создаёт эффект как бы просмотра
    телевизора.
    #define USE_BLOOM 0 //[0 or 1] Ну блум он и в Африке блум. ;) Общее для всей картинки "мыльце"
    #define USE_HDR 0 //[0 or 1] HDR - создаёт эффект слепящего солнца или просто придаёт яркости поверхности, зависимой от солнечного света. Крайне рекомендую выставлять в самом Сталке - "r2_tonemap on"
    #define USE_LUMASHARPEN 1 //[0 or 1] Интересный "подвид" резкости изображения. Влияет только на те детали, которые обрабатываются с пом. SMAA_ANTIALIASING и FXAA_ANTIALIASING. Если конфликтует с неправильной настройкой др. эффектов, то в игре будет прозрачная "плёнка" вокруг ветвей деревьев и др. достаточно тонких детелей
    #define USE_TECHNICOLOR 0 //[0 or 1] Дополнительное тонирование. По сути - аналог настройки "оттенок" в фотошопе. Заливает всю картинку опр. цветовым тоном, состоящим из RGB настроек.
    #define USE_DPX 0 //[0 or 1] Настройка альтернативная tonemap. Крайне не рекомендуется использовать их вместе, так как обе отвечают за цветопередачу. DPX состоит из четырёх разделов, в которых цифрами выбирается на сколько уменьшать те или иные характеристики.
    #define USE_MONOCHROME 0 //[0 or 1] Делает изображение чёрно-белым
    #define USE_LIFTGAMMAGAIN 0 //[0 or 1] Увеличивает цветность поверхностей в тени
    #define USE_TONEMAP 1 //[0 or 1] Основное тонирование картинки - собственно само по себе не делает ничего, но включает зависимые от него переменные, о которых речь пойдёт ниже.
    #define USE_VIBRANCE 1 //[0 or 1] "Умная" цветонасыщенность - выборочно увеличивает цветность
    # разно-освещённых участков.
    define USE_CURVES 1 //[0 or 1] Уменьшает (в зависимости от др. настроек) контрастность
    #define USE_SEPIA 1 //[0 or 1] Однотонное тонирование. Отличается от tonemap и technicolor тем, что во-первых жрёт меньше ресурсов, во-вторых использует самую простую схему тонирования, а потому наиболее неестественно выглядит. Но опять же с прямыми руками можно и его в конфету превратить.
    #define USE_VIGNETTE 0 //[0 or 1] Знаменитая виньетка - симулирует боковое зрение. Очень любимый операторами "Топ Гир" эффект - когда вокруг центрального ракурса изображение от центра к краю постепенно затемняется.
    #define USE_DITHER 0 //[0 or 1] Очень спорный эффект, который по идее на старых мониторах (очень старых ! :) ) должен сделать цветность больше чем способен на то монитор, но на деле почти ничего не меняет.
    #define USE_SPLITSCREEN 0 //[0 or 1] Удобная для демонстрации изменений штука. Делит экран на две половины (как именно делит - зависит от настроек) - демонстрируя изображение До и После обработки всеми остальными эффектами

    Фу-ух. Ну все остальные настройки собственно и являются зависимыми от перечисленного выше, а потому подробно все описывать не буду - включаем игру и тупо методом "научного тыка" перебираем всё в описанном текстовом файле, сохраняя изменения. Всё меняется сразу же, просто нажимаем alt+tab. Но кое что поясню:
    Блум ни в коем случае нельзя включать и выключать при запущенной игре - вылет из игры гарантирован, а в некоторых случаях мёртвое зависание всего компа, и уж совсем редко, но бывало - голубой экран (на XP). Отдельно стоит сказать про это:

    Tonemap settings
    #define Gamma 1.00 //[0.000 to 2.000] Увеличивает полутона (гамму) в игре
    #define Exposure 0.00 //[-1.000 to 1.000] Яркость полутонов
    #define Saturation 0.20 //[-1.000 to 1.000] Цветонасыщенность полутонов
    #define Bleach 0.000 //[0.000 to 1.000] Яркость засветов от источников света
    #define Defog 0.000 //[0.000 to 1.000] Увеличение или уменьшение контрастности (проявляется в виде увеличения или уменьшения тумана
    #define FogColor float3(0.00, 0.00, 2.55) Три цифры, отвечающие за настройку оттенка этого самого тумана, регулируя RGB.

    И напоследок хочу обратить внимание, на тот факт, что НА РАЗНЫХ ВЕРСИЯХ WINDOWS всё перечисленно в разной мере влияет на изображение - более мягко на Восьмёрке, чуть менее - на Семёрке и совсем грубо - на XP.
     
    2 пользователям это понравилось.
  3. darkstalker8509

    darkstalker8509 Гость

    ENB-Series и dll-библиотеки.


    Что такое DLL-библиотеки:

    От англ. Dynamic Link Library - «динамически подключаемая библиотека». Попробуем разобраться с этим, на языке простых смертных. (знатоков дела, как всегда прошу проходить мимо, так как пояснять буду своим языком, а не спец. терминами...)В обиходе программисты называют этим термином внутренние ресурсы программы, игры и т.д. Внутри этих файлов находится всё что касается тех самых DirrectX, которые все мы привыкли устанавливать вместе с играми. Тут надо пояснить, что DirrectX - это технологиясоздания и отображения графических эффектов, используемая N-Vidia в своих продуктах, в то время как её противоположность от ATI\AMD Radeon, называется OpenGl. Именно поэтому, есть игры подогнанные под видеокарты N-Vidia, а есть - подогнанные под ATI. Разница в этих самых библиотеках. В случае DirrectX - 8,9,10,11 и т.д., внутри dll-файлов находятся ВСЕ визуально-графические эффекты, от всяких сглаживаний до размытий (блюр и блум) и т.д. Особенностью самого расширения dll является то, что такой файл вовсе не обязательно впихивать в игровой движок, распаковывая и переделывая последний. Именно из-за этого свойства, возможности работать "на ходу" их и прозвали "динамическими библиотеками". Если кто-то уже пробовал ставить выложенные мной выше, fxaa-tool и sweet-fx, то наверняка заметил, что там главным файлом является именно d3d9.dll - т.е. динамическая библиотека. Именно в ней и находятся те эффекты, которые мы редактируем, через меню программ или конфиг-файлы. В самом меню Сталкер, двигая ползунки, мы тоже работаем с такими же, но более сложными библиотеками. Конкретно в Сталкере за эффекты отвечают файлы xrGame.dll и все xrRender_R1-R4.dll. На этом со вступлением закончим.

    Что такое библиотеки ENB-Series и как они работают:

    Скачать нужные enb можно тут - http://enbdev.com/download.htm
    ENB-series - это динамические библиотека, разработанные нашим соотечественником, Борисом Воронцовым, подключаемые к ЛЮБОЙ (!) игре на основе DirrectX-технологии (т.е. только для видеокарт N-Vidia).Принцип работы прост. Мы выбираем нужную d3d9-библиотеку, кидаем её в папку с запускающим игру exe-шником (в случае Сталка - это папка Bin), а далее настраиваем конфигурационный файл в формате ini, который либо сразу будет в скачиваемом архиве вместе с библиотекой, либо появится после запуска игры в нашей папке Bin. К любым библиотекам enb (далее, для сокращения, просто "enb") на сайте автора можно найти готовые настройки и дополнительные эффекты.
    После первого запуска никаких изменений в игре видно не будет, так как по умолчанию все эффекты отключены. Более того, игра может либо вообще не запуститься либо после запуска будет чёрный экран. Происходит такое в случае неправильного подбора самой d3d9.dll, в случае неправильной настройки ini-файла или в случае неподходящего рендера (динамика, статика, улучшенное полное и т.д). И тут есть одно неудобство - подбирать подходящий dll, настройку к нему и рендер в игре придётся "методом научного тыка", так как те dll, которые легко пойдут в одной игре не пойдут в другой.
    Минимальный набор эффектов, которые появляется после добавления enb - это блум и SSAO. Напомню, что блум - в народе мыло - эффект, создающий размытие освещения. Смотрится атмосферно, но очень нереалистичен, а при неправильной настройке ещё и неприятно слепит. Пример:
    1 - без блума - http://fotki.yandex.ru/next/users/stalker8509i/album/436207/view/1007258 2 - с блумом - http://fotki.yandex.ru/next/users/stalker8509i/album/436207/view/1007259

    SSAO - более сложный эффект, а потому более требовательный к системе. Без наличия видеокарты с разрядностью шины более 192 бит, его можно не включать - fps просядет по полной.

    1 - ssao без всех др. эффектов - http://fotki.yandex.ru/next/users/stalker8509i/album/436207/view/1007260?page=0
    2 - ЗП с выкл. ssao - http://fotki.yandex.ru/next/users/stalker8509i/album/436207/view/1007261?page=0
    3 - ЗП с включ. ssao - http://fotki.yandex.ru/next/users/stalker8509i/album/436207/view/1007262?page=0
    Кроме этих двух в enb есть ещё много др. эффектов, о которых мы ещё поговорим.


    Из чего состоит ENB-series:

    Сами enb состоят из следующих компонентов: enb-converter, enb-injector и непосредственно сама библиотека d3d9.dll. Всё перечисленное можно найти там же, на сайте enb. Надо отметить, что конвертер и инжектор, необходимо скачивать отдельно, так как они не входят обычно, в архивы с самим enb. Теперь приступим к разбору. Enb конвертер - это мини-библиотека, без эффектов вообще, предназначенная, для подключения эффектов dx9 к старым играм на основе dx8. Например, хотите, чтобы старый добрый Морровинд или GTA SA, похвастались новыми эффектами? Тогда конвертер просто необходим. В случае нашего Сталка, он незаменим, если мод не поддерживает динамику (как с тот же ЛВР), а хочется при этом красивой картинки на статике (которая и есть dx8 в Сталке). Настраивается с пом. файла enbconvertor.ini
    К некоторым играм подключить новые эффекты, таким образом, не удастся. Для таких случаев и существует инжектор. Он менее удобен чем конвертер, так как требует отдельного запуска с пом exe-шника. Работает также как и конвертер с пом отдельного файла - injector.ini
    И наконец третий компонент - сама d3d9.dll - кладезь всех эффектов, настраивается с пом. файла enbseries.ini и, в случае подключения доп. эффектов, с пом. - effect.txt


    Продолжение следует..... ;)
     

Поделиться этой страницей