Несколько раз пытался пощупать БЭМ , но порог входа довольно высок, поэтому раз за разом бросал это дело, хотя внутренне понимал, что рациональное зерно в этом есть. На этот раз решил погрузиться полностью и попробовать собрать проект на полном стеке технологий БЭМ

Классическим способом установки, который крайне рекомендуют авторы БЭМ является клонирование некого каноничного репозитария с расово верным дефолтным проектом project-stub .

Но это не мой метод — я предпочитаю понимать, что я делаю, а не копипастить какие-то непонятные решения, которые магическим образом работают, но только непонятно как. Поэтому попробую шаг за шагом установить все библиотеки и зависимости с нуля и заодно пройтись по всем граблям. Полагаю это будет способствовать более глубокому пониманию внутренностей БЭМ , что собственно мне и нужно.

Подготовка проекта

Технология БЕМ реализована на javascript, поэтому для нашего проекта подготовим package.json

1
$ npm install enb-bem-techs --save-dev
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
/**
* Подключаем требуемые технологии
*/
var techs = {
fileProvider: require ("enb/techs/file-provider" ), // источник исходных данных - файл
bemhtml: require ("enb-bemxjst/techs/bemhtml" ), // поддержка bemhtml
bemjsonToHtml: require ("enb-bemxjst/techs/bemjson-to-html" ) // преобразование bemjson -> html
},
enbBemTechs = require ("enb-bem-techs" )

/**
* Непосредственно конфигурация
*/
module .exports = function (config ) {
/**
* Указываем по каким путям мы будем искать исходники для сборки
* В нашем случае это папки "*.bundles/*"
*/
config.nodes("*.bundles/*" , function (nodeConfig ) {
/**
* Добавляем используемые технологии
*/
nodeConfig.addTechs([
,

/**
* Генерация из bemjson -> bemdecl - т.е. из исходного bemjson-а
* вытаскиваем все используемые блоки в отдельный файл.
*/
,
/**
* Генерация из bemjson -> deps - т.е. из исходного bemjson-а
* вытаскиваем все используемые зависимости в отдельный файл.
*/
,

/**
* Не совсем понял, что делает эта технология - вроде как
* объединяет сгенерированные файлы
*/
,

/**
* Указываем откуда брать исходную информацию.
* В данном случае используем файл и именно файл
* с расширением.bemjson.js
* Знак вопроса заменяется на имя бандла
*/
,

// https://github.com/enb/enb-bemxjst/blob/v4.1.0/api.ru.md
,

// ну и указываем, что из bemjson-а мы будем генерировать HTML
,
]);

nodeConfig.addTargets(["?.html" ]); // мы генерируем только html
});
};

Тестовый бандл

Создадим папку для нашей первой страницы

1
$ mkdir -p desktop.bundles/index

Для простоты будем использовать только desktop.bundles . Такое именование папок принято в БЭМ , поэтому буду придерживаться именно его, а не изобретать свой велосипед.

Ну и внутри созданной папки создадим файл index.bemjson.js со следующим содержимым:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
module .exports = {
block: "page" ,
content: [
{
block: "header" ,
content: [
"header content goes here"
]
},
{
block: "content" ,
content: [
{
tag: "p" ,
content: [
"main content" ,
]
},
]
},
{
block: "footer" ,
content: [
"footer content goes here"
]
}
]
};

И запускаем билд

1
2
3
4
5
6
7
8
9
10
11
./node_modules/.bin/enb make
10:05:31.270 - build started
10:05:31.283 - file-provider
10:05:31.289 - levels
10:05:31.290 - bemjson-to-bemdecl
10:05:31.294 - deps
10:05:31.295 - files
10:05:31.295 - files
10:05:31.563 - bemhtml
10:05:31.594 - bemjson-to-html
10:05:31.596 - build finished - 388ms

На выходе мы получили кучу промежуточных файлов ну и вожделенный index.html , ради которого всё и затевалось. Взглянем на него.

1
2
3
4
5
6
7
<div class ="page" >
<div class ="header" > header content goes herediv >
<div class ="content" >
<p > main contentp >
div >
<div class ="footer" > footer content goes herediv >
div >

Всё в соответствии с исходным bemjson -ом.

Итого

Ну что сказать — для начала неплохо. Как минимум оно работает.
В общем и целом для минимального старта необходимы следующие пакеты.

  • enb-bem-techs (https://github.com/enb/enb-bem-techs)
  • enb-bemxjst (https://github.com/enb/enb-bemxjst)

Нужен так-же конфиг для ENB — .bem/make.js

Без этого минимума сборка каких-бы то ни было HTML файлов видимо невозможна.

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

Твитнуть

Предисловие

Прогресс неумолим - каждый год качество графики в играх все ближе к той, что мы видим в реальности и фильмах.

Достигнем ли мы когда-нибудь того момента, когда игры будут совершено неотличимы от фильмов? Безусловно, да.

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

Нет, это не фотография. Умельцы модифицировали игру GTA IV (вышла в 2008 году, между прочим!). Немалую роль сыграло дополнение ENBSeries.

Разработчики свои старые игры редко обновляют. Если это все-таки происходит, то изменений минимум: добавляют в название модное словечко «HD» или «Enhanced Edition» («Расширенное издание»), ставят более четкие текстуры и… все. Например, вот так выглядит Resident Evil 4 Ultimate HD Edition по сравнению с обычной версией:

Улучшенные текстуры (слева), конечно, хорошо, но реализация так себе. Текстуры все равно недостаточно четкие, чтобы скрыть огрехи.

Даже такая модификация - к лучшему. А что делать, если HD-версии вашей любимой игры нет? К счастью, это поправимо.

Способы улучшить графику в играх

Способов улучшить графику игры несколько.

1. Собственные настройки игры

В стиле Капитана Очевидность сообщаю: каждая игра для компьютера имеет собственные настройки графики. Это сделано для того, чтобы можно было комфортно играть на компьютерах невысокой производительности. Кто хочет на рассвете видеть красивые лучики света с небес, отражающиеся на капельках росы придорожных трав дорог Тамриеля, реалистичные тени и блики от огня, да еще чтоб все это не тормозило, берут компьютер помощней или выходят на улицу. Если ваш компьютер «офисного» уровня, придется отказаться от красот и ставить настройки на минимум - все размыто и примитивно, зато игра работает без зависаний.

Игра на максимуме графических настроек не тормозит? Поздравляем - видеокарта и процессор справляются с нагрузкой, можно улучшать графику сторонними средствами.

2. Настройки драйвера видеокарты

С помощью nVidia Control Panel (по-русски «Панель управления nVidia»), Catalyst Control Center или Панели управления графикой и медиа Intel (все зависит от производителя видеокарты) можно принудительно выставить некоторые настройки игр, если в самой игре они не меняются или вовсе нет таких опций. К сожалению, возможности ограничены. Нам доступны настройки сглаживания пикселей, анизотропной фильтрации (четкости дальних текстур) и mip bias (тоже отвечает за четкость текстур, объектов), некоторые другие. На практике пригождается лишь принудительное включение сглаживания, если в игре такой опции нет.

3. SweetFX - набор фильтров

Представьте себе, что картинка игры - это видеозапись, на которую можно наложить эффекты. Примерно так действует SweetFX.

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

SweetFX (FXAA Post Process Injector, альтернатива - FXAA Tool) - набор фильтров (так называемых шейдеров), накладываемых поверх картинки игры. С помощью SweetFX нельзя сделать воду реалистичней или заставить персонажей отбрасывать нормальные тени, нет. Зато можно наложить целый ряд эффектов, которые улучшают картинку в общем:

  • Включить сглаживание пикселей даже в тех играх, которые в принципе такое не поддерживают (FXAA и более совершенный SMAA методы). Пиксели на экране перестанут быть заметны.
  • Сделать картинку четче фильтром резкости.
  • Добавить эффект «виньетки» - затемнение картинки у краев экрана. Такой прием концентрирует взгляд на центр экрана и добавляет эффект объема.
  • Настроить яркость, контраст, цветовую гамму картинки. Если игра раздражает вас каким-то оттенком - просто уберите его.
  • Добавить эффект «bloom» («блюм») - свечение вокруг ярких источников света.
  • Сделать псевдо-HDR картинку - когда темные и светлые участки картинки одинаково детализированы, что более естественно для нашего с вами зрения.
  • Комбинацией различных фильтров добиться тех же эффектов, как, например, у фотографий в Instagram.

Самое главное - все это не тормозит! То есть, в принципе, это дает нагрузку на процессор и видеокарту, но незначительную, если все настроить грамотно.

Обновление от 6.08.2018: Теперь вместо SweetFX используют . Возможностей больше, настраивать проще (прямо в игре).

4. ENBSeries

  • качественное сглаживание пикселей,
  • реалистичные отражения,
  • правдоподобные тени,
  • световые эффекты (красивые световые ореолы вокруг ламп, солнца, качественный блюм, лучи света в листве и так далее),
  • эффект адаптации к свету, имитируя реакцию наших глаз - при выходе из темного помещения на свет несколько секунд картинка будет яркой и наоборот,
  • эффект фокусировки - при взгляде на близкие объекты задний план будет размыт.

Все эффекты детально настраиваются. Можно добавить свои, если умеете создавать шейдеры.

Возможностей у ENBSeries - вагон и сто тележек. К сожалению, ENB сильно нагружает видеокарту компьютера, поэтому все эффекты разом можно включить только на современном компьютере с дорогой видеокартой.

5. Патчи для игр и ручное редактирование настроек

Иногда разработчики сами выключают какие-либо эффекты. Например, популярная игра Watch Dogs на выставке E3 в 2012 году вызвала самый настоящий восторг своей революционной графикой. На выставке E3-2013 игра избавилась от части эффектов, а в 2014 году игроков ожидал неприятный сюрприз - игра выглядела еще более блекло. Вот сравнение игры по годам, от выставок до финальной версии на современных игровых приставках:

Правда, есть и другое мнение - мол, на выставках показывали самые впечатляющие моменты игры, в финальной версии в точно таких же ситуациях (совпадение времени суток, погоды, места) игра выглядит точно так же, как в 2012-м.

Как бы то ни было, энтузиасты находят заблокированные опции в коде игр и включают их, делая графику более реалистичной. Не буду приводить ссылку на патч для Watch Dogs по вполне понятным причинам, говорю лишь его название: TheWorse Mod for Watch_Dogs.

Вы всегда можете воспользоваться Гуглом, чтобы найти патчи и советы по улучшению графики для ваших игр. Также обращаю ваше внимание на сайт WideScreen Gaming , посвященный способам запуска игр на современных широкоэкранных мониторах и многомониторных конфигурациях. Проще говоря, там есть база патчей, позволяющих запустить старые игры в современном экранном разрешении.

SweetFX

Самый простой и интересный метод улучшения графики игр - воспользоваться SweetFX.

Устанавливаем SweetFX

Приступим к улучшению графики. Начнем с простого - установки SweetFX.

Возможно, с момента написания статьи вышла новая версия, так что можно глянуть официальный сайт.

Шаг 1. Распаковываем загруженный архив SweetFX-Configurator_standalone_with_SweetFX_1.5.1.7z в любую папку. Проще всего в папку «Документы».

Если архив не открывается, значит, у вас не установлена программа-архиватор. Рекомендую 7-zip .

Шаг 2. В распакованной папке находим программу SweetFX_config.exe .Создаем для нее ярлык на Рабочем столе, чтобы не пришлось каждый раз открывать папку.

Шаг 3. Чтобы внедрить эффекты в игру, наконец-то запускаем SweetFX_config и нажимаем Add new game:

Для наглядности я решил облагородить старую, но интересную игру GTA: San Andreas . Добавив ее в список, устанавливаем SweetFX кнопкой «Add SweetFX «. Все нужные файлы скопируются в папку игры, в окне появятся настройки:

Чтобы настройки сохранялись автоматически, ставим галку на «Automatically save on changes «.

Каждый эффект включается галкой. Все детально настраивается: достаточно выделить фильтр мышкой - ниже появится список его настроек.

Несколько советов по настройке каждого эффекта:

  • В описании присутствуют минимальные и максимальные значения параметра.
  • В описании в квадратных скобках приведено стандартное значение параметра.
  • Значение выставляется вручную, причем можно вводить и дробное значение, используя точку (не запятую!) .

Для просмотра изменений игру перезапускать не нужно. Можно ее свернуть, отредактировать настройки в SweetFX Configurator и снова развернуть - эффект применяется сразу. Если что-то не так, кнопка клавиатуры «Pause/Break» вручную перезагрузит настройки. А «Scroll Lock» выключает и включает SweetFX.

Описание фильтров SweetFX

Если вы знаете английский - прекрасно. Если нет - ниже вы найдете перевод каждого названия.

1. SMAA Anti-Aliasing: сглаживание изображения, используя метод SMAA.

Чтобы показать, что такое сглаживание пикселей, подготовил для вас наглядную анимацию на примере игры GTA San Andreas (кстати, SweetFX работает и с GTA 5):

Отдельные пиксели почти не видны, резкие линии сглаживаются.

Стандартный (и популярный) метод сглаживания MSAA работает топорно, но качественно: картинка игры просчитывается видеокартой в разрешении несколько раз большем, чем разрешение вашего монитора, затем уменьшается. Высокое качество - пиксели не видны, картинка четкая - достигается путем громадного количества вычислений, которые не каждая видеокарта способна выполнить.

Чтобы лишний раз не нагружать видеокарту, придумали методы сглаживания картинки без масштабирования - FXAA и более совершенный SMAA. К сожалению, SweetFX сглаживает сразу все изображение на экране, поэтому все надписи немного искажаются. Если выделить строчку SMAA и параметру SMAA_CORNER_ROUNDING (сила сглаживания углов) установить максимальное значение 100, это искажение будет очень заметно, зато картинка станет очень «гладкой».

Тем, кому на четкость шрифтов в играх наплевать (как мне), советую следующий рецепт: выключите в игре стандартное сглаживание (чтобы снизить нагрузку на видеокарту и повысить частоту кадров), включите SMAA , параметры эффекта поставить на максимум:

  • SMAA_THRESHOLD: 0.05
  • SMAA_MAX_SEARCH_STEPS: 98
  • SMAA_MAX_SEARCH_STEPS_DIAG: 16
  • SMAA_CORNER_ROUNDING: 100

Это избавит наши глаза от созерцания резких линий и торчащих отовсюду пикселей, но сделает картинку немного размытой. Включите эффект резкости LumaSharpen - излишняя размытость исчезнет.

Справедливости ради замечу, что сразу после установки SweetFX эти эффекты включены. Я лишь советую выставить настройки сглаживания на максимум и выключить в игре встроенное сглаживание, чтобы частота кадров оставалась высокой.

2. FXAA Anti-aliasing: предок сглаживания SMAA. Размывает изображение сильнее, края сглаживает не так эффективно. Забудьте про этот пункт.

3. Explosion: «взрывает пиксели». Единственный параметр эффекта - Explosion_Radius - регулирует силу эффекта.

Зачем нужен - не знаю.

4. Cartoon: эффект рисованной картинки. Конечный результат сильно зависит от других эффектов (SMAA, CRT, Bloom, HDR и Lumasharpen):

Эффект SweetFX Bloom имеет три параметра:

  • BloomThreshold - чем меньше значение, тем более темные участки захватываются эффектом. При нулевом значении экран почти весь белый.
  • BloomPower (от 0 до 8) - сила свечения.
  • BloomWidth (от 0 до 1) - ширина свечения.

Я чаще всего ставлю значения 40, 8 и 1 - картинка становится яркой, «сочной» в излишне темных играх.

7. HDR : псевдо-HDR эффект. Эффект позволяет видеть очертания очень ярких и очень темных предметов. Настройки по умолчанию почти не изменяют изображение:

Чтобы усилить эффект, я увеличил параметр HDRPower на единицу:

Теоретически, светлые участки должны стать темнее, темные - светлее. Но так как это псевдо-HDR, картинка просто становится более контрастной. Данный эффект полезен в играх, картинка которых не контрастна.

8. LumaSharpen - эффект резкости. Включен по умолчанию. Имеет два параметра - sharp_strength и sharp_clamp. Первый - сила эффекта, второй - ограничитель эффекта. Стандартные значения вполне оптимальны - немного четкости без фанатизма.

9. Levels - эффект, подстраивающий яркость изображения. Бесполезен, потому что работает топорно, в отличии от такого же эффекта в программе Photoshop.

10. Technicolor - эффект, позволяющий имитировать съемку старой камерой. Полезен, если нужно придать изображению какой-нибудь оттенок. При настройках по умолчанию немного снижает цветность и придает черному синий оттенок.

11. Cineon DPX - эффект, аналогично предыдущему имитирующему съемку камерой, но реализованный иначе. Тоже можно придать любой оттенок изображению, но настроек больше.

12. Monochrome - делает картинку черно-белой.

13. Lift Gamma Gain - полезный фильтр, позволяющий отдельно отрегулировать яркость светлых, темных и промежуточных тонов изображения. Если вы хотите придать изображению оттенок, попробуйте сначала этот инструмент.

14. Tonemap - набор фильтров для настройки гаммы, экспозиции, цветности, выцветания (bleach) и удаления тумана (defog).

15. Vibrance - фильтр SweetFX, усиливающий цветность блеклых тонов:

Фильтр Vibrance можно включать почти во всех играх, ставя параметру Vibrance (эффект и его параметр в нижней части окна SweetFX Configurator называются одинаково) значение «0.70». Этого достаточно, чтобы игра засияла новыми красками, не перебарщивая яркими цветами.

16. Curves - кривые. Те, кто пользуется Фотошопом, поймут, что это такое. Кратко - это мощное средство регулировки яркости и контраста.

17. Sepia - по умолчанию придает изображению коричневый оттенок (сепия). Можно выбрать любой другой оттенок и отрегулировать его мощность.

18. Vignette - эффект виньетки. Затемняет или осветляет изображение по краям.

19. Dither - судя по описанию, эффект позволяет показать на мониторе больше оттенков, чем он может показать. На практике никакой разницы не заметно.

20. Border - добавление черных полос по краям экрана для придания эффекта «кинематографичности». На практике бесполезен, т.к. игроку нужно видеть как можно больше игрового пространства, амбразурная щель тут не нужна.

21. Splitscreen - разделение экрана для сравнения картинки без эффектов и с ними. Например:

Чтобы перенести настройки в другую игру , нужно в этом окне создать настройки (ввести имя в поле Name и нажать New preset ), выбрать его в списке вверху и нажать Export preset - настройки сохранятся как обычный текстовый документ. Кнопка Import preset позволит загрузить такой файл настроек.

Где взять готовые настройки SweetFX

В окне настроек, о которых написано выше, с помощью кнопки Import preset можно загружать настройки других игроков.

ENBSeries - революция графики

В отличии от SweetFX, ENB работает далеко не всегда. Зато результат впечатляющий:

Обратите внимание: появилась тень от центральной пальмы, тротуар начал немного блестеть.

В зависимости от настроек ENB и возможностей игры, эффекты будут разными. Например, для игры Skyrim придумали множество вариантов ENB. Некоторые из них:

Можно не возиться с настройками, а просто включить все подряд и отрегулировать цветовую гамму - даже это дает улучшение качества графики:

ENBSeries, в отличии от SweetFX, улучшает графику добавлением качественных отражений, реалистичных теней и вообще улучшает картинку, изменяя алгоритмы работы с освещением.

Как установить ENB

Как установить это чудо?

2. Архив распаковывается в папку с игрой.

3. После запуска игры в левом вернем углу должна появиться информация о версии ENB.

Как настроить ENB

Как настроить эту классную штуку?

Первые версии ENBSeries настраивались путем редактирования файла enbseries.ini с помощью текстового редактора (подойдет стандартный Блокнот). Файл находится в папке с игрой. Вы можете делать так и сейчас, но для просмотра изменений придется перезапускать игру.

Более современный способ - после установки ENB и запуска игры нажмите Shift+Enter - в левой части экрана появятся настройки. Галками можно как включать сами эффекты, так и их опции в соответствующих секциях.

Универсальная версия ENB для всех игр и специальные имеют разные наборы настроек. Поэтому не удивляйтесь, если не видите в.ini файле или меню каких-либо пунктов.

Информация о всех настройках:

  • ENBseries для GTA 4. Документация - здесь есть информация о настройке ENB для GTA4. На мой взгляд, там все разжевано максимально подробно.
  • Как настроить ENBSeries: часть 1 , часть 2 , часть 3 - здесь рассказывается про старую версию ENB, с настройками через правку enbseries.ini.

Готовые сборки ENB, улучшающие графику:

  • Самое крупное хранилище модификаций для игр - сайт Nexus mods - имеет для ряда игр раздел «ENB Presets». Заходите по этой ссылке , выбирайте вашу игру (если она там есть, конечно), затем меню Files - Categories и ищите пункт ENB Presets . Если для игры есть нормальные сборки ENB - то они именно там. Например, я оттуда перепробовал с полсотни сборок ENB для игры Skyrim .
  • Также никто не отменял Google. Как пользоваться поиском, думаю, рассказывать не надо. Например, в интернете навалом сборок ENB для игр серии GTA.
  • Для любителей GTA IV и The Elder Scrolls: Skyrim обратите внимание на сайт A State of Trance - там автор рассказывает (на английском) про лучшие моды для улучшения графики названных игр.

Совет: зачастую архив с настройками ENB не содержит в себе собственно файлов ENB (и это правильно - автор ENB запрещает распространять его творение в виде сборок). Поэтому придется сначала скачать и установить версию ENB для вашей игры с официального сайта (либо универсальную, если специальной нет), затем распаковать туда же настройки для ENB. Читайте инструкции!

Как совместить SweetFX и ENB

Обе модификации работают через подмену одного и того же файла - d3d9.dll. Заставить их работать вместе довольно просто:

Шаг 1. Установите SweetFX.

Шаг 2. В папке с игрой переименуйте файл «d3d9.dll » в, например, «d3d9-sweetfx.dll «.

Шаг 3. Установите ENB (SweetFX работать пока не будет).

Шаг 4. Откройте Блокнотом файл enblocal.ini в папке с игрой, исправьте начало файла вот так:

EnableProxyLibrary=true InitProxyFunctions=true ProxyLibrary=d3d9-sweetfx.dll

Я выделил то, что вам нужно исправить.

Шаг 5. Можно настраивать ENB и SweetFX.

ENB и SweetFX будут работать вместе.

В каких играх можно улучшать графику

К сожалению, SweetFX и ENB работают далеко не со всеми играми. Чтобы объяснить, почему так происходит, нужно рассказать немного теории.

Изображение из игры, которое мы видим на экране, можно нарисовать разными способами. Самые популярные:

1. GDI - метод вывода графики, появившийся впервые в Windows 95. Практически не задействует ресурсы видеокарты, поэтому вывод трехмерной графики невозможен. Не поддерживается SweetFX и ENB по простой причине - игры, использующие этот метод, примитивны в плане графики (например карты, шашки, шахматы). SweetFX и ENB не работают с GDI.

2. GDI+ - более современный метод вывода двухмерной графики, используется в современных программах. Для трехмерной по-прежнему нецелесообразно использовать, т.к. с помощью GDI+ любая сложная графика будет долго прорисовываться. SweetFX и ENB не работают с GDI+.

3. OpenGL - метод вывода трехмерной графики, используемый не только играми, но и профессиональными программами типа 3DS Max. Игр, использующих OpenGL, немало, особенно старых. SweetFX и ENB не умеют улучшать графику в OpenGL-играх, но можно схитрить, переведя графику на «рельсы» DirectX с помощью QindieGL или GLDirect. UPD: вроде как с OpenGL уже научились работать.

4. DirectDraw - еще один метод вывода графики. Немало хороших старых игр работают через DirectDraw. К сожалению, SweetFX или ENB не смогут улучшить графику в них.

5. DirectX - что это такое, я уже в другой статье. Вкратце - это набор функций, алгоритмов, позволяющих максимально эффективно задействовать возможности видеокарты для отрисовки графики. Схожую задачу решает OpenGL, но SweetFX и ENB для OpenGL еще никто не разработал.

Игры работают с DirectX преимущественно через программную библиотеку d3d9.dll, находящуюся в системной папке Windows. И SweetFX, и ENB для своей работы нужно отслеживать функции отрисовки, меняя их согласно своим алгоритмам. Для этого в папку с игрой кладется файл d3d9.dll, который содержит функции улучшения графики и дальнейшего перенаправления команд в оригинальный файл d3d9.dll. Поэтому, если вы вдруг надумаете заменить d3d9.dll в папке Windows таким файлом, вместо улучшения графики в играх вы получите в лучшем случае набор глюков, в худшем - неработоспособную операционную систему.

Так могут ли SweetFX и ENB работать с DirectX играми? DirectX бывает разных версий - от 1 до 11.1 на данный момент (не считая промежуточных). SweetFX и ENB могут работать с DirectX 9-й версии. Существует преобразователь DirectX 8 -> DirectX 9 от автора ENB, но он работает далеко не всегда. Так что множество игр, использующих более старую версию DirectX, остаются в пролете (например, серия стратегий Mech Commander).

Также нет конвертера из DirectDraw в DirectX 9. Зато есть конвертеры из OpenGL в DirectX. Я советую использовать QindieGL и

Если вы не знаете английский и/или не хотите читать инструкции - не пытайтесь скачивать вышеупомянутые конвертеры, только потратите свое время.

В будущем наверняка добавят поддержку и 10-11 версий DirectX, так как игр с поддержкой этих технологий все больше.

Улучшение графики - мифы и реальность

Миф первый: анимация и другие особенности старых игр

Облагородить внешний вид игры можно. Особенно замечательно, когда игра официально поддерживает модификации (например, TES4: Oblivion, Skyrim, MineCraft) - это позволяет значительно улучшить графику и игровой процесс.

Но графика - это красивая обертка, не более. Внутри игра останется старой, как ни крути. Персонажи будут иметь скованную анимацию, вы не сможете пинать/перемещать предметы там, где это не было предусмотрено, не сможете пробивать стены там, где их нельзя было пробивать и так далее.

Значит ли это, что SweetFX и ENB бесполезны? Мое мнение - они дают возможность выжать из игр все, на что они способны, поэтому их применение оправдано. Просто не ждите чудес. Интерактивности они не прибавят.

Миф второй: современные игры имеют самую «крутую» графику на данный момент

С каждым годом разработчики применяют все больше технологий, чтобы привлечь внимание игрока. Обертка должна быть красивой, чтобы ее купили. Соответственно, продажи увеличиваются, издатели игр обогащаются.

Однако по-настоящему впечатляющие инновации применяются крайне редко. Почему? Во-первых, это лишние расходы - пока технологию внедрят, игра морально устареет. Во-вторых, игроки все равно покупают игры , даже если их графическое исполнение - тихий ужас (например, этим знаменита серия игр Call of Duty).

Чтобы понять, какие технологии усиления реализма в играх придуманы, советую почитать очень интересные статьи:

После полученных знаний вы поймете, что нынешние игры в плане графики далеко не так хороши, как могли бы быть. Более того, становится очевидно - разработчики ленятся. Обещают нечто невообразимое, не используя и десятой доли того, чего можно достичь на самом деле.

Миф третий: хорошая игра должна иметь крутую графику

Если вам нравится играть в игры исключительно из-за реалистичной графики, у меня для вас плохие новости - вы пропустили выход просто потрясающей игры под названием Жизнь.

Игры - не фильм. Они цепляют своим сюжетом, возможностями, геймплеем. Графика играет важную роль, но часто небрежные наброски лучше реализма (яркий пример - Another World).

Итог

Мы играем в старые игры не из-за графики. Сильное чувство ностальгии, приятные воспоминания о том времени , интересный сюжет или какая-то мелочь, которая пройдет с человеком сквозь года - графика здесь занимает не самое видное место.

Совет: пытаясь старый шкаф вписать в современный интерьер, не забывайте о Нарнии в нем.

A comprehensive guide for properly installing and editing ENBs for n00bs and gurus alike -- by the S.T.E.P. Team and contributing members

Introduction

"ENB" is short for "ENBSeries", which is a post-processing "engine" with versions available for many games, including Skyrim. This Guide will help newcomers become familiar with the basics of installing and using ENBSeries and will also provide answers to many questions applicable to all users from those wishing to quickly install and configure ENBoost or a full-blown ENB preset, as well as, advanced users and ENB preset developers wanting to reference more of the technical information. The main guide is written to address novice and advanced users alike with "quickstart" in mind. Links to more information and ancillary guides are included.

What is ENB?

Notice: ENBoost is not ENB per se. Rather, ENBoost stand-alone configuration implements only the memory-management features of ENB without the lighting enahncemets that most people associate with ENB. Thus, ENBoost is an essential extension that STEP recommends for ALL users, even those that are not running ENB "proper".

ENBSeries (in all its glory)

As described in the Introduction above, an ENB Preset (aka "ENB") encompasses all of the features of ENBSeries, including ENBoost and all the post-processing features.

ENBSeries Features

The latest versions of ENBSeries available to download include many enhanced and new features verses older versions. Most ENB Presets which are still in active development have been updated to utilize one of the newer versions, or have stated that they are compatible with them. Any ENB Preset which uses a version prior to v0.236 is outdated and could possibly have issues when attempting to use them with the latest ENBSeries versions. The Preset recommendations below are current for at least one of the latest ENBSeries versions. So, what"s new?

There have been several improvements from recent ENBSeries releases. From v0.236 to the current version the following have been added:

  • Parallax for terrain
  • Muddiness control of water
  • Cloud shadows
  • Volumetric rays
  • Mist effect
  • Rain occlusion
  • Per location weather
  • Color filter parameters for direct light, fog and sky gradients
  • Supersampling for ambient occlusion
  • Optimization of ambient occlusion plus a new visualization tool for Preset authors and tweakers
  • Enhanced blending of certain effects
  • Detailed shadows added for light bulb types: hemisphere and spotlight
  • Other performance optimizations
  • Bug fixes

ENBSeries Installation

This is a basic quickstart and generic set of instructions for setting up ENBSeries; however, most ENB Presets include installers or detailed installation instructions of their own. The following instructions provide assistance where certain ENB Preset instructions may be lacking. Always defer to the Preset instructions first, and use the following instructions to fill in the blanks, if necessary.

Also check out Slothability"s ENBSeries Installation video for a very good video tutorial on basic ENB Installation.

Warning About Enblocal.ini

Some ENB Presets will include an enblocal.ini file. This is not a recommended practice and users should not overwrite their own file with the one included in Presets. The reason for this is because this enb"local" file is meant to be used for each user"s personal system. Best practice is for users to open their personal enblocal.ini file alongside the file included with the Preset and copy over changes only from the following sections:

    • Copy all settings
    • Copy all settings
    • ForceLodBias=
    • LodBias=
    • Copy all settings

Recommended ENB Presets

Since the introduction of ENBSeries for Skyrim, there have been hundreds of ENB Presets created; however, most have not been updated to use the latest version of ENBSeries; therefore, please refer to the chosen ENB Preset"s documentation to ensure the correct version of ENBSeries is downloaded and used.

ENB Presets come in just about every style imaginable. As such, this section can be extremely subjective. STEP suggests browsing around to find the perfect preset to suit the user"s personal preferences. There isn"t an official STEP recommended ENB Preset, however, below are a few excellent, widely-used Presets and information about them. For general installation instructions, see the Installation section above; however, it is highly recommended to follow the author"s installation instructions found on the ENB Preset"s Nexus page.

Vividian - Weather and Lighting

by Mangaclub and Benhat Download
Baseline : Vividian currently supports ENBSeries v0.305+. Description : Vividian is a two part Preset; an ENB and a mod. The ENB adds a more vivid character to Skyrim without completely removing the dense atmosphere from the vanilla game. Depending on the version chosen it provides either more vibrant colors and effects or simply enhances the vanilla colors. Both versions also grant more realistic shadows and weather. The mod part of Vividian includes enhancements to weathers. This includes:
  • Clouds, fogs, smoke, and steam textures which replace the vanilla versions and are designed to work well with ENB features.
  • Windy Clouds which enhances the cloud speeds of weathers so the clouds actually look as if they"re moving and not standing still in the sky.
  • Extended Groundfogs which adds distant clouds and fogs to all weathers, as well as, volumetric fog to foggy weathers.
  • Real Skyrim Snowflakes adds a snow effect around the player which uses real particles for the snow; replacing the fake snow from vanilla. This new snow is also lit realistically by lights in the game.
Vividian is one of the most compatible ENB Presets available and is currently compatible with vanilla Skyrim and the DLCs, Climates of Tamriel, Pure Weather, Purity, RCRN, ELFX, ELE, Relighting Skyrim, NLA, Extended Snow System, Real Shelter, and Falskaar. Versions Vividian comes in two versions:
  • The "Vivid " version has more saturation and vivid colors compared to vanilla Skyrim.
  • The "Vanilla " version maintains vanilla Skyrim colors and saturation; simply enhancing them by making them deeper and richer.
Performance Vividian has three performance versions available.
  • Performance: is a version which has had some effects lightened or completely turned off. This version is recommended for less powerful systems.
  • Normal: is the main version which most users will be using. This version has all the effects enabled, yet is balanced between performance and quality.
  • High Quality - is the extreme version. Use this with caution! It will be crippling on all but the most powerful systems.
Features Some of the features of Vividian include:
  • 6 Depth of Field (DOF) options
  • Real-time cloud shadows
  • Volumetric Sunrays
  • Enhanced and customized sunrises and sunsets
  • Custom sunflares/glares
  • Realistic and dynamic night lighting

Phinix Natural ENB

by Phinix Download
Baseline : Phinix Natural ENB currently supports ENBSeries v0.308. Description : Phinix Natural is an ENB Preset for Skyrim purist. The atmosphere and environment of the vanilla game is one that is Nordic which is cold and wintery. Phinix Natural emphasizes on being natural to the vanilla atmosphere and; thus, provides an enhanced cold and wintery feel. Colors will not be overly saturated; however, will have more depth. The sky is slightly washed out as you would see in colder regions and the sun gives off more glare. Phinix Natural can also be described as being a subtle ENB Preset simply because it enhances the vanilla atmosphere. It is one of the few ENB Presets that can be installed and forgotten that an ENB is even running due to its subtlety. Nights and interiors are more or less the same levels as vanilla; however, dungeons are just slightly darker. If you"re looking for the true Skyrim experience as Bethesda meant it to be, then this ENB might be for you! Phinix Natural is compatible with all lighting mods; however, the author recommends Relighting Skyrim . The author has also customized all vanilla weathers for those who choose not to run Climates of Tamriel. CoT is full supported, though, with all CoT weathers customized so it is also recommended. Performance Although Phinix Natural does not come with different performance options, the author does discuss how to lessen the performance impact on his Nexus page. Phinix Natural Features Some of the features of Phinix Natural include:
  • A true-to-Skyrim atmosphere and style
  • A special fixes file which fixes various issues that arise when using ENBs
  • An alternative DoF style (optional)
  • A custom night sky mod (optional)
  • Custom Lens Sunsprite Shaders
  • Fully compatible with Night Eye effects

OrganicENB V2

by skysan4298 Download
Baseline : OrganicENB V2 currently supports ENBSeries v0.315+. Description : OrganicENB V2 is a Preset that bridges the gap between realism and fantasy. It provides rich, vibrant colors without going over the top. Versions OrganicENB V2 comes in three versions, all requiring the ENB Helper mod:
  • Vanilla Weather: is for users who do not use any weather mods.
  • Climates of Tamriel: is for users who prefer CoT as their weather mod of choice.
  • Vivid Weather: is provided for users who prefer Vivid Weather.
Performance There are three performance options available:
  • Skysan is the highest quality with all the bells and whistles, but is also the most performance demanding.
  • Midrange disables ambient occulusion (SSAO) and the exterior reflections.
  • Budget disables skylighting, water, volumetric rays, and mist in addition to ambient occulusion (SSAO) and exterior reflections.
OrganicENB V2 Features Some of the features of this ENB include:
  • Multiple weather support from several weather mods
  • 3 Depth of Field options
  • Special support for ELFX

Other ENB Presets

The above mentioned ENB Presets are a very small sample of the presets available on Nexus. They are both popular and up-to-date; however, users are encouraged to explore other options to find the ENB preset that fits their style. Users can search Nexus and browse through the 300+ ENB Presets available.

ENB-Complimenting Mods

Below are a few mods which normally work well when combined with ENB Presets; however, be sure to view the chosen ENB Preset"s documentation for mod compatibility before using any of the mods below.

Darkness
  • Dark Dungeons for ENB - This mod tells ENB to render dungeons as though it"s night.
Many ENBs include optional files for darker caves, dungeons, and nights. Check with the ENB Preset for these options before using a third party mod for this. Some lighting mods may not be compatible. Fixes
  • Skyrim Particle Patch for ENB - This fixes shaders or blending properties on some object meshes which have their parameters set incorrectly.
Some ENB Presets include this patch during installation or provide it in as an optional file. Fog
  • Remove Interior Fog V2 - This removes the ambient interior fog that is found indoors in many locations. It has support of all DLCs.
  • Interior and Dungeon Fog Remover - Completely removes fog meshes from most dungeon and indoor locations. This mod is compatible with Removed Interior Fog V2 above, the two can be used together.
  • Revamped Exterior Fog - This reduces the density of exterior fog and increases the distance that it starts becoming opaque. If using RCRN, there is a compatibility version which should be used instead.
Some mods that are often combined with ENBs are not compatible with the mods mentioned here (i.e. Climates of Tamriel, Realistic Colors and Real Nights, etc). As good modding practice, please review the Readme of any mod being used. Utilities
  • ENB FXAA SweetFX Manager and Remover - Removes ENB and FXAA installations and provides slots to load different ENB configurations for quick and painless switching.
  • IMAGINATOR - Visual Control Device for Skyrim - In-game tool that allows adjustment of color and lighting setting such as brightness, tint, contrast, saturation, etc. For many users this has been a useful way to adjust adjusting colors and lighting in-game with or without ENB.
  • DYNAVISION - Dynamic Depth of Field - adds a controllable dynamic Depth of Field and Auto-Focus to Skyrim.

Notice:
IMAGINATOR has largely been replaced by the ENBSeries GUI Editor now included in all ENBSeries versions.
DYNAVISION has largely been replaced by custom DoF provided by Preset authors.

ENB Extensions

The following components and tweaks are optional and NOT required for a successful ENB implementation.

SMAA (Highly Recommended)

For ENB users, any version of ENBSeries after v0.119, hardware AA is no longer supported. Therefor, ENB users only have the following options available to them; ENB EdgeAA, SMAA or SweetFX using an injector. For users on low-end systems, the ENB"s EdgeAA is probably the best choice because it comes with almost no performance loss. SubPixel Morphological Anti-Aliasing (SMAA) is a fantastic post-processing anti-aliasing method. SMAA is processed after the ENBSeries process which provides nearly equal quality of MSAA, at a faction of the performance hit. Users can also use SMAA injector with EdgeAA enabled to possibly gain an even better image quality. For users on mid to high-end machines, SMAA will be the best option. It"s also worth noting that SMAA injector can be used without ENB as a standalone replacement for the game"s or driver"s AA method.

Even though some ENB presets may not include SMAA in their packaged files, it"s still possible to use SMAA with any preset as long as there is not an additional d3d9.dll already in use in the section of the enbseries.ini file. To install SMAA, do the following:

  1. If SMAA is not supplied by the ENB preset, users can download it from .
  2. Extract the file downloaded to a desired location
  3. In the d3d9 folder (do not use the files from the d9d10 folder!!!) rename d3d9.dll to d3d9_smaa.dll . Non-ENB users do not need to rename this file.
  4. Now copy the following files into the root Skyrim directory (not the Data directory):
    • d3d9_smaa.dll
    • injector.ini
    • SMAA.h
    • SMAA.fx

To enable SMAA with ENBSeries, set the following in the section of the enblocal.ini file:

EnableProxyLibrary=true InitProxyFunctions=true ProxyLibrary=d3d9_smaa.dll

To change the quality of SMAA, open the injector.ini file in a text editor (such as Notepad++ ) and change the preset parameter:

Preset = SMAA_PRESET_HIGH The available quality presets are listed above the parameter. The standard presets are: Low is 60% quality, Medium is 80%, High is 95%, and Ultra is 99% quality. This is similar to 2xAA, 4xAA, etc and each step higher comes with more of a performance loss. Additionally, a custom preset can be created in the SMAA.h file as seen in the image below for the Uber preset; however, this is a very advanced process, as such, it is not recommend for most users and will not be discussed here.

For users wanting to learn more about SMAA, there is a very in-depth and technical PDF available .

ELE (Enhanced Lighting ENB)

Enhanced Lighting for ENB (ELE) is a set of mods, by the author JawZ, aimed toward balancing the lighting of Skyrim. It adjusts every type of lighting in the game to both make Skyrim look better with ENBSeries and to make it easier for preset authors to customize and balance their presets without having to sacrifice one area of lighting over another. There are currently six modules to ELE, each of which balances a separate area of lighting in the game. These are Exterior Lighting and Weathers, Interior Lighting, Light Bulbs, FX Effects, Spell and Torch Lighting, and Plugins . These modules are still a work in progress; however, of these modules, Interior Lighting is the most complete and the most used most by ENB preset authors to date. Each of these modules are discussed further below.

enbseries.ini

Conversely, enbseries.ini can change dramatically among presets, and some presets offer far more configurability than others by way of extensions within the preset. The "default" enbseries.ini comes packaged with ENBseries itself. The configuration file contains all of the user-configurable parameters that dictate the behavior and result of the ENB post-processing engine. There are many configurable parameters, and documenting (or correctly implementing ) them all is challenging, to say the least. A comprehensive description of all parameters by section is available in the ENBseries INI Guide:
ENBseries INI Guide

Using ENB Weathers

There is a helper library (enbhelper.dll) that allows edits to parameters for each specific weather in Skyrim. The helper is essentially an API that queries current weather information from Skyrim and applies variants of enbseries.ini parameters using external configuration INIs. These external configuration INIs will override conflicting parameters within the main enbseries.ini file for specific weathers. This allows configuration of various parameters to differ depending on the weather type, thus creating more customized weathers. These variations can be very complex (one config per unique Skyrim weather) or very general (one configuration for only a small number of specific weather classes).

The helper library and all weather configurations are placed within .../skyrim/enbseries . Most ENB Presets that are configured to work with multiple Skyrim weathers package the "helper" with installation instructions by default. For those that do not, see the ENB Installation section above for assistance.

EnableMultipleWeathers=(false, true)

Enables/disables use of the "helper" library and configurations to provide customized weathers.

Notice: Configuring an ENB Preset that does not support variation per weather is currently not covered by this Guide. This would be a great addition if anyone would like to provide some basic information.

Troubleshooting

Performance Tips

While ENB Presets greatly enhance the visuals of Skyrim, these additional effects also take a toll on performance. How much of an FPS decrease users experience depends on their system hardware, INI settings, texture mod resolutions, display resolution, and a host of other variables. This is why it"s virtually impossible to estimate how much any ENB Preset will affect a user"s personal system. That being said, there are some things users can do to improve their performance.

First and foremost it"s important for users to keep their systems in top gaming condition. Like anything else, "if you take care of it, then it will take care of you ". Some simple ways to do this:

  • Defrag the hard drives which games are installed on. Do not defrag solid state drives (SSDs)! These should NEVER be defragmented and doing so could reduce their lifespan. However, defragging hard disk drives (HDDs) will not only help improve performance while gaming, but can also decrease load times in games and for other applications as well. Although Windows comes with a simple defragging program, STEP recommends either Auslogics Disk Defrag or Puran Defrag Free Edition . If using Auslogics, use the "Defrag & Optimize " option since this will also move the most frequently accessed files closer to the front of the drive. Defrag hard drives at least once a month or any time the fragmentation is 10% or over.
  • If user"s CPUs are being utilized 100% or system RAM is being close to filled, disable all unnecessary programs running in the background while gaming to free up more resources. Anti-virus programs disk access usage can cause slowdowns in saving and loading, and any files scanned. Instead of turning it off, setting it to ignore game directories and any mod directories used will prevent the antivirus from occupying the files in use. It also limits your viral exposure to a trusted folder (trusted if it came from legitimate sources). Some anti-virus programs now have a "gaming mode" which can be turned on during gaming sessions to automatically reduce the program"s resource use on the system.
  • Keep Steam in offline mode . This is just one more thing depleting resources that really isn"t needed.
  • GPU settings play a tremendous role in determining quality and performance. Striking the right balance in these settings is essential in achieving a beautiful game with smooth, playable frame rates. Use the guides provided in the STEP guide as a starting point. Adjust and test the settings until the right balance, with smooth game-play, is achieved. The thing to remember here is to be realistic with what the hardware is capable of.
  • Be realistic with INI settings, as well. Over-tweaking can, and will, cause performance issues if the system is not capable of handling the additional strain. Use the STEP recommended tweaks and nothing else until it"s known whether the system can handle higher settings or not.
  • High resolution textures and higher polygon count meshes also affect performance. There are countless mods which add these higher resolution assets to the game. Careful consideration should be used when adding these assets with an ENB Preset enabled. Experimentation and testing might be required to find the right balance of quality and performance which best fits the system hardware capabilities.
  • Be realistic with screen resolutions. Users are not going to be able to play Skyrim in 4K resolution with a single GTX770/AMD 7870. The maximum resolution of the video card is not the maximum resulotion it is capable of playing a heavily modded game with an intensive ENB Preset running. Users may have to lower their screen resolution if they want the full quality that presets provide. Again, it"s all about balancing visual quality with performance and this will be different for every user.
  • Some of the more intensive ENB effects can also be disabled or lowered in the enbseries.ini file to improve performance at the cost of some quality. Instructions on how to disable these effects can be found in the INI sub-sections of this Guide. Changing to the performance version of some ENB Presets (where available) will essentially do the same thing; therefore, users are encouraged to explore that route before disabling effects.

If after following these performance tips users are still unable to achieve playable frame rates, the system hardware may not be capable of running ENBSeries or the chosen preset might be too intensive to for it. At this point users may want to consider either using other presets which may not be as demanding on hardware, upgrading their hardware, or not using ENBSeries altogether.

CTD on game launch

First be positive this is not a missing master issue! After you"ve ruled that out, some users will experience a CTD after installing an ENB Preset due to having missing components of DirectX. The solution is to re-install DirectX 9 for games such as Skyrim and Fallout: New Vegas. Windows users will have to update DirectX by downloading the DirectX End-User Runtimes . If that option doesn"t work, try installing the DirectX SDK and running the installer within. Re-installing/updating DirectX should install missing components needed by ENBSeries.

Shadow Striping

One of the great things about ENBSeries is that it usually fixes shadow striping. Some users, however, will still experience this issue if they"ve edited their Skyrim INIs. In the screenshots below it"s hard to tell from their reduced size in the gallery, but notice the fuzziness along the edges of the shadows and the lines across some of the textures like the post and rock; this is shadow striping.

Figure 1. Shadow Striping"})" href="/images/5/5d/ShadowStriping.jpg" class="image" title="Figure 1. Shadow Striping">
Figure 2. Shadow Striping"})" href="/images/a/a8/ShadowStriping2.jpg" class="image" title="Figure 2. Shadow Striping">

(To view the full sized images, click on the image to open the gallery, then right click on image and click "View Image".)

If this is preset, adjust the iBlurDeferredShadowMask parameter in the SkyrimPrefs.ini file (MO users will have to adjust it in the INI Editor in MO). It will be set to its default from when the INI files where created by the game launcher, unless users have manually adjusted it. Turning this parameter down to a lower usually results in sharper shadow detail; however, turning it down too low can result in striping. Users can adjust this setting from 0-7. If striping occurs while ENBSeries is enabled, increase this parameter"s value by one, save the change, and test the new setting in-game. Continue to repeat this process until the shadow striping is gone. Usually between 3 and 5 are the best values.

If the above is not helping or making the shadows too blurry, adjusting the fShadowDistance parameter may also help. This is the distance at which shadows are drawn from the object. Decreasing this will make these shadows less elongated and help to eliminate striping at lower iBlurDeferredShadowMask values; however, adjusting this value too long can also result in unnatural looking shadows.

AMD/ATI Users

Set the following in enbseries.ini .

In the section:

UseBilateralShadowFilter=false

  • When updating drivers be sure to uninstall your current drivers before installing your new drivers. It is also not recommended to use Beta drivers. The current stable drivers can be found .
  • If you must use anisotropic filtering (AF), then either ENB-enabled or CCC-enabled is fine, but this depends entirely on the capability of your CPU since Skyrim is more CPU-intensive than GPU. ENB-enabled is better, but up to 8x is recommended unless you have at least 2GB of VRAM (generally the 69xx, 78xx, and 79xx series).

Possible Crossfire Fix

Please apply the following process to ensure Crossfire compatibility:

  1. Right-click on your desktop and open the Catalyst Control Center.
  2. Enter the 3D Applications Profiles.
  3. Choose "Use AMD Pre-defined profile " in the list at the bottom
  4. Select the "Assassin"s Creed Brotherhood profile " (acp?b.exe)
  5. Go back to the top, select "New application" and press the "Save" button.
  6. Choose the "TESV.exe " application (in the root Skyrim folder) when the browser window pops up.
  7. Answer "Yes" when CCC asks if you want to override the default TESV profile.

For users using 13.x drivers

  1. Open up the AMD Vision Engine Control Center (or the Catalyst Control Center).
  2. Make sure your are in Advanced View mode by clicking Preferences.
  3. Select "Gaming" and choose "3D Applications Profiles".
  4. Select "Add" and browse to and select "TESV.exe".
  5. "TESV.exe" should now show up on that page. Select it and scroll down to "CrossfireX Mode"
  6. Select "Use AMD Pre-defined profile" and locate the "Assassin"s Creed Brotherhood profile" (acp?b.exe)
  7. Overwrite the default profile when prompted.

Disable ENB In-game

A common issue with Depth of Field effects is that it is difficult to see the character while in the creation menu. There is a very simple solution for this. While playing, just press to disable the ENBSeries processing entirely. This can be quite useful when creating characters or modifying them later via the showracemenu console command. When finished, just press

Some people may experience long loading times while using ENBSeries. An easy way to decrease your wait is by pressing again to re-enable processing.

Notice: Although this still works, it"s an old trick for those with v0.119 or older. Starting with ENBSeries v0.265+, Boris has fixed the framerate to 60FPS in order to help eliminate this issue

1.

2. Общие сведения о ENBSeries

3. Установка ENBSeries

4. Настройка ENBSeries
4.1 Общие настройки
4.2 Включение и отключение эффектов
4.3 Сочетания клавиш


Что-то вроде вступительного слова

Уже пару лет я активно создаю моды для GTA San Andreas . Как и, наверное, почти все авторы модов, едва ли не всё мне пришлось постигать самостоятельно, методом проб и ошибок. Причиной тому является нехватка нужных материалов. Действительно, разве так много уроков по созданию модификаций для GTA San Andreas , да и для других частей серии? Много ли материалов, рассчитанных на абсолютных новичков, тех, кто впервые решил сделать мод, причем написанных просто и понятно? Мне, вроде как, нужно дать ответ. Так вот: мало. Поэтому я решил попробовать взяться за это дело.

Темой статьи выбрана настройка ENBSeries . Рассматривается версия для GTA San Andreas . Несмотря на это, материал может быть полезным и при настройке ENBSeries для других игр.


Общие сведения о ENBSeries

ENBSeries — это библиотека (программа), разработанная Борисом Воронцовым. Она загружается одновременно с запуском игры и действует по методу постобработки, то есть, воздействует на уже «отрисованное» игрой изображение, улучшая его и добавляя различные графические эффекты.

Даже в таком изложении звучит довольно сложно. Так же сложно представить как всё это было создано, причем на действительно качественном уровне.

К слову, библиотека — можно считать её модификацией, которая, тем не менее, не изменяет ни одного стандартного файла игры, а только добавляет — универсальна, и теоретически подходит к большому количеству игр (на официальном сайте можно найти специально адаптированные для разных игр версии).

В большинстве случаев разница между исходной графикой и графикой с ENBSeries очень ощутимая. С момента её выхода в 2007 году мы, игроки, которым интересны моды, как-то успели попривыкнуть к ENBSeries , а ведь когда-то и представить нельзя было, что графика GTA San Andreas может быть так серьезно улучшена.


Установка ENBSeries

На момент написания статьи последняя версия ENBSeries — 0.076; загрузить библиотеку можно с официального сайта .

В версии для GTA San Andreas библиотека являет собой лишь один файл — d3d9.dll . В еще одном файле, enbseries.ini , хранятся её настройки. Кроме этих файлов, в архиве также есть текстовые документы с информацией об использовании.

Оба файла — d3d9.dll и enbseries.ini — нужно поместить в папку, куда установлена игра.


Настройка ENBSeries

ENBSeries может немного (а временами и очень уж много) по-разному выглядеть на различных видеокартах, именно поэтому готовые настройки, которые пользуются спросом, не всегда дают удовлетворительный результат.

В этом разделе будут кратко описаны основы редактирования файла enbseries.ini . Вы научитесь разбираться в его структуре и менять параметры. Это откроет путь для дальнейших опытов и экспериментов.

Файл enbseries.ini открывается в текстовом редакторе. После открытия мы увидим список параметров, которые разбиты по секциям с названиями вроде , и т.д.

После каждого параметра, например, UseEffect (отвечает за включение-выключение ENBSeries ) идет цифирное значение параметра — 0 или 1 (0 означает «выключено», а 1 — «включено»).

Разберем структуру файла с настройками.

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


Общие настройки

Секция настроек , как вообще понятно из названия, основная и содержит главные параметры.

UseEffect — это включение или выключение библиотеки. По умолчанию она отключена (UseEffect=0); чтобы включить замените 0 на 1 (UseEffect=1).

Параметр AlternativeDepth позволяет включить альтернативный метод отрисовки некоторых объектов. Экспериментировать с этим параметром стоит в случае появления каких либо проблем.

То же самое можно сказать об отладочном параметре BugFixMode , который имеет целых пять значений (0-5).

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

Параметр AllowAntialias отвечает за включение и выключение антиалиазинга — функции, которая отвечает за сглаживание неровностей полигонов (частей объектов), благодаря чему объекты выглядят качественнее.

AdditionalConfigFile отвечает за подключение еще одного файла с настройками к уже существующему, а UseMRTRendering — за включение использования Multiple Render Targets, что пока что работает, если не ошибаюсь, некорректно.


Включение и отключение эффектов

Благодаря параметрам в разделе можно включать и отключать эффекты, которые добавляет ENBSeries .

Однако не забывайте, что в этой секции эффекты включаются, но после включения они требуют дополнительной регулировки. О настройке каждого эффекта написано во второй и третьей части статьи.

Все приведенные ниже скриншоты сняты в оригинальной игре; в стандартные настройки ENBSeries практически не внесены изменения (кроме там, где указано иное).

EnableBloom включает эффект bloom, который имитирует передержку камерой, когда яркий свет как будто бы частично просачивается в темные части сцены. Эффект делает графику более яркой и «теплой». Стоит также отметить, что полное отключение его на данный момент в ENBSeries невозможно.

EnableOcclusion — этот параметр ответственен за включение эффекта SSAO (Screen Space Ambient Occlusion — преграждение окружающего света в экранном пространстве). Этот эффект, с такой сложной аббревиатурой, имитирует взаимное затенение объектов, которые находятся поблизости друг от друга. Если говорить проще, то объекты отбрасывают более сложные тени. Эффект ресурсоемкий, поэтому включая его у вас должна быть довольно мощная видеокарта.

EnableReflection включает (или выключает) отражения на транспортных средствах.

В стандартной игре на транспортных средствах есть «поддельные» подвижные отражения, а благодаря этому эффекту они будут высчитываться в реальном времени и на поверхности транспортного средства будет отражаться окружающий мир. Ресурсоемкость эффекта меняется в зависимости от того, какие параметры выставлены для отражений.

EnableMotionblur отвечает за эффект смазывания, размытия изображения в движении. Этот эффект не является «тяжелым» для видеокарты.

EnableWater — включение и выключение эффектов воды. Водная поверхность с ENBSeries обрабатывается другим способом и, пожалуй, этот эффект один из самых красивых эффектов, которые обеспечивает библиотека, потому что до выхода этого графического мода было трудно представить, что вода в игре может быть такой красивой.

После включения этой опции вода будет отображать окружающий мир. Эффект достаточно ресурсоемкий даже с самыми низкими настройками качества, поэтому на совсем уж старых видеокартах его лучше не использовать.

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

EnableShadow — отвечает за более сложную обработку теней; они становятся более контрастными и обладают мягкими краями, как тени в более современных и прогрессивных, чем GTA San Andreas , играх. Скриншот с демонстрацией снят в моде Autumn Sunshine .

EnableDepthOfField — отвечает за включение и выключение эффекта глубины резкости.

DepthBias — параметр, влияющий на корректность обработки графики; значения здесь выставляются не «0» — «выключить» и «1» — включить, а от 0 до 1000, рекомендуемое автором значение — 100.

EnableReflectiveBump — отвечает за включение (1) и выключение (0) отражающего бамп-маппинга (Reflective Bump Mapping), техники которая создает «на лету» рельеф на объектах (поверхности, однако, выглядят как будто влажными, что диктуется тем, что первоначально эффект создавался только для дождливой погоды).

Отключение эффекта появилось только в последней версии. Также следует заметить, что эффект смотрится красиво с текстурами высокого разрешения. С текстурами низкого разрешения, как на первом сравнительном скриншоте, это может выглядеть немного странно.enbseries.ini , при следующем запуске они будут отображаться.

Включение и выключение мода по умолчанию осуществляется при помощи нажатия Shift + F12.

Изменить установленные сочетания клавиш можно, меняя значения в файле enbseries.ini . Сочетания клавиш прописаны в разделе .

Как понятно по названиям (KeyUseEffect — включение и выключение библиотеки, KeyBloom — включение и выключения эффекта bloom, KeyOcclusion — включение и выключение SSAO, KeyReflection — включение и выключение отражений на транспорте, KeyShowFPS — показывать или не показать частоту кадров и т. д.), каждый параметр отвечает за управление определенным эффектом.

После знака «=» необходимо ввести номер нужной клавиши в десятичной системе (каждая клавиша на клавиатуре ассоциирована с определенным номером). В текстовом файле key_codes.txt , который можно найти в архиве с ENBSeries приведены номера клавиш клавиатуры в шестнадцатеричной системе, при помощи стандартного встроенного в Windows калькулятора их можно перевести в десятичную систему.

Кроме того, в интернете можно найти уже готовый список номеров клавиш в десятичной системе, например, вот такой .


В этой, первой части статьи, были рассмотрены общие, базовые сведения о библиотеке, рассмотрено включение и выключение эффектов.

Во второй части речь пойдет о том, как наиболее точно настроить каждый из эффектов.

Эта статья также доступна на следующих языках: Тайский

  • Next

    Огромное Вам СПАСИБО за очень полезную информацию в статье. Очень понятно все изложено. Чувствуется, что проделана большая работа по анализу работы магазина eBay

    • Спасибо вам и другим постоянным читателям моего блога. Без вас у меня не было бы достаточной мотивации, чтобы посвящать много времени ведению этого сайта. У меня мозги так устроены: люблю копнуть вглубь, систематизировать разрозненные данные, пробовать то, что раньше до меня никто не делал, либо не смотрел под таким углом зрения. Жаль, что только нашим соотечественникам из-за кризиса в России отнюдь не до шоппинга на eBay. Покупают на Алиэкспрессе из Китая, так как там в разы дешевле товары (часто в ущерб качеству). Но онлайн-аукционы eBay, Amazon, ETSY легко дадут китайцам фору по ассортименту брендовых вещей, винтажных вещей, ручной работы и разных этнических товаров.

      • Next

        В ваших статьях ценно именно ваше личное отношение и анализ темы. Вы этот блог не бросайте, я сюда часто заглядываю. Нас таких много должно быть. Мне на эл. почту пришло недавно предложение о том, что научат торговать на Амазоне и eBay. И я вспомнила про ваши подробные статьи об этих торг. площ. Перечитала все заново и сделала вывод, что курсы- это лохотрон. Сама на eBay еще ничего не покупала. Я не из России , а из Казахстана (г. Алматы). Но нам тоже лишних трат пока не надо. Желаю вам удачи и берегите себя в азиатских краях.

  • Еще приятно, что попытки eBay по руссификации интерфейса для пользователей из России и стран СНГ, начали приносить плоды. Ведь подавляющая часть граждан стран бывшего СССР не сильна познаниями иностранных языков. Английский язык знают не более 5% населения. Среди молодежи — побольше. Поэтому хотя бы интерфейс на русском языке — это большая помощь для онлайн-шоппинга на этой торговой площадке. Ебей не пошел по пути китайского собрата Алиэкспресс, где совершается машинный (очень корявый и непонятный, местами вызывающий смех) перевод описания товаров. Надеюсь, что на более продвинутом этапе развития искусственного интеллекта станет реальностью качественный машинный перевод с любого языка на любой за считанные доли секунды. Пока имеем вот что (профиль одного из продавцов на ебей с русским интерфейсом, но англоязычным описанием):
    https://uploads.disquscdn.com/images/7a52c9a89108b922159a4fad35de0ab0bee0c8804b9731f56d8a1dc659655d60.png