[RenderEdge] Экспериментальная версия

» опубликован

Актуальная версия v0.1.2a

Особенности

  • (+) Каскадные тени;
  • (+) Расчёт освещения в линейном пространстве;
  • (+) Physically Based Shading;
  • (+) ACES Tonemapping and Color Correction;
  • (+) Screen Space Reflections;
  • (+) Temporal Anti-Aliasing;
  • (+) Contact Shadows;
  • (-) Использование моделей из .obj, .3ds, .dae, .blend файлов;
  • (-) Модификация .mdx/.mdl формата моделей: добавление карт нормалей и .dds/.blp2 формата текстур;
  • (+) Поддержка пользовательских шейдеров для пост-эффектов и моделей;
  • (-) Модификация War3 Model Editor;
  • (-) Добавление новых возможностей в World Editor.
Баги:
  • Вылеты игры при переключении режима вертикальной синхронизации в главном меню в оконном режиме;
  • Некоторые пост-эффекты работают некорректно при ограниченном viewport.

Скриншоты

» Старая версия

Установка

Папку можно разместить в любом месте на диске.

Требования:

Редактирование стандартных шейдеров

Всего 4 шейдера, которые можно редактировать: Standard.fx, Shadows.fx, PostProcess.fx и Skybox.fx. Они должны быть скомпилированы с помощью FXC, находиться в папке Shaders и иметь расширение .cso.


В редакторе реестра можно включить опцию, позволяющую загружать файл настроек, шейдеры и текстуры из папки с 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

Изменения

Следите за разработкой RenderEdge на Trello.
v0.1.2a
  * Добавлена возможность выбора температуры направленного источника света;
  * Добавлена обработка стандартных теней юнитов на воде;
  * Добавлена возможность выбрать единицу измерения интенсивности точечных источников света;
  * Добавлена возможность использовать улучшенную матрицу проекции;
  * Добавлена возможность выбора Culling Mode для рендеринга теней;
  * Добавлена возможность загрузки текстур и шейдеров из папки с 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
  * Первая стабильная сборка.


Просмотров: 46 499



» Лучшие комментарии


darkowlom #1 - 3 года назад 2
Возможно избавиться от нирваны нафиг, а оставить только это?
Melissa #2 - 3 года назад 0
На хрюшке это добро смогёт пахать?

[Это если чё на семёрке]
darkowlom #3 - 3 года назад 0
Melissa, у меня работает, правда пришлось заходить с акка админа - лень доступ выдавать было
EfReeZe #5 - 3 года назад 2
Дану, качать Нирвану ради демки - это перебор.
darkowlom #6 - 3 года назад 0
Melissa, разблокируй админа через консоль и зайди из под него - поможет
Raised #7 - 3 года назад 0
Почему-то текстуры белого цвета, только горы в дали напоминают деформированную шахматную доску.
ENAleksey #8 - 3 года назад (отредактировано ) 0
Пока нужны все файлы из проекта Nirvana + переделанная .dll библиотека + папка с текстурами. Далее оставлю только 2 лончера (запуск игры, запуск WorldEditor), длл'ку с графонием, файлы из SharpCraft и папку с текстурами и шейдерами/эффектами.
Melissa, на XP не работает только ReShade, да он и не нужен.
Melissa, права админа дал?
RiseD, у тебя консоль с SharCraft'ом как у Melissa, появлялась? Какая ОСь? Запускаешь через [RenderEdge] Start.bat?
Ещё забыл сказать, как выходить из игры: "Alt"+"F4" => "Tab" => "Enter".
Напоминаю, что дополнительную информацию о проекте можете найти в данной теме.
Обновил главную тему.

Обновление

  • ReShade выключен по умолчанию;
  • Добавил подсказки;
  • Parallax Mapping (пока работает не так, как нужно);
  • Specular (то же самое);
Чтобы использовать Parallax Mapping, киньте в папку с WarCraft III файл (parallax)Nir_Plugin_RenderCraft.dll вместо Nir_Plugin_RenderCraft.dll и сотрите "(parallax)" в названии.
Если уже скачали старый архив, качаем этот, кидаем папку с текстурами, кидаем нужную вам библиотеку с заменой.
Melissa #9 - 3 года назад 0
Melissa, права админа дал?
ну да, нирване и 3 в папке шарпкрафта.
darkowlom:
Melissa, разблокируй админа через консоль и зайди из под него - поможет
Подскажешь как? :-(
alexprey #10 - 3 года назад 0
Вообще ужасно работает
Уж слишком большие колдобины, нормал маппинг есть?
ENAleksey #11 - 3 года назад 0
Вообще ужасно работает
Уж слишком большие колдобины, нормал маппинг есть?
Ты о чём?
alexprey #12 - 3 года назад 0
ENAleksey, про последний скрин
ENAleksey #13 - 3 года назад (отредактировано ) 0
Parallax Mapping (пока работает не так, как нужно)
С Normal Mapping всё хорошо.
Может кто поможет: www.gamedev.ru/code/forum/?id=204891
Melissa, попробуй отключить ReShade:
в файле Nirvana.ini закоментировать строчку +ReShade.dll;
Дану, качать Нирвану ради демки - это перебор.
Всё будет, всё исправлю, но потом.
Raised #14 - 3 года назад 0
ENAleksey, консоль появилась на секунду-две, разглядеть её толком не успеваю. Запускал через "RenderEdge] Start.bat". Запускает мапу, но текстуры все белые.
ENAleksey #15 - 3 года назад 0
RiseD, а Нирвану скачал? Всё указывает на то, что нет.
Raised #16 - 3 года назад 0
ENAleksey, Нирвану установил в папку с варом, RenderEdge установил туда же, согласился на перезапись, разрешил запуск 4-х файлов с админ. правами.
ENAleksey #17 - 3 года назад 0
Всё, понял, я не тот SharpCraft закинул (у меня в одной папке их 3 шт.). Держи, кидай в папку с шарпом.
Melissa #18 - 3 года назад (отредактировано ) 0
это следует всем перекачивать?
ENAleksey #19 - 3 года назад (отредактировано ) 0
Обновил тему, после её утверждения сможете скачать работающую версию из пункта #2.
В подпункте будет ReShade.
Melissa #20 - 3 года назад 0
в файле Nirvana.ini закоментировать строчку +ReShade.dll;
не помогло
ENAleksey #21 - 3 года назад 0
Скачал файл из 17 комментария?
Баз него не заработает.
Melissa #22 - 3 года назад 0
Скачал файл из 17 комментария?
да
ENAleksey #23 - 3 года назад 0
  • Попробуй удалить строчку -loadfile и всё после неё.
  • Попробуй запустить батник от админа.
  • Запустить в окне.
  • Попробуй запустить батник sharpcraft.exe -game.bat из папки с шарпом.
Странно у darkowlom и RiseD запускается.
Raised #24 - 3 года назад 0
Эх. перепроверю позже. Из того что увидел скажу что идея классная и мод стоит развивать. Кст., вижу не только у меня проблемы с камерой.
Melissa #25 - 3 года назад 0
UPD: на XP тот же самый результат.
ENAleksey:
Попробуй удалить строчку -loadfile и всё после неё.
ничего не изменилось
ENAleksey:
Попробуй запустить батник от админа.
уже пробовал, результат тот же
ENAleksey:
Запустить в окне.
уже пробовал, результат тот же
ENAleksey:
Попробуй запустить батник sharpcraft.exe -game.bat из папки с шарпом.
и опять то же самое.
Хоть бы раз что-то другое было, для разнообразия
darkowlom #26 - 3 года назад 0
Melissa, net user администратор /active:yes
В консоли запущенной от прав администратора
ENAleksey #27 - 3 года назад 0
Melissa, у меня даже на ХР запускается.
RiseD:
вижу не только у меня проблемы с камерой.
Какие проблемы?
darkowlom #28 - 3 года назад 0
ЕСли версия англоязычная администратор тоже пиши на английском
Raised #29 - 3 года назад 0
ENAleksey, она ведёт себя неадекватно если бродить по горам. Ну или я что-то ещё не так установил.
ENAleksey #30 - 3 года назад (отредактировано ) 0
Melissa, да, кстати, попробуй запускать батник через диспетчер задач с правами админа.
RiseD, я пока не готовил камеру к таким испытаниям. И гор там быть не должно - всё моя лень.
А что с графикой, работает?
Тема обновлена.
Melissa #31 - 3 года назад 0
на другом компьютере то же самое.
мб твоё добро не идёт на пиратке? :D Ибо я проверил уже и чистую и модированную версию
ENAleksey #32 - 3 года назад 0
Вы про пиратку винды или варика?
Придётся качать пиратскую Винду и тестить...
Melissa #33 - 3 года назад 0
варика*
о плин, на секунду опоздал
ENAleksey #34 - 3 года назад 0
У меня у самого пиратка, все пашет,ENAleksey:
даже на ХР
Melissa #35 - 3 года назад 0
Да я вам верю, Бюссе. Почему вот у меня трижды не пашет - вот в чём загадка.
ENAleksey #36 - 3 года назад 0
Melissa #37 - 3 года назад 0
Это касается только семёрки или хрюши тоже?
На хрюшке не хочет
ENAleksey #38 - 3 года назад 0
Если на семерке не поможет, то на ХР смысла пробовать нет.
Melissa, может всё-таки вместо "администратор" писать его имя?
В консоли от имени админа. И на семерке.
Melissa #39 - 3 года назад 0
ок я дамми. На хрюхе там был Admin, но на 7 нету никого больше.
И вообще, разве должно это помочь, если учётная запись и так администратор, а не "limited"?
ENAleksey #40 - 3 года назад 0
Кто мне плюсик поставил? Признавайтесь как оно?
darkowlom #41 - 3 года назад 0
Melissa, должно, это на семерку. Учетки-админы всех прав не имеют, напиши с большой буквы попробуй
ENAleksey #42 - 3 года назад 0
darkowlom, у тебя самого рисуется, что нужно? Или ещё не пробовал запускать?
Melissa #43 - 3 года назад (отредактировано ) 0
Получилось) но из-под администратора всё то же самое.
А если запустить игру отдельно, то не запускается карта.
но из-под админа почернело всё в варике, попытка поменять разрешение приводит к фаталу
ой лол, а на скрине не чёрное а нормальное
ну вообщем не из-под админа всё как обычно, а с админа чёрное всё в игре
ENAleksey #44 - 3 года назад 0
почернело всё в варике, попытка поменять ра
Так и должно быть: я отключил функции отрисовки всего, что хочет рисовать варкрафт, чтобы снизить нагрузку.
Melissa:
Получилось
Через шарпкрафт? Без него карта не запустится.
Melissa #45 - 3 года назад 0
Через шарпкрафт
То же самое, стабильное неизменное окошко.
ENAleksey #46 - 3 года назад 0
Только через него, иначе никак.
Ну можно, конечно, но тогда только со стандартной камерой и управлением, точнее вообще без него.
Melissa, можешь сам достать модельки из моей карты, вставить в свою, расставить их, запустить свою карта без шарпкрафта.
Melissa #47 - 3 года назад 0
ENAleksey, ну теперь у меня просто белые модельки)
короче жду нового патча, мб эта фигня с ошибками сама собой пропадёт хД
Raised #48 - 3 года назад 0
ENAleksey, неа. Не работает. Ресетнул всё. Не работает. Только вар на очереди.
ENAleksey #49 - 3 года назад 0
Всё, теперь должен работать: до этого опять не тот SharpCraft положил.
Скачать
Ну, теперь работает, или проблема в чём-то другом?
Извините, что повторяю, но мне нужно знать, стало работать, и если нет, то в чём проблема?
Alexander12 #50 - 3 года назад 0
ошибка