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

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

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

Особенности

Внимание! Тени работают крайне нестабильно, используют очень много оперативной памяти и сильно снижают FPS. Используйте их на свой страх и риск!

  • (+) Каскадные тени;
  • (+) Расчёт освещения в линейном пространстве;
  • (+) 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;
  • Не работают тени ландшафта.

Установка

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

Требования:

Скриншоты

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

Изменения

Следите за разработкой RenderEdge на Trello.
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
  * Первая стабильная сборка.


Просмотров: 35 729



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


ENAleksey #51 - 3 года назад 0
Alexander12, ошибка вылезла после того, как ты свернул игру? Если да, то так и должно быть, просто не сворачивай её.
Если нет - качай это.
Alexander12 #52 - 3 года назад 0
не могу скачать от сюда
ENAleksey #53 - 3 года назад 0
Alexander12, должен смочь, хотя на главной, вроде бы, то же самое.
Пожалуйста, ответь на мой вопрос.
Alexander12 #54 - 3 года назад 0
игру не сворачивал. винда 8.1, через некоторое время после запуска вылетает эта ошибка.
если NormalMap=0, то все норм, только экран черный
16GB #55 - 3 года назад 0
и сколько тут fps?
ENAleksey #56 - 3 года назад 0
16GB, максимум.
Alexander12:
только экран черный
Ты во время этого видишь текст?
У остальных тоже не запускается?
Alexander12 #57 - 3 года назад 0
текст видно
ENAleksey #58 - 3 года назад 0
Дополнительные окошки не выскакивают при вылете игры? Типа "Create DiffuseMap Failed!" или "Create Effect Failed!".
Выкладываю версию с варкрафтовской прорисовкой, опиши что теперь происходит.
Alexander12 #59 - 3 года назад 0
без нормал мапинг все нормально, текстур нет, модели видно. С нормал мапинг после загрузки карты сразу ошибка выходит, которую кидал, дополнительных окошек не вылетает.
ENAleksey #60 - 3 года назад (отредактировано ) 0
Всё понял, проблема в текстурах, я не все положил в архив. Сейчас скину уже точно работающую версию.
Теперь точно запустится:
Alexander12 #61 - 3 года назад 0
теперь норм, но фпс очень низкий, карта gtx 770
ENAleksey #62 - 3 года назад (отредактировано ) 0
У меня мобильная NVIDIA NVS 5200M, но 60 fps. Ты с ReShade'ом запускал?
Alexander12:
фпс очень низкий
Такого быть не может, я писал, что
  • Из-за моей лени, при загрузке игра начинает подгружать слишком много мусора => появляются заметные подтормаживания, но только на несколько секунд.
GF RaiseD #63 - 3 года назад 0
ENAleksey, вот теперь норм идёт, правда деревья исчезают если пытаться смотреть вертикально вверх. Теперь еще и варкрафтовский UI пропал. Хорошо что есть способ от него избавится.
Melissa #64 - 3 года назад 0
Всё ещё выдаёт старые ошибки и на хр и в 7 не на админе. Да и карту запускать не хочет
Те надо торрентом выложить сразу свой варик с установленным модом
ENAleksey #65 - 3 года назад 0
Те надо торрентом выложить сразу свой варик
Ты серьёзно, я ведь могу?
Melissa #66 - 3 года назад 0
ENAleksey, а почему нет то
(Если только у тя инет не трафик :D)
ENAleksey #67 - 3 года назад 0
Скорее всего проблема не в варкрафте.
Melissa:
не на админе
Так точно не запустится.
Melissa #68 - 3 года назад 0
а на ХР почему не идет?
ни на 1 патче к слову
ENAleksey #69 - 3 года назад (отредактировано ) 0
Melissa, у тебя проблема только с SharpCraft'ом (это точно) и установлением для него прав администратора, но я не знаю почему.
деревья исчезают если пытаться смотреть вертикально вверх
Это можно исправить.
Вызывал справку, переключался на вид от третьего лица, изменял направление света, пробовал параллакс и спекуляр?
А что думаешь о графике? Есть идеи, предложения, замечания, недостатки?
Alexander12 #70 - 3 года назад 0
фпс уменьшается с каждой минутой... хз почему
ENAleksey #71 - 3 года назад 0
Alexander12, очень странно...
GF RaiseD, у тебя то же самое?
Melissa #72 - 3 года назад 0
Утечки мб в коде)
ENAleksey #73 - 3 года назад 0
Melissa, у меня всё в порядке, код чистый как младенец: никаких утечек быть не может)
Melissa #74 - 3 года назад 0
ENAleksey, тем только хуже - в чём тогда искать причину
ENAleksey #75 - 3 года назад 0
Ещё бы кто-нибудь поверил, думаю, данная проблема только у Александра.
Вопрос ко всем, кто уже запускал: в комментарии #69.
ENAleksey #76 - 3 года назад 0
GF RaiseD, у тебя тоже низкий fps? Просто сейчас демку скачал пользователь с хайва и сказал, что у него не отображается небо и очень низкий фпс.
GF RaiseD #77 - 3 года назад (отредактировано ) 0
Вызывал справку, переключался на вид от третьего лица, изменял направление света, пробовал параллакс и спекуляр, всё работает и выглядит довольно неплохо. Хотя немного печалит что я довольно далёк от всего этого. Фпс измерял с помощью фрапс. Вроде бы всё в порядке. Больше информации предоставить не могу. Разве что запишу видяшку. Не знаю что ты хотел чтобы мы потестили, но то что мод может работать у других - это факт, и весьма приятный. У меня всё выглядело так:


Тени бы ещё
ENAleksey #78 - 3 года назад (отредактировано ) 0
GF RaiseD, сейчас корректно работает только эффект неба, а остальные эффекты (ParallaxMapping, ParallaxOcclusionMapping, BumpMapping) и Specular нуждаются в доработке. Тени будут после того, как я доделаю данные эффекты.
В данный момент работаю над отражениями и доработкой уже имеющихся шейдеров. Добавил 2 новых эффекта (BumpPlastic и Metal) и немного подредактировал BumpMapping (теперь Specular зависит от альфа канала текстуры). BumpPlastic и Metal работают неправильно, но работают.
BumpPlastic.fx (применён к персонажу) не работает с картами нормалей, только показывает работу со спекуляром. Metal.fx (применён ко всем объектам) пока не работает с картой окружения, рендерящейся в реальном времени, кубическая текстура отображается тоже некорректно.
+ Попробуйте отключить Diffuse текстуру при работе с Metal эффектом.

Melissa, используешь ли ты 8 MB Map Size Limit Remover, Enb или другие d3d8/d3d9.dll моды? У пользователя A Void с хайва тоже не запускалось только из-за этого.
GF RaiseD #79 - 3 года назад 0
ENAleksey, немного позже запишу ещё одну видяшку со всем этим. Когда чертежи закончу. Если не помру до того времени -_-
Можешь обновить ресурс и раскидать всё что нужно по папкам?
ENAleksey #80 - 3 года назад 0
Уже 15 минут назад сделал
GF RaiseD, пока не записывай видео.
GF RaiseD #81 - 3 года назад 0
ENAleksey, то что есть удалить или пусть будет?
Melissa #82 - 3 года назад 0
ENAleksey, свитфкс только валяется и ничего кроме , в гарене не вылетает :D
ENAleksey #83 - 3 года назад 0
GF RaiseD, ну, можешь выложить, просто я, кажется, понял, как улучшить BumpMapping, уже кое-что получилось. Думаю, ты видел, что BumpMapping выглядит не очень реалистично, чего-то не хватает. Завтра постараюсь всё сделать.
Melissa, попробуй пока удалить SweetFX и заустить мод без него. В папке с варкрафтом есть ещё файлы d3d8/d3d9.dll?
GF RaiseD, ладно, выкладывай видео, всё равно в новой версии используются другие эффекты.
GF RaiseD #84 - 3 года назад 0
GF RaiseD, ладно, выкладывай видео, всё равно в новой версии используются другие эффекты.
Это как бы плохо
ENAleksey #85 - 3 года назад (отредактировано ) 0
GF RaiseD, я про другое. Я исправляю ParallaxOcclusionMapping.fx, ты уже записал видео по нему. Новые эффекты (BumpPlastic и Metal) я не трогал.

Melissa, кажется, ты сможешь запустить мод. Посмотри здесь.
И ещё, напиши здесь путь к варкрафту.

GF RaiseD, эффекта BumpPlastic не будет, я его выложил только для того, чтобы показать, как выглядит корректно работающий specular.
ENAleksey #86 - 2 года назад (отредактировано ) 5
Теперь я понял, что не так с освещением и почему не работают стандартные шейдеры, ответ здесь. Суть в том, что в .mdx моделе вершина может содержать только одну нормаль вместо трёх. Отсюда подобные проблемы с освещением:
Но эту проблему можно обойти, импортируя .3ds/.fbx/.x меши вместо использования стандартных .mdx моделей. Я ничего обещать не могу, но постараюсь всё-таки довести дело до конца. Могу только утверждать, что используя варкрафтовские модели сделать хорошее освещение не получится.
А пока, опираясь на первый вывод, я переделал эффект ParallaxOcclusionMapping. Теперь POM работает отлично, но только на плоских объектах.
Также предлагаю вам скачать новую версию и увидеть всё своими глазами.
галерею из одного изображения сделать нельзя?
GF RaiseD #87 - 2 года назад (отредактировано ) 0
ENAleksey, попробуй как-то изменить пути файлов чтобы мод можно было нормально установить и обновить, а не убиваться догадками "Итак, новая версия. И что же теперь удалять?"
ENAleksey #88 - 2 года назад 0
GF RaiseD, зачем удалять? Просто качай архив из предыдущего сообщения и кидай всё из него в папку с варкрафтом.
GF RaiseD #89 - 2 года назад 0
А, окей.
ENAleksey #90 - 2 года назад (отредактировано ) 0
Я всех обманул (даже себя): всё, что я написал в 86 комментарии - ложь.
Вот новая версия:
Теперь я понял, что не так с освещением и почему не работают стандартные шейдеры. Всё дело в том, что в варкрафте рассчитываются только нормали, а для получения качественного bump и parallax mapping'а нужно проводить вычисления в tangent space, для этого нужны тангенты и бинормали. Рассчитывать tangent'ы и binormal'и придётся самому. И способ уже найден.
А это мои планы, которым, скорее всего, не суждено сбыться:
У меня в голове уже давно вертится идея демки с сюжетом к моей будущей игре, но для начала нужно заставить всё работать как нужно. Будут тени, пост-эффекты, отражения, боевая система как в Mount and Blade, небольшой сюжет.
Ещё хочу облегчить жизнь будущим картоделам - добавить в World Editor редактор материалов (например, как в UE4), Content Manager (тоже UE4 или Unity3D), управление графикой и создание интерфейса через jass. И многое другое... Лишь бы не забил...
Стандартные юниты, способности, предметы не будут использоваться: всё будет как в UE4 или Unity3D, т.е импортируешь, например, .fbx меш и текстурки для него в Content Browser, перетаскиваешь меш на рабочую область, а с помощью SharpCraft'а пишешь для него скрипты.
Оказывается не всё так просто: например, про импорт мешей - не сложно сделать поддержку static meshes, но только вчера я вспомнил про skeletal meshes, а тратить время на них уже не хочется.
Хорошее освещение можно сделать со стандартным .mdx моделям. Если использовать импортированные меши, то возникают проблемы, с которыми я не хочу разбираться: статичные объекты реализовать не составит труда, но что делать с анимированными? А использование .mdx моделей позволит сократить время и сосредоточиться на решении более важных проблемах.
Господи! Да всем пофиг!
GF RaiseD #91 - 2 года назад 0
боевая система как в Mount and Blade

И всё это планировалось на движке вара? Так что будешь делать теперь?
ENAleksey #92 - 2 года назад (отредактировано ) 0
Максимум ещё два года буду делать, если к этому времени ничего не выйдет, то перейду к разработке полноценной игры.
philosoph
вы ещё какую то игру делаете?
Уже 6 лет (но только у себя в голове). Очень давно хотел сделать rpg карту для варкрафта с крутым сюжетом и управлением на стрелочках :) Со временем понял, что всё, что я задумал реализовать невозможно и решил сделать игру на Unity3d, даже забросил варкрафт (правда только на две недели), но
у меня уже столько сделано в варкрафте...
А дальше я наткнулся на мод Nirvana для варкрафта, где автор реализовал Normal Mapping, Shadow Volumes и различные пост процессы. И я решил продолжить его дело.
За эти годы скопилось достаточно идей для хорошей rpg игры, каждую из которых я тщательно продумывал, надеюсь, что получится что-то очень интересное.
Максимум ещё два года
Может я всё сделаю за пару месяцев, кто знает...
ENAleksey:
Рассчитывать tangent'ы и binormal'и придётся самому. И способ уже найден.
Вот, кстати, первый результат правильного освещения:
Скриншот из WarCraft'а
Осталось сделать только чтение координат вершин, текстурных координат и нормалей из стандартного буфера вершин.
JaBeN_Симфер #93 - 2 года назад 3
Я очень хочу увидеть эту наработку на уровне полноценной. С огромным удовольствием применил бы в своем проекте. Желаю успехов, мотивации и вдохновения! Продолжай, ведь это прорыв шедевр!
ENAleksey #94 - 2 года назад 0
JaBeN_Симфер, спасибо, очень приятно, постараюсь оправдать ожидания!
ENAleksey #95 - 2 года назад 2

Обновление

  • Корректное освещение:
    • Новый эффект BumpMapping'а;
    • Рабочий Specular;
    • Обход объединения нормалей;
    • Расчёт Tangent'ов;
  • Добавлен эффект воды;
  • Поддержка Point и Spot источников света;
  • Решены проблемы, связанные с освещением.

Проблемы

  • Сильные лаги, вызванные переносом данных из оригинального буфера вершин в новый в реальном времени.

Скриншоты

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

Обновление: Почти Physically Based Rendering.

  • Добавлен эффект для ландшафта;
  • Поддержка многокомпонентных материалов;

Реализация материалов

1. Отражающий материал;
2. Материал цвета;
3. Материал окружения.
Реализация:
Модель состоит из одной поверхности, её разделение происходит по цветовому шаблону:
1) Отражающий материал
Отражения берутся из кубической текстуры окружения.
Цвет первого материала рассчитывается по данной формуле:
» раскрыть
float nDotL = saturate(dot(n, l));
float nDotH = saturate(dot(n, h));
float power = (nDotL == 0.0f) ? 0.0f : pow(nDotH, material.shininess);
float4 cEnvColor = texCUBE( envMap, reflVect );
float4 white = {0.914f, 0.865, 0.719f, 1.0f};
float4 ColorMetal = cEnvColor*white + (cEnvColor*white * nDotL) + (cEnvColor*white*power);
2) Материал цвета
За основу берётся только однин вектор цвета.
Для второго материала расчёт финального цвета проходит по той же формуле.
» раскрыть
float4 orange = {0.974f, 0.338f, 0.034f, 1.0f};
float4 ColorSeats = orange + (orange * nDotL) + (orange*power);
3) Материал окружения
В качестве источника используется Irradiance текстура, основная на сильно заблюренной карте окружения.
Цвет рассчитывается так же как и в предыдущих материалах - по моделе Блинна-Фонга, но позже буду использовать модель освещения Кука-Торенса:
» раскрыть
float4 cIrradColor = texCUBE( irradMap, IN.WorldNormal);
float4 ColorBase = cIrradColor*0.5 + (cIrradColor*0.5 * nDotL) + (cIrradColor*0.5*power);
4) Финальный результат получается путём умножения полученных материалов на соответствующие R/G/B/A каналы цветового трафарета:
» раскрыть
float4 cBaseColor = tex2D( colorMap, IN.texCoord );
baseColor = lerp(lerp(ColorBase, ColorSeats, cBaseColor.b), ColorMetal, cBaseColor.g)*cBaseColor.r;

Планы на будущее

  • Переход на модель освещения Кука-Торенса;
  • Расчёт карты окружения в режиме реального времени;
  • Оптимизация (проблема из предыдущего обновления ещё не решена);
  • Добавление возможности рисовать на ландшафте.
  • Отказ от .mdx моделей!
RSQR #97 - 2 года назад 0
Как будто прифотошопили стул)
ENAleksey #98 - 2 года назад (отредактировано ) 0
Как будто прифотошопили стул)
Всё честно + пост-процессинг в режиме реального времени.
GF RaiseD #99 - 2 года назад 0
Некоторые знакомые считают что ресурс фейк и все сфотошоплено) Настолько это невероятно.
Melissa #100 - 2 года назад 0
Крутняк) как-то даже с трудом верится.
- Шелдон, ты невозможен!
- Это не соответствует истине, я же есть, правильнее будет сказать "Шелдон, ты невероятен!"
Экшели, омрачает только одно - хоть я и не пробовал снова чекнуть у себя это всё, но кэп подсказывает, что лагает всё это добро не по человечески и что самое страшное - мощность компьютера едва ли будет при чем, сам варик вероятно будет не очень производителен...