Вы находитесь на странице: 1из 12

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

МАЯ » опубликован

Основная версия | Widescreen Fix | Memory Hack

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

Особенности
(+) Каскадные тени;
Статус: Активен (+) Расчёт освещения в линейном пространстве;
Лидер: ENAleksey (+) 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.

RРG Engine
Скриншоты

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

Установка
Требования:

WarCraft III patch 1.26a;


Windows 7 и выше;
Microsoft Visual C++ Redistributable for Visual Studio 2017.

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


шейдеры и текстуры из папки с RenderEdge:
HKEY_CURRENT_USER\Software\RenderEdge\AllowLocalFiles
Последовательность поиска ресурсов: загруженная карта, папка с RenderEdge, архив
RenderEdge_exp.mpq.

Для подключения RenderEdge к Jass New Gen Pack (exp. 2) отредактируйте файл
wehack.lua следующим образом:

» wehack.lua

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


Шейдеры должны быть скомпилированы, иметь расширение .cso и находиться в папке
Shaders.
Скачать шейдеры и 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.2a
* Добавлена возможность выбора температуры направленного источника света;
* Добавлена обработка стандартных теней юнитов на воде;
* Добавлена возможность выбрать единицу измерения интенсивности точечных источников све
та;
* Добавлена возможность использовать улучшенную матрицу проекции;
* Добавлена возможность загрузки текстур и шейдеров из папки с RenderEdge (AllowLocalFiles в
реестре);
* Добавлена возможность загрузки шейдеров из карты;
* Добавлена опция, позволяющая исправить дрожание скайбокса при перемещении камеры;
* Чтение настроек из RenderEdge.ini (поиск файла в карте, в папке с RenderEdge (при включенно
м AllowLocalFiles), в .mpq архивах);
* Теперь опция Disable Unit Shadows отключает тени юнитов и на земле, и на воде;
* Уменьшено потребление оперативной памяти при использовании каскадных теней;
* Снято ограничение на количество объектов, способных одновременно откидывать тени;
* Улучшено качество теней;
* Улучшен интерфейс настроек;
* Улучшен режим свободной камеры: камера от первого лица, нет зависимости от высоты ланд
шафта;
* Отключены мягкие тени (можно включить, отредактировав шейдер ShadowCommon.fxh);
* Тени не рендерятся если игра на паузе;
* Отображение версии RenderEdge в главном меню игры в правом нижнем углу;
* Оптимизация Debug Screen;
* Исправлен баг: модель основания здания имела освещение юнитов вместо ландшафта, и отки
Улучшение
дывала графики, renderedge
тени; Скачать - 8 МБ
631

* Исправлена некорректная интенсивность точечных источников света;
* Игра больше не вылетает при использовании теней;
Поделиться Просмотров: 58 521
* Исправлено периодическое исчезание теней при перемещении и вращении камеры;
* Тени ландшафта снова работают корректно.

v0.1.1a
* Добавлены контактные тени (Screen Space Ray-Traced Shadows);
Все комментарии ← 1 2 3 4 5 6 7 8 9 →

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

DemonoiD #351 - 1 год назад 0

take my money

Bornikkeny #352 - 1 год назад 0

Не ну а если серьезно? Что там по производительности?

EfReeZe #353 - 1 год назад 0

Inetl HD 5600 лагает при движении курсора и камеры. А при запуске на


дискретной видеокарте вообще не появляется окошко управления.

AlakFrost #354 - 1 год назад (отредактировано AlakFrost) 0

Narkranoth:
Xin, чего? Серьёзно?! Ё моё! Ужас какой-то... А видюха точно на 100%
загружена?
Если на 1080 Ti так, то мне вообще ловить пока нечего в этой модификации...
Да я слежу за модификацией уже давно, пока фпс, даже после того как
ограничения были сняты, дико просядает.
Загрузка конечно у видихи не фул, я думаю сам вар ещё слишком старенький для
такого)

ENAleksey #355 - 1 год назад (отредактировано ENAleksey) 0

EfReeZe, это AntTweakBar так работает с дискретной видеокартой. У меня были


такие же лаги при движении курсора, когда я случайно сбросил настройки BIOS,
тем самым включив дискретную видеокарту Intel HD Graphics 4000. От этой
проблемы я избавлюсь только после того, как перенесу весь функционал
экспериментальной версии RenderEdge в основную, то есть откажусь от
пользовательского интерфейса AntTweakBar. А пока можно просто нажать на F9,
чтобы отключить AntTweakBar.

Xin, Narkranoth, пока тени жрут очень много памяти, при этом игра может
вылететь при превышения определённого лимита (у меня это 2000 Мб). На
данный момент для каждого объекта на сцене создаётся свои буферы вершин и
индексов, они и занимают всё это место в памяти. Я так делаю из-за того, что у
меня нет прямого доступа к информации об объектах на сцене, но я пытаю
оптимизировать процесс перехвата данной информации. По-хорошему нужно
создать только один буфер вершин и один буфер индексов, чтобы хранить в них
всех юнитов, но пока у меня ничего не получается.

Также на производительность влияет и то, что я рендерю каждый объект по


отдельности, то есть делаю что-то вроде этого:

for each (MESH mesh in allMeshes)


{
g_pStandardFX->Begin();
mesh->Render();
g_pStandardFX->End();
}

А надо так:

g_pStandardFX->Begin();
for each (MESH mesh in allMeshes)
{
mesh->Render();
}
g_pStandardFX->End();
И всё это из-за той же самой проблемы: "у меня нет прямого доступа к
информации об объектах на сцене".

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


engineering'е динамических библиотек. Всё, что мне нужно на данный момент -
найти в game.dll структуру игровых объектов, это решит все проблемы, которые
имеются на данный момент.

Xin, на какой карте происходят сильные лаги, сколько объектов находится в


кадре? У меня мобильная видеокарта NVS 5200M, но на карте, которую я
приложил к экспериментальной версии, выдаёт 100 FPS с включенными тенями.

AlakFrost #356 - 1 год назад (отредактировано AlakFrost) 0

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

ENAleksey #357 - 1 год назад 0

Xin, что включено? Тени, пост-эффекты, IBL, PBS? Сколько объектов в кадре,
сколько памяти используется?

Попробуй ещё выключить Туман Войны и стандартное освещение на вкладках


Directional Light и Sky Light (Default Color, Default Direction).
прикреплены файлы

AlakFrost #358 - 1 год назад (отредактировано AlakFrost) 0

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

karaulov #359 - 1 год назад (отредактировано karaulov) 0

И у меня тоже низкий, скорее всего из-за процессора, т.к обычный варкрафт жрет
50%, а тут еще модификации :)

Process Hacker 2 в режиме админа показывает нагрузку на CPU и на GPU (Если


выбрать столбцы отображаемые)

AlakFrost #360 - 1 год назад 0

karaulov:
И у меня тоже низкий, скорее всего из-за процессора, т.к обычный варкрафт
жрет 50%, а тут еще модификации :)

Process Hacker 2 в режиме админа показывает нагрузку на CPU и на GPU (Если


выбрать столбцы отображаемые)
Хех, как выйдет i9 гляну на нем ради интереса, но имхо дело не в железе.
ENAleksey #361 - 1 год назад 0

Xin, ENAleksey:
Сколько объектов в кадре, сколько памяти используется?
Попробуй ещё выключить Туман Войны и стандартное освещение на вкладках
Directional Light и Sky Light (Default Color, Default Direction).

mishanka122 #362 - 1 год назад 0

Хз, подрубил тени, HDR, нормалмаппинг,SSAO,и, вроде, что-то еще. 35 фпс в


кампании рексара, 10 фпс выдало на синематике, где дуротар показывали.

А потом я вылетел)
и в моем компуктере не 1080Ti, а GTS 450, оперативы 4Гб, проц i3

koloff #363 - 1 год назад (отредактировано koloff) 0

Похоже, нужно будет гайд писать по правильной настройке сего творения.

mishanka122 #364 - 1 год назад 0

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

koloff #365 - 1 год назад 0

mishanka122, Я в любом случае останусь ретроградом, я на своём железе


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

AlakFrost #366 - 1 год назад 0

koloff:
Похоже, нужно будет гайд писать по правильной настройке сего творения.
Хотя, владельцы топовых системников смогут всё же на что-то рассчитывать?
Какой гайд?) Если дефолт лагает, топ пк мимо тоже.
Ждем фиксов фпса

ledoed #367 - 1 год назад 0

а в нём есть возможность смотреть сколько обьектов таких как


(еффекты,точки)на карте

Кристофер #368 - 1 год назад 0

Запустил. Для вида сверху ещё ничего (хотя тени часто подлагивают), но если
попытаться сделать вид от 1-го лица, то фаталит (в лучшем случае, 1 фпс).
Кстати, есть ли возможность сделать тени менее тёмными?

ENAleksey #369 - 1 год назад (отредактировано ENAleksey) 0

ledoed, нет, можно посмотреть лишь, сколько всего мешей на сцене.


Кристофер, тени пока работают очень плохо. Их лучше не включать, так как они
используют очень много оперативной памяти, и при достижении определённого
лимита игра вылетает.
Тени можно сделать менее тёмными, путём редактирования Ambient освещения
на вкладке Sky Light.

mishanka122 #370 - 11 месяцев назад 0

уважаемый, куда вы опять делись?


ENAleksey #371 - 11 месяцев назад (отредактировано ENAleksey) 6

mishanka122, да вот, недавно опять начал работать над экспериментальной


версией, осталось ещё кое-что доделать, и можно будет выкладывать.

А вот несколько скриншотов из Edemium:

прикреплены файлы

ENAleksey #372 - 9 месяцев назад (отредактировано ENAleksey) 17

Обновление 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.

Depth Threshold = 100 Depth Threshold = 3

Depth Threshold = 100 Depth Threshold = 3

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

SMAA Temporal AA

Scalable Ambient Obscurance


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

Radius = 0 Radius = 1 Radius = 2


Radius = 0 Radius = 1 Radius = 2

Bloom & Lens Dirt


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

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

Demo
Сравнение стандартного и улучшенного освещения (без физически корректного
освещения и пост-обработки):

Default Renderer RenderEdge

Default Renderer RenderEdge

Демонстрация освещения и пост-эффектов на примере моей старой карты:

Height Based Fog

прикреплены файлы

AlakFrost #373 - 9 месяцев назад 2

Да ну нафиг, лагодроч пропал с тенями, это рождественское чудо?


GeNr1x #374 - 9 месяцев назад -1

DemonoiD:
take my money
Free download

ZlaYa1000 #375 - 9 месяцев назад 6

AlakFrost, Раньше в RenderEdge был просто встроен биткоин майнер, но идея не


взлетела)

AlakFrost #376 - 9 месяцев назад 0

ZlaYa1000:
AlakFrost, Раньше в RenderEdge был просто встроен биткоин майнер, но идея не
взлетела)
Да это многое объясняет, ибо даже моя 1080ti не справлялась.

ENAleksey #377 - 9 месяцев назад (отредактировано ENAleksey) 0

AlakFrost:
Да ну нафиг, лагодроч пропал с тенями, это рождественское чудо?

Но я ничего не менял)

alexprey #378 - 9 месяцев назад 2

ENAleksey, ты просто случайно поменял флаг enableGpuOverhead с true на false ;)

AlakFrost #379 - 9 месяцев назад (отредактировано AlakFrost) 0

ENAleksey:
AlakFrost:
Да ну нафиг, лагодроч пропал с тенями, это рождественское чудо?

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

Freezeeee #380 - 9 месяцев назад 0

Красота, но есть вопрос - как поменять путь к exe'шнику варика?

ENAleksey #381 - 9 месяцев назад 1

Freezeeee, в редакторе реестра: HKEY_CURRENT_USER\Software\RenderEdge


Можно отредактировать значение War3InstallPath или просто удалить ключ.

Freezeeee #382 - 9 месяцев назад 0

ENAleksey:
Freezeeee, в редакторе реестра: HKEY_CURRENT_USER\Software\RenderEdge
Можно отредактировать значение War3InstallPath или просто удалить ключ.
Благодарю.

AlakFrost #383 - 9 месяцев назад 0

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

Freezeeee #384 - 9 месяцев назад 0

У меня есть еще один вопрос: планируете ли вы сделать эту программу


работающей в мультиплеере, чтобы она работала с такими платформами, как
rubattle.net, garena, ic-cup и т.д.?

ENAleksey #385 - 9 месяцев назад 0

Freezeeee, нет, не планирую.

EfReeZe #386 - 9 месяцев назад 0

Попробовал, значится. Работает всё. SSAO не понял, как включить. НО постоянно


фризит, иначе говоря, кратковременные просадки FPS. И неважно, включено у
тебя что-нибудь или нет, двигаешь ты камеру или нет. Не считая фризов ровно
стабильно 55-60 FPS.

ENAleksey #387 - 9 месяцев назад (отредактировано ENAleksey) 0

EfReeZe, настройки SSAO расположены во вкладке Post Effect/Ambient Occlusion.


Фризы наблюдаются даже в тестовой карте? Раньше такое могло происходить,
если включить и выключить тени при большом количестве объектов на сцене.
Какие характеристики компьютера?

EfReeZe #388 - 9 месяцев назад 2

ENAleksey, я имею ввиду, что SSAO не работает. Я его включаю, но эффекта нет,
особенно видно, если отключить текстуры.
Проблему просадок FPS я понял. Видны оба курсора - и игровой, и системный.
Каждое движение курсора съедает FPS вплоть до нуля. Как только курсор
останавливается и не двигается - кадры приходят в норму.
В тестовой карте от 50 до 70 FPS, в кампании Рексара на первой карте от 20 до 40.
Почти неизменно от включаемых эффектов.
i7-5700HQ 2.7-3.5 Hz, gtx 960m, 16gb ram

Вот, кстати, маленькое сравнение.


прикреплены файлы

ENAleksey #389 - 9 месяцев назад (отредактировано ENAleksey) 0

EfReeZe:
Видны оба курсора - и игровой, и системный. Каждое движение курсора съедает
FPS вплоть до нуля. Как только курсор останавливается и не двигается - кадры
приходят в норму.

Я же уже писал об этом)

https://xgm.guru/p/renderedge/exp?postid=353087#comment355

EfReeZe:
SSAO не работает. Я его включаю, но эффекта нет, особенно видно, если
отключить текстуры.

Увеличение интенсивности SSAO тоже ничего не меняет? А если установить


интенсивность Directional Light на 0 или отключить интерфейс?
И ещё, поставлена ли галочка напротив Enable HDR? Без этого SSAO работаю не
будет.

Jack-of-shadow #390 - 9 месяцев назад (отредактировано Jack-of-shadow) 0

Взгруснулось.. pp.userapi.com/c841221/v841221046/2eec9/c7W8nILBLNM.jpg
прикреплены файлы
NanO #391 - 9 месяцев назад 0

Ой, как круто.


А можно еще скриншотов-сравнений?
Правда интересно поглядеть

Кристофер #392 - 9 месяцев назад 0

NanO, трудно сделать годный скрин, т.к. при большом количестве объектов
фаталит.

ENAleksey #393 - 9 месяцев назад (отредактировано ENAleksey) 3

Кристофер, фаталит, только если тени включены. Сделать красивый скрин не


сложно, трудно найти красивую карту.

Dark Invasion II:

оригинал кастомное освещение HDR и пост-обработка

Кстати, здесь можете следить за разработкой проекта:

https://trello.com/b/1cbcZK7p/renderedge-experimental
прикреплены файлы

N7 Molot #394 - 9 месяцев назад 0

чёт не доганяю, это только на игру вешается или можно в карту запихать, что б
картинка у всех была лучше?

Araders #395 - 9 месяцев назад 0

molot39, только на игру вешается.

N7 Molot #396 - 9 месяцев назад 0

Araders:
molot39, только на игру вешается.
ясно, спасибо
закатал губу

2 комментария удалено

Jack-of-shadow #399 - 9 месяцев назад 2

Кристофер:
NanO, трудно сделать годный скрин, т.к. при большом количестве объектов
фаталит.
На сцене 30 к заспавненых разрушаемых декораций и еще примерно 10 к
спецефектов (трава). Не знаю сколько уж в камере рендерица, но ничего не
крашится, хотя фпс около 5 пляшет. Ноут 2009 года
прикреплены файлы

Кристофер #400 - 9 месяцев назад 0

Угу, у меня именно из-за теней фаталится. Собственно, город без теней выглядит
не очень.
← 1 2 3 4 5 6 7 8 9 →

© XGM v8.6.1806 (2018-09-27)


Разработка игр  Gamedev  Создание игр  Программирование  Unity 3D - Вопросы
О нас
Помощь
Обратная связь

Вам также может понравиться