Версия v0.1.3a
Больше не поддерживается, используйте основную версию.
Экспериментальная версия графической модификации RenderEdge для игры WarCraft III.
207 117.9K
15
Да ну нафиг, лагодроч пропал с тенями, это рождественское чудо?
13

Обновление v0.1.0a

Улучшения

  • Добавлена поддержка анимированных текстур;
  • Добавлена поддержка полупрозрачных моделей;
  • Добавлена поддержка Unshaded материалов;
  • Добавлена поддержка Vertex Color;
  • Добавлена поддержка освещения скайбокса;
  • Добавлена поддержка текстур, размер которых не кратнен степени 2;
  • Улучшена функция скрытия интерфейса;
  • Улучшен Sky Light: добавлен параметр Blend Factor;
  • Улучшен Debug Point Light: добавлена возможность вручную задать координаты;
  • Улучшен Image Based Lighting;
  • Использование пиксельных отражений;
  • Добавлен параметр Culling Mode для теней;
  • Добавлена возможность выбрать формат и цветовое пространство монитора;
  • Добавлен Temporal Anti-Aliasing;
  • Добавлен эффект Screen Space Reflections;
  • Добавлен эффект Auto Exposure (UE4);
  • Улучшен Chromatic Aberration;
  • Обновлён SSAO: заменён на Scalable Ambient Obscurance;
  • Улучшен Bloom (увеличен максимальный радиус, добавлена возможность растянуть по горизонтали или вертикали);
  • Сохранение пропорций Lens Dirt текстуры при любом соотношении сторон экрана;
  • Сглаживание теперь применяется до остальных пост-эффектов;
  • Оптимизация Color Grading (запекание в LUT текстуру);
  • Отображение пост-эффектов только в пределах viewport;
  • Убрана возможность использовать Irradiance текстуру в качестве источника ambient освещения;
  • Убрана возможность включить улучшенную воду;
  • Загрузка и создание текстур и эффектов только по мере необходимости;
  • Обновлен конвертер d3d8 в d3d9.

Исправления

  • Исправлен баг, при котором для юнитов и ландшафта использовался один и тот же направленный источник освещения;
  • Исправлены вылеты при рубке деревьев с включенными тенями;
  • Исправлены вылеты при сворачивании игры с включенными тенями;
  • Исправлены вылеты при включении режима свободной камеры;
  • Исправлены вылеты при установке маленького радиуса в эффекте Bloom;
  • Исправлено сворачивание запущенной в полноэкранном режиме игры при переключении режима вертикальной синхронизации;
  • Исправлено растягивание экрана при включенном интерфейсе и тенях;
  • Исправлена утечка памяти при включенном интерфейсе и пост эффектах;
  • Исправлено некорректное отображение SSAO при включённом режиме свободной камеры;
  • Исправлена функция проекции SSAO и SSR текстур на экран;
  • Исправлена некорректная гамма коррекция скайбокса при включенной пост-обработке;
  • Исправлена некорректная работа Dithering;
  • Исправлен некорректный цвет стандартных точечных источников света;
  • Запрет на отключение интерфейса и включение режима свободной камеры в главном меню игры и во время загрузки карты;
  • Динамическая очистка неиспользуемой памяти, занимаемой тенями;
  • Исправлено некорректное значение параметров Height и Density при использовании тумана;
  • Исправлена загрузка текстур из .mpq архивов;
  • Исправлена некорректная яркость точечных источников света.

Баги

  • Вылеты игры при переключении режима вертикальной синхронизации в главном меню в оконном режиме;
  • Некоторые пост-эффекты работают некорректно при ограниченном viewport.

Screen Space Reflections

Реализация пока не идеальна, присутствует множество графических артефактов. Некоторые из них можно исправить, но на их месте появляются другие. Не работает при включенном Temporal AA.

Temporal Anti-Aliasing

Данный вид сглаживания особенно полезен для предотвращения Specular Aliasing. Реализация так же не идеальна, более или менее корректно работает только при неподвижной картинке:

Scalable Ambient Obscurance

Улучшенный вариант Screen Space Ambient Occlusion. При движении камеры остаётся след от объектов, позже это исправлю.

Bloom & Lens Dirt

Увеличен максимальный радиус размытия, добавлена возможность сильнее размыть по горизонтали или вертикали. Lens Dirt текстура теперь подгоняется под размер экрана, чтобы сохранить изначальные пропорции. Исправлены существенные баги, приводящие к вылетам.

Color Grading

Теперь цветокоррекция и гамма-коррекция производятся на небольшой текстуре размером 32x1024, затем информация из получившейся текстуры применяется к финальному буферу. Это позволяет значительно повысить производительность (на моём ноутбуке произошёл прирос на 20 фпс), потеря качества заметна только при очень большой яркости.
Также появилась возможность выбрать формат и цветовое пространство монитора (пока без поддержки HDR мониторов).

Demo

Сравнение стандартного и улучшенного освещения (без физически корректного освещения и пост-обработки):
Демонстрация освещения и пост-эффектов на примере моей старой карты:
Версия v1.0.5a
Дополнительные функции для редактирования стандартного интерфейса Варкрафта
212 47K
2
ENAleksey, Всё заработало странно...Ты что-то поменял?
ENAleksey, Можешь сделать пример поворота камеры мышкой и чтобы персонаж тоже поворачивался одновременно?Как в РПГ.
3
а можешь все фунции из мемхака в RenderCraft мемхак пихнуть?
13
Я только что нашёл способ редактирования подсказок! Функция устанавливает координаты правого нижнего угла, позже я это исправлю.
function EditTooltip takes integer anchor, real offsetX, real offsetY returns nothing
    local integer pTooltipFrame = fast_call1(address_GameBase + 0x337240, 0)
    local integer pRootFrame = GetRootFrame()

    call SetFramePoint(pTooltipFrame, ANCHOR_BOTTOMRIGHT, pRootFrame, anchor, offsetX, -offsetY)
endfunction
call EditTooltip(ANCHOR_RIGHT, FromPixelX(-100), FromPixelY(160))
Загруженные файлы
Версия v0.3.0
Графическая модификация для игры WarCraft III.
287 87K
32
Есть два способа - один это лаунчер или микс, второй мемхак из карты, в первом случаи распростроняется на все карты, во втором на конкретную карту, это больше для разработчиков карт чем для простых пользователей.
4
Я конечно извиняюсь, но как это установить вваркарфт, чтобы все карты были с таким инетрфейсом, и в реплеях в том числе? Я запускаю, в варике появляется надпись, как описано выше, запускаю карту - все по старому.
38
ENAleksey, да, интересней получается. Остается замутить какой-нибудь сборщик, который после компиляции выпиливает ненужные ресурсы из mpq архивов и создает новый солюшен со всеми нужными файлами в отдельной директории. Но тут ещё и меню надо поправить, чтобы от выбора геймплея и миссий вц ничего не осталось + карта тоже единственная оставалась. Т.е. на выходе самостоятельный форк wc3 ft с рендер эджем, своим названием и иконкой. А в идеале упаковано в инсталлятор.
Но в таких вещах ещё LOD не хватает для работы с огромными картами, ну и параллельных вычислений)
Это я к тому, что у если у проекта есть философия и конечная цель, я бы стремился в эту сторону. Т.е. билдинга юзером твоего проекта готового независимого решения со всеми фишками, включая "click to play" и только при запуске и в EULA / копирайтах оставались референсы на близзард.
13
что там с HBAO?)
Я его, вроде бы, даже ни разу и не упоминал.
Однако, в воскресенье я реализовал Scalable Ambient Obscurance из заменил им SSAO:
Также я избавился от отставания AO текстуры от объектов при движении камеры, но при этом лишился учёта влияния освещения на AO и поддержки unshaded моделей:

Temporal Anti-Aliasing я реализовал, но он хорошо работает только при неподвижной картинке, при движении камеры или объектов появляется эффект ghosting'а. Чтобы от этого избавиться нужно добавлять поддержку буфера скоростей. Я смог его воссоздать, однако только с помощью хаков, ghosting пропал, но появились небольшие артефакты в виде полосок на экране.
Вот пример на статике без учёта скоростей (смотреть в исходном размере):
В основном разница заметна только при присутствии specular aliasing:
38
ENAleksey, что там с HBAO?)
За AA респект. Это ведь первоочередная задача после аспект рацио.