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

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 516
* Исправлено периодическое исчезание теней при перемещении и вращении камеры;
* Тени ландшафта снова работают корректно.

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

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

NanO #401 - 9 месяцев назад 0

Очень круто, спасибо за скрины.

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

Сделал вот без теней.

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

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

И так, пару замечаний, кои оформить нормально я не могу, потому что я


навключал всего подряд для проверки фпс.

На данном скрине не видно, но атака сфинкса молнией вокруг "квадратна". Я не


успеваю заскринить этот момент.

» раскрыть

Далее из мелких раздражающих нюансов.


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

Не отказался бы от краткого тз или описания программного продукта, дабы знать


несведующему что за что отвечает, и что я должен увидеть, после того как
кликну какую-нибудь кнопку.

Что касательно самого главного что я проверял - фпс. Стабильные 31-32 чтобы я
не делал. Без всех эффектов - 99. Жаль, что в сборке нет фпс-локера.

Системки - 16 гигов оперативы, AMD FX - 8320 8 ядерный, GTX 650 на 2 гига.


Монитор - говно.

В общем и целом, если мелкие вышеописанные визуальные баги будут устранены,


можно уже пиарить в масс медиа с помощью ютуберов с 30к подписчиками.
А, все, господа. Я понял о каком фпсе вы говорите.

» раскрыть
прикреплены файлы

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

DemonoiD:
атака сфинкса молнией вокруг "квадратна"

Это из-за того, что включен Physically Based Shading, а оригинальные материалы
моделей варкрафта не затачивались под него. К тому же модель атаки сфинкса
не является unshaded (хотя, логичнее было бы, если являлась), поэтому и
наблюдаются такие артефакты.
DemonoiD:
Цветофильтры не обрабатываются у ещё не созданных игроком объектов

Спасибо за выявление бага, исправил.


DemonoiD:
а так же в некоторых анимациях у юнитов или при клике на юнита (например у
древа ветров)

Можно больше примеров, желательно со скриншотами? У меня всё в порядке, в


том числе и с Древом Ветров.
DemonoiD:
Не работают пост эффекты на миникарту и иной интерфейс, а хотелось бы. Или
хотя бы на лицевую-модель юнита.

Это сделано специально. Зачем применять пост-эффекты к интерфейсу? Это


смотрится отвратительно:

» Скриншот

Про портрет я ещё подумаю, но, скорее всего, оставлю как есть.
DemonoiD:
А, все, господа. Я понял о каком фпсе вы говорите.

Тени лучше не использовать на сценах с большим количеством объектов, так как


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

Позже добавлю всплывающие подсказки при наведении на кнопки.

WIP: Contact Shadows


На примере карты Долина призыва дождя

Контактные тени вычисляются в экранном пространстве и позволяют получить


чёткие тени даже от самых маленьких объектов. Производительность не зависит
от сложности сцены.

Off On

Shadows Off Cascaded Shadows Cascaded + Contact Sh…

Cascaded Shadows Cascaded + Contact Sh… Shadows + Ambient Oc…

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


их в новую версию RenderEdge.

P.S. Следите за разработкой RenderEdge на Trello.


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

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

ENAleksey, ну смотри. В gad, все объекты сцены - декорации. По факту,


анимированных теней там совсем немного, 10-15 юнитов на всю карту. Возможно,
стоит разделить потенциально анимированные и статические тени, дабы
рассчитывать статику большим промежутком времени, понижая нагрузку на
частоту кадров, и дать время обновления под управление пользователю.
При наличии огромного числа анимированных теней, можно просто снижать их
качество. Так же как делают с текстурами в любой современной игре.

Ещё один из забавных багов. Управляя камерой стрелочками в war3, я получил


теоретическую карту расчитываемых теней в углу экрана.

» раскрыть

Вот здесь ещё лучше видна данная забавная штуковина.


» раскрыть
прикреплены файлы

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

DemonoiD, узнать, является ли модель анимированной, не получится. Если


обновлять тени через определенный промежуток времени, то это будет очень
заметно. Тени можно не обновлять только если камера и направление источника
света статичны, и объекты в кадре тоже не движутся (а узнать, двигаются они
или нет, невозможно).
А про низкий фпс я писал в начале предыдущей страницы.
DemonoiD:
Ещё один из забавных багов

Это не баг, а средство для отладки - Debug Screen (этот параметр виден на твоих
скринах). Ты случайно включил его, управляя интерфейсом с помощью стрелочек.

DemonoiD, пожалуйста, прячь большие картинки под спойлер.

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

Баг с подсветкой повторить не удалось. Зато я нашел шедевральный рисованный


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

» раскрыть

ENAleksey,
Возможно ли при включении теней в RE, выключать автоматически стандартные
тени war3?
Возможно ли при огромном количестве объектов сцены, убирать с просчета
лишние тени по приоритету? (Зачем мне тень маленьких светлячков древа
долголетия, если все лагает?)

(а узнать, двигаются они или нет, невозможно).


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

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

DemonoiD:
Возможно ли при включении теней в RE, выключать автоматически стандартные
тени war3?

Disable Unit Shadows - отключает стандартные тени юнитов.


Disable Fog of War - отключает стандартные тени зданий, но ещё и туман войны.
Отключить только тени пока нельзя.

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

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

Обычные пост эффекты и шейдеры типо cel shading и rim light, которые доступны
в юне или анриле, зачем изобретать велик на варике?

DrTema #410 - 9 месяцев назад 0

Очень круто выглядит, жаль что для версии 1.26, а то использую 1.28.5
DemonoiD #411 - 9 месяцев назад 2

DrTema, у меня вроде на более поздней пашет. Я честно не помню версию.

AlakFrost, потому что это на варике. Это же очевидно.

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

GF RaiseD:
Кст., вижу не только у меня проблемы с камерой.
она ведёт себя неадекватно если бродить по горам. Ну или я что-то ещё не так
установил.

Лучше поздно, чем никогда :)


Вот функция, которая исправляет зависимость высоты камеры от высоты
ландшафта:

function SetCameraZ takes real z, real time returns nothing


local real zDiff = GetCameraField(CAMERA_FIELD_ZOFFSET) - GetCameraTargetPositionZ()
call SetCameraField(CAMERA_FIELD_ZOFFSET, z + zDiff, time)
endfunction

ENAleksey #413 - 9 месяцев назад 13

Обновление 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);
Исправлен сдвиг камеры при включении режима свободной камеры;
Исправлено влияние высоты ландшафта на высоту свободной камеры.

Contact Shadows
Контактные тени вычисляются в экранном пространстве и позволяют получить
чёткие тени даже от самых маленьких объектов. Производительность не зависит
от сложности сцены.
Но на данный момент присутствует серьёзная проблема - направление, в котором
объекты отбрасывают тени, зависит от направления взгляда камеры.
Off On

Color Grading
Теперь Color Grading и Tonemapping по функционалу полностью аналогичны
соответствующим эффектам из Unreal Engine 4:
Color Grading and Filmic Tonemapper
Это сообщение удалено

HuNter32R #415 - 9 месяцев назад 0

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

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

HuNter32R, пока сохранять настройки нельзя, но я обязательно добавлю такую


возможность.

Raised #417 - 9 месяцев назад 0

ENAleksey, 1.29. Не знаю когда выйдет, но это должны пофиксить.

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

Обновление v0.1.2a
Улучшения

Добавлена возможность выбора температуры направленного источника света;


Добавлена обработка стандартных теней юнитов на воде;
Добавлена возможность выбрать единицу измерения интенсивности точечных
источников света;
Добавлена возможность использовать улучшенную матрицу проекции;
Добавлена возможность загрузки текстур и шейдеров из папки с RenderEdge
(AllowLocalFiles в реестре);
Добавлена возможность загрузки шейдеров из карты;
Добавлена опция, позволяющая исправить дрожание скайбокса при
перемещении камеры;
Чтение настроек из RenderEdge.ini (поиск файла в карте, в папке с RenderEdge
(при включенном AllowLocalFiles), в .mpq архивах);
Теперь опция Disable Unit Shadows отключает тени юнитов и на земле, и на
воде;
Уменьшено потребление оперативной памяти при использовании каскадных
теней;
Снято ограничение на количество объектов, способных одновременно
откидывать тени;
Улучшено качество теней;
Улучшен интерфейс настроек;
Улучшен режим свободной камеры: камера от первого лица, нет зависимости
от высоты ландшафта;
Отключены мягкие тени (можно включить, отредактировав шейдер
ShadowCommon.fxh);
Тени не рендерятся если игра на паузе;
Отображение версии RenderEdge в главном меню игры в правом нижнем углу;
Оптимизация Debug Screen.

Исправления

Исправлен баг: модель основания здания имела освещение юнитов вместо


ландшафта, и откидывала тени;
Исправлена некорректная интенсивность точечных источников света;
Игра больше не вылетает при использовании теней;
Исправлено периодическое исчезание теней при перемещении и вращении
камеры;
Тени ландшафта снова работают корректно.
Каскадные тени
Исправлено множество проблем с тенями: теперь они используют гораздо меньше
оперативной памяти, следовательно игра больше не вылетает; сняты ограничение
на 2048 объектов, способных одновременно откидывать тени; исправлен баг с
периодическим исчезновением некоторых теней при движении камеры. FPS по
идее тоже должен был увеличиться, однако, он всё-равно достаточно низкий.

На данном скриншоте в кадре одновременно находятся ~5500 объектов, без


теней используется 170 MB, с тенями - 210 MB (в предыдущих версиях игра бы
просто вылетела):

Чтение настроек из файла


Добавлена возможность чтения настроек из файла RenderEdge.ini, он находится в
архиве RenderEdge_exp.mpq. Его можно также импортировать в свою карту.
Не пишите комментарии в одной строке с полями, где указываются логические
переменные и пути к текстурам, так как информация о них не будет получаться
корректно!

Использование пользовательских шейдеров и


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

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


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

Режим свободной камеры


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

Меню настроек
По умолчанию оно выключено и включается при нажатии клавиши F7. Включено
меню изначально или нет, а также горячую клавишу, можно изменить в
RenderEdge.ini:

[Engine]
bShowInterface = false

[Hotkeys]
ShowInterface = 0x76

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

Raised #419 - 5 месяцев назад (отредактировано Raised) 0

ENAleksey, ятп. камера пофикшена с помощью нативных функций?

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

Raised, нет, я перехватываю функцию, в которой строятся матрицы вида и


проекции, и до её вызова редактирую параметры игровой камеры:

» Пока делаю так:

С помощью нативный функций можно изменить только координаты цели камеры.


Raised #421 - 5 месяцев назад 0

Есть предложение

Сделать возможность свободно крутить-вертеть камеру как в других играх.


Уменьшить минимальный view distance до 1 (убрать внутренние проверки
внутри функции). Сейчас минимум - 100.

Еще вопрос. RE совместима с последними апдейтами игры?

ENAleksey #422 - 5 месяцев назад 0

Raised:
Сделать возможность свободно крутить-вертеть камеру как в других играх.

Я вряд ли это сделаю, так как кому-то это будет даже мешать. А вот создатели
карт смогу сделать это самостоятельно с помощью новых нативных функций,
которые уже присутствуют в основной версии и в версии Memory Hack.
Вот демонстрация такой камеры: www.youtube.com/watch?v=Ux_rlNzkcTI

Raised:
Уменьшить минимальный view distance до 1 (убрать внутренние проверки внутри
функции). Сейчас минимум - 100.

Я делал это в одном из предыдущих обновлений, но от этой идеи пришлось на


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

Doc #423 - 5 месяцев назад 0

Не думаю что там внутренние проверки, скорее в матрице проекции zNear стоит
100

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

Doc, нет, Raised имел ввиду ограничение функции


SetCameraField(CAMERA_FIELD_DISTANCE, ...), в ней минимальное значение - 100.0
(расстояние от цели до глаза камеры).

Raised:
Еще вопрос. RE совместима с последними апдейтами игры?

Нет, только с версией 1.26a, поддержку новых патчей добавлять не буду.

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

Нет, всё-таки там ещё есть над чем поработать, поэтому фикс контактных теней
придётся отложить до версии 0.1.3a

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

Компиляция шейдеров
Из 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

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

Это сообщение удалено

DrTema #427 - 3 месяца назад 0

А почему не хотите делать поддержку более высоких версий? Слишком много


работы?

ENAleksey #428 - 3 месяца назад 0

DrTema, да, к тому же с каждой новой версией всё сложнее декомпилировать и


находить нужные функции в библиотеках игры.

James Hatfield #429 - 1 месяц назад (отредактировано James Hatfield) 0

программа очень хорошая но есть один большой минус.


ну я зашел на эту программу запустил свою карту и открыв меню настроек
влючил все эффекты ну там тени освещения и графика стала на высшем уровне
чем то превзошла даже некоторые современные игры.
мне особенно понравилось то что когда тени попадают на высококачественные
модели скачанные на xgm это выглядит очень круто. посмотрев на эту красоту
мне тут же захотелось играть. радость длилась не более минуты когда я в место
игры наблюдал слайд шоу с 3мя 4мя кадрами в секунду..
размер карты: гигантский
объектов примерно 3500
характеристики моего ноутбука:
core i7 nvidia geforce 840m
RAM 8GB
было бы круто если в дальнейшем эти недостатки будут исправлены....

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

James Hatfield, спасибо за отзыв)


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

← 1 2 3 4 5 6 7 8 9 →

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


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

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