Особенности
- (+) Каскадные тени;
- (+) Расчёт освещения в линейном пространстве;
- (+) Physically Based Shading;
- (+) ACES Tonemapping and Color Grading;
- (+) Screen Space Reflections;
- (+) Temporal Anti-Aliasing;
- (+) Contact Shadows;
- (+) Поддержка пользовательских шейдеров для пост-эффектов и моделей;
- (-) Использование моделей из .obj, .3ds, .dae, .blend файлов;
- (-) Модификация .mdx/.mdl формата моделей: добавление карт нормалей и .dds/.blp2 формата текстур;
- (-) Модификация War3 Model Editor;
- (-) Добавление новых возможностей в World Editor.
Баги:
- Некоторые пост-эффекты работают некорректно при ограниченном viewport.
Скриншоты
Установка
Требования:
- WarCraft III patch 1.26a;
- Windows 7 и выше;
- Microsoft Visual C++ Redistributable for Visual Studio 2017.
Распакуйте архив и запустите RenderEdge.exe. Нажмите F7, чтобы показать меню настроек. Изменить настройки также можно в файле RenderEdge.ini (расположен в архиве RenderEdge_exp.mpq).
В редакторе реестра можно включить опцию, позволяющую загружать файл настроек, шейдеры и текстуры из папки с RenderEdge: HKEY_CURRENT_USER\Software\RenderEdge\AllowLocalFiles. Последовательность поиска ресурсов: загруженная карта, папка с RenderEdge, архив RenderEdge_exp.mpq.
Для подключения RenderEdge к Jass New Gen Pack (exp. 2) отредактируйте файл wehack.lua следующим образом:
wehack.lua
-- # begin RenderEdge #
RenderEdgePath = grim.getregpair("HKEY_CURRENT_USER\\Software\\RenderEdge", "InstallPath")
haveRenderEdge = grim.exists(RenderEdgePath .. "\\RenderEdge.exe")
function toggleRenderEdgeDebug(checked)
if checked then
grim.setregdword("HKEY_CURRENT_USER\\Software\\RenderEdge", "Debug", 1)
else
grim.setregdword("HKEY_CURRENT_USER\\Software\\RenderEdge", "Debug", 0)
end
end
function toggleRenderEdgeAllowLocalFiles(checked)
if checked then
grim.setregdword("HKEY_CURRENT_USER\\Software\\RenderEdge", "AllowLocalFiles", 1)
else
grim.setregdword("HKEY_CURRENT_USER\\Software\\RenderEdge", "AllowLocalFiles", 0)
end
end
if haveRenderEdge then
RenderEdgeMenu = wehack.addmenu("RenderEdge")
RenderEdgeEnabled = TogMenuEntry:New(RenderEdgeMenu, "Run with RenderEdge", nil, true)
RenderEdgeDebug = TogMenuEntry:New(RenderEdgeMenu, "Debug Mode",
function(self) toggleRenderEdgeDebug(self.checked) end, false)
if grim.getregpair("HKEY_CURRENT_USER\\Software\\RenderEdge", "Debug") == 1 then
wehack.checkmenuentry(RenderEdgeMenu, RenderEdgeDebug, 1)
else
wehack.checkmenuentry(RenderEdgeMenu, RenderEdgeDebug, 0)
end
RenderEdgeAllowLocalFiles = TogMenuEntry:New(RenderEdgeMenu, "Allow Local Files",
function(self) toggleRenderEdgeAllowLocalFiles(self.checked) end, false)
if grim.getregpair("HKEY_CURRENT_USER\\Software\\RenderEdge", "AllowLocalFiles") == 1 then
wehack.checkmenuentry(RenderEdgeMenu, RenderEdgeAllowLocalFiles, 1)
else
wehack.checkmenuentry(RenderEdgeMenu, RenderEdgeAllowLocalFiles, 0)
end
end
-- # end RenderEdge #
function testmap(cmdline)
if haveRenderEdge and RenderEdgeEnabled.checked then
local pos = string.find(cmdline, ".exe")
cmdline = string.sub(cmdline, 5 + pos)
cmdline = RenderEdgePath .. "RenderEdge.exe " .. cmdline
end
if wh_opengl.checked then
cmdline = cmdline .. " -opengl"
end
if wh_window.checked then
cmdline = cmdline .. " -window"
end
wehack.execprocess(cmdline)
end
Редактирование шейдеров
Если вы хотите отредактировать шейдеры, то скачайте архив, распакуйте шейдеры, скомпилируйте и поместите их в папку Shaders. Эту папку вы можете импортировать в карту, разместить в папке RenderEdge или в архиве RenderEdge_exp.mpq.
Скачать шейдеры и fxc.exe.
Скачать шейдеры и fxc.exe.
Компиляция из Visual Studio
Добавьте шейдеры в проект, в его свойствах настройте HLSL Compiler следующим образом:
Компиляция с помощью fxc.exe
@echo off
fxc.exe /T fx_2_0 /Fo Standard.cso Shaders\Standard.fx /nologo
fxc.exe /T fx_2_0 /Fo Shadows.cso Shaders\Shadows.fx /nologo
fxc.exe /T fx_2_0 /Fo PostProcess.cso Shaders\PostProcess.fx /nologo
fxc.exe /T fx_2_0 /Fo Skybox.cso Shaders\Skybox.fx /nologo
pause
Изменения
Следите за разработкой RenderEdge на Trello.
v0.1.3a
* Добавлена возможность включать/отключать рендеринг различных типов объектов;
* Добавлена поддержка Индикаторов;
* Добавлена поддержка Occlusion Mask;
* Добавлена поддержка Молний;
* Добавлена поддержка Плавающего текста;
* Добавлена возможность выбора единиц измерения интенсивности точечных источников света;
* Добавлены настройки Тумана войны;
* Добавлена возможность отключать стандартные тени зданий;
* INIReader: добавлена возможность записи комментариев в одной строке со значением типа string;
* INIReader: добавлена возможность скрыть игровой интерфейс;
* Удалены пределы свободной камеры движения;
* Tonemapper: Blue Correction, Expand Gamut;
* Изменена интенсивность Bloom на более корректную;
* Добавлен параметр Calibration Constant для Auto Exposure;
* Добавлен новый Height Based туман;
* Сохранение положения камеры после отключения режима Free Camera;
* Улучшен Screen Space Reflections;
* Параметр Default Projection Matrix переименован в Constant Vertical FoV;
* Оптимизирован Auto Exposure;
* Добавлена возможность приостановить игру (приводит к дисконекту при включении в игре по сети);
* Улучшена блокировка ввода в режиме Free Camera;
* Добавлена возможность сделать скриншот;
* Изменена модель освещения при включенном PBS (может быть изменена обратно в следующей версии);
* Исправлена ошибка, при которой один из чанков ландшафта не отбрасывал тени;
* Исправлены некорректный цвет и интенсивность точечных и направленных источников света;
* Исправлено освещение скайбокса;
* Исправлен некорректный перехват параметров камеры с нестандартной ближней плоскостью отсечения;
* Исправлена некорректная работа Contact Shadows с нестандартными плоскостями отсечения камеры;
* Исправлен эффект параметра Unshaded Materials;
* Исправлен рендеринг пост-эффектов в главном меню;
* Исправлено влияние пользовательского интерфейса и направления камеры на Contact Shadows;
* Исправлено появление черных рамок при отключении параметра User Interface, если они изначально были скрыты;
* Исправлена работа Screen Space Reflections с включенным Temporal AA;
* Исправлены графические артефакты при включении и выключении HDR;
* Исправлена матрица проекции;
* Исправлено некорректное размытие SSAO с включенным параметром Downsampling
* Исправлены вылеты при переключении режима V-Sync;
* Исправлена перезагрузка шейдеров и настроек при загрузке защищенных карт;
* Исправлен рендеринг теней в главном меню;
* Исправлена утечка памяти;
* Исправлены вылеты при смене разрешения экрана;
* Исправлены вылеты при воспроизведении роликов;
* Исправлена загрузка ресурсов из RenderEdge_exp.mpq;
* Исправлены неправильные пути текстур в RenderEdge.ini.
v0.1.2a
* Добавлена возможность выбора температуры направленного источника света;
* Добавлена обработка стандартных теней юнитов на воде;
* Добавлена возможность выбрать единицу измерения интенсивности точечных источников света;
* Добавлена возможность использовать улучшенную матрицу проекции;
* Добавлена возможность загрузки текстур и шейдеров из папки с RenderEdge (AllowLocalFiles в реестре);
* Добавлена возможность загрузки шейдеров из карты;
* Добавлена опция, позволяющая исправить дрожание скайбокса при перемещении камеры;
* Чтение настроек из RenderEdge.ini (поиск файла в карте, в папке с RenderEdge (при включенном AllowLocalFiles), в .mpq архивах);
* Теперь опция Disable Unit Shadows отключает тени юнитов и на земле, и на воде;
* Уменьшено потребление оперативной памяти при использовании каскадных теней;
* Снято ограничение на количество объектов, способных одновременно откидывать тени;
* Улучшено качество теней;
* Улучшен интерфейс настроек;
* Улучшен режим свободной камеры: камера от первого лица, нет зависимости от высоты ландшафта;
* Отключены мягкие тени (можно включить, отредактировав шейдер ShadowCommon.fxh);
* Тени не рендерятся если игра на паузе;
* Отображение версии RenderEdge в главном меню игры в правом нижнем углу;
* Оптимизация Debug Screen;
* Исправлен баг: модель основания здания имела освещение юнитов вместо ландшафта, и откидывала тени;
* Исправлена некорректная интенсивность точечных источников света;
* Игра больше не вылетает при использовании теней;
* Исправлено периодическое исчезание теней при перемещении и вращении камеры;
* Тени ландшафта снова работают корректно.
v0.1.1a
* Добавлены контактные тени (Screen Space Ray-Traced Shadows);
* Добавлена поддержка погодных эффектов;
* Добавлен туман для скайбокса;
* Улучшен Color Grading: добавлена отдельная настройка Shadows, Midtones и Highlights;
* Добавлена возможность вручную задать гамму монитора: Output Device - Explicit gamma mapping (LDR);
* Добавлена возможность выбрать размер текстуры теней;
* Добавлены расширенные настройки Ambient Occlusion;
* Добавлена возможность скрыть интерфейс, отключить туман войны и тени юнитов в режиме Default Renderer;
* Улучшен режим Debug Screen: отображение на весь экран;
* Оптимизация Auto Exposure;
* Оптимизация Rendering Pipeline;
* Добавлены описания exe и dll файлов;
* Исправлен баг: модели зданий при выборе места строительства не обрабатываются;
* Исправлена некорректная работа Auto Exposure при ограниченном viewport;
* Исправлена некорректная работа SSR при включенном Temporal AA;
* Исправлена некорректная работа пост-эффектов при нестандартных настройках плоскостей отсечения камеры;
* Исправлено влияние режима свободной камеры на отображение портрета;
* Исправлено некорректное размытие SSAO при включённом downsampling;
* Исправлены баги в JassAPI (конвертация real <=> float);
* Исправлен сдвиг камеры при включении режима свободной камеры;
* Исправлено влияние высоты ландшафта на высоту свободной камеры.
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 архивов;
* Исправлена некорректная яркость точечных источников света.
v0.0.2a
* Новый пост-эффект Bloom;
* Добавлены настройки Lens Dirt;
* Добавлена возможность протестировать самосветящиеся материалы (см. вкладку Material);
* Unshaded материалы выключены по умолчанию, их можно включить на вкладке Material;
* Исправлены проблемы с конвертацией цвета стандартных источников света/тумана в линейное пространство;
* Исправлена проблема, при которой нельзя было менять освещение в картах, где была вызваны функция SetDayNightModels("", "");
* Добавлен счётчик памяти, используемой варкрафтом;
* Debug Screens теперь работают.
v0.0.1a
* Первая стабильная сборка.
Ред. ENAleksey
вот же блин, пока писал, забыл вопрос, который хотел задать
Ах,да. насчет шрифтов:
будет ли реализована загрузка шрифтов из импорта самой карты/кампании/архива?
Ред. ENAleksey
Work In Progress
Ред. ENAleksey
Релиз экспериментальной версии 0.0.1a
Особенности:
Исправления оригинальной игры:
Известные проблемы:
Скачать
Скриншоты