[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 503



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


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
ошибка
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:
фпс очень низкий
Такого быть не может, я писал, что
  • Из-за моей лени, при загрузке игра начинает подгружать слишком много мусора => появляются заметные подтормаживания, но только на несколько секунд.
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? Просто сейчас демку скачал пользователь с хайва и сказал, что у него не отображается небо и очень низкий фпс.
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 с хайва тоже не запускалось только из-за этого.
Raised #79 - 3 года назад 0
ENAleksey, немного позже запишу ещё одну видяшку со всем этим. Когда чертежи закончу. Если не помру до того времени -_-
Можешь обновить ресурс и раскидать всё что нужно по папкам?
ENAleksey #80 - 3 года назад 0
Уже 15 минут назад сделал
GF RaiseD, пока не записывай видео.
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, ладно, выкладывай видео, всё равно в новой версии используются другие эффекты.
Raised #84 - 3 года назад 0
GF RaiseD, ладно, выкладывай видео, всё равно в новой версии используются другие эффекты.
Это как бы плохо
ENAleksey #85 - 3 года назад (отредактировано ) 0
GF RaiseD, я про другое. Я исправляю ParallaxOcclusionMapping.fx, ты уже записал видео по нему. Новые эффекты (BumpPlastic и Metal) я не трогал.

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

GF RaiseD, эффекта BumpPlastic не будет, я его выложил только для того, чтобы показать, как выглядит корректно работающий specular.
ENAleksey #86 - 3 года назад (отредактировано ) 5
Теперь я понял, что не так с освещением и почему не работают стандартные шейдеры, ответ здесь. Суть в том, что в .mdx моделе вершина может содержать только одну нормаль вместо трёх. Отсюда подобные проблемы с освещением:
Но эту проблему можно обойти, импортируя .3ds/.fbx/.x меши вместо использования стандартных .mdx моделей. Я ничего обещать не могу, но постараюсь всё-таки довести дело до конца. Могу только утверждать, что используя варкрафтовские модели сделать хорошее освещение не получится.
А пока, опираясь на первый вывод, я переделал эффект ParallaxOcclusionMapping. Теперь POM работает отлично, но только на плоских объектах.
Также предлагаю вам скачать новую версию и увидеть всё своими глазами.
галерею из одного изображения сделать нельзя?
Raised #87 - 3 года назад (отредактировано ) 0
ENAleksey, попробуй как-то изменить пути файлов чтобы мод можно было нормально установить и обновить, а не убиваться догадками "Итак, новая версия. И что же теперь удалять?"
ENAleksey #88 - 3 года назад 0
GF RaiseD, зачем удалять? Просто качай архив из предыдущего сообщения и кидай всё из него в папку с варкрафтом.
Raised #89 - 3 года назад 0
А, окей.
ENAleksey #90 - 3 года назад (отредактировано ) 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 моделей позволит сократить время и сосредоточиться на решении более важных проблемах.
Господи! Да всем пофиг!
Raised #91 - 3 года назад 0
боевая система как в Mount and Blade

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

Обновление

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

Проблемы

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

Скриншоты

ENAleksey #96 - 3 года назад (отредактировано ) 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 - 3 года назад 0
Как будто прифотошопили стул)
ENAleksey #98 - 3 года назад (отредактировано ) 0
Как будто прифотошопили стул)
Всё честно + пост-процессинг в режиме реального времени.
Raised #99 - 3 года назад 0
Некоторые знакомые считают что ресурс фейк и все сфотошоплено) Настолько это невероятно.
Melissa #100 - 3 года назад 0
Крутняк) как-то даже с трудом верится.
- Шелдон, ты невозможен!
- Это не соответствует истине, я же есть, правильнее будет сказать "Шелдон, ты невероятен!"
Экшели, омрачает только одно - хоть я и не пробовал снова чекнуть у себя это всё, но кэп подсказывает, что лагает всё это добро не по человечески и что самое страшное - мощность компьютера едва ли будет при чем, сам варик вероятно будет не очень производителен...
darkowlom #101 - 3 года назад (отредактировано ) 6
Melissa, судя по всему как-раз варик тут не причем, автор вроде сам пишет визуализацию
Перед автором снимаю свою раста-шапку, жалко что все это требует сторонних программ, использовать можно будет только в модах, народ такой, что качать ничего стороннего не хочет
А я тем временем делаю симуляцию отражения света ресурсами варкрафта, как обычно с бубном и плясками, вряд ли кто-то будет так морочится, скорее чисто спортивный интерес мною движет
ENAleksey #103 - 3 года назад (отредактировано ) 2
Сейчас быстренько демку сделаю.
darkowlom, с Talavaj я общался, его и Tobyfat я очень сильно уважаю: столько всего крутого сделали на движке варкрафта (parallax mapping, отражения, анимацию растительности, воду...)
darkowlom #104 - 3 года назад 2
ENAleksey, талантливые люди, на модифицированных идеях тоби сделана вода с псевдоотражением света, кторую я около года назад выкладывал на сайте
darkowlom, Еще на гео-тайлах и псевдо параллаксе хочу сделать пак HD травы, не вызывающий нагрузки на видеокарту
А вот вода Талавая хоть и крута, но все-таки не очень реалистична, у меня сейчас есть еще парочка идей на тему как реализовать воду визуально не отличимую от онной в старкрафте втором, но никак руки не дойдут
ENAleksey #105 - 3 года назад (отредактировано ) 4
Скачать демку (без ReShade).
Melissa, производительность во много раз превосходит то, что было в оригинальном варкрафте. Если накладывать хай-рес текстуры на .mdx модели стандартным методом, то уже только из-за этого начнутся сильные лаги. Я отключил рендер всего, что хочет рисовать варкрафт, так что, если решить несколько небольших проблем (которые ещё не решены из-за моей лени), то всё будет буквально летать.
Melissa, а демку советую ещё раз попробовать запустить после того, как пропишешь путь к варкрафту в реестре.
ENAleksey #106 - 3 года назад (отредактировано ) 2
Первый загруженный .obj меш (скриншот из WarCraft'а):
Raised #107 - 3 года назад 0
ENAleksey, как дела с модом?
ENAleksey #108 - 3 года назад (отредактировано ) 6
  • Physically Based Rendering. Добавлен стандартный физически точный шейдер.
  • Интеграция с Assimp. Поддержка большинства форматов моделей, среди которых .obj, .3ds, .dae, .blend и .fbx.
  • Начало избавления от Nirvana.
Как видите, имеется небольшая проблема с отражениями, но в будущем исправлю.
Предлагаю скачать новую версию и попробовать изменять различные настройки материала самостоятельно.
Установка:
  • Если скачивали предыдущие версии мода, удалите папки Textures и Shaders, файлы Nir_Plugin_RenderCraft.dll и Nirvana.ini.
  • Кидайте файлы из архива в папку с варкрафтом.
  • В начале игры после загрузки немного отойдите назад.
ENAleksey #110 - 3 года назад (отредактировано ) -1
Melissa, пока так, ещё толком не реализовал систему материалов и объектов. Для того, чтобы всё работало ещё лучше, нужно полностью избавиться от Nirvana и написать свой лончер. Хорошо бы ещё SharpCraft переписать на C++, чтобы было легче реализовать двухстороннюю связь между ним и игрой с моей библиотекой.
Сейчас начал поглядывать в сторону китайского YDWE: функционал там, конечно, побольше, чем у SharpCraft.
Кристофер #111 - 3 года назад 2
Что значит "Рисовать на ландшафте"? Можно взять карандаш, и изрисовать тайлы?
Всегда мечтал о рисованных, неквадратных областях. Надеюсь, это будет возможно.)))
Ребята молодцы, крутую вещь делают. Графика - это одна из немногих вещей, которых не хватает вару.
Narkranoth #112 - 3 года назад 2
Гммм... Я только сейчас почему-то подумал о том, что даже СК2 не поддерживает ДХ11, а вы собираетесь заставить Вар 3 его использовать. Вау!.. Это будет нечто интересное. Даже немного неловко перед "Метелицей"...
ENAleksey #113 - 3 года назад (отредактировано ) 3
Что значит "Рисовать на ландшафте"?
В большинстве редакторов есть возможность рисовать текстурами на ландшафте (UE4, Unity 5). Тайлов не будет.
Также хотелось бы сделать vertex paint ещё и на других мешах. Например, появится возможность прямо во время игры на какой-нибудь машине в произвольном месте нарисовать ржавчину.
Мод делаю один, и всегда не хватает человека, который бы помог, подсказал.

Кто-нибудь уже скачивал, запускал? Запускалось? Есть ли баги / недочёты / тормоза?

Забыл написать, что одновременно с добавлением поддержки сторонних форматов моделей, я избавился от самого главного недостатка - падения производительности, да и ото всех остальных.
wazzup #114 - 3 года назад (отредактировано ) 0
Извините заранее я просто не очень понял. Это смена графики на более современную или будут изменения, например, в инвентаре героя ? (грубо говоря чтобы было больше слотов)
Кристофер #115 - 3 года назад 0
wazzup, инвентарь можно и триггерно сделать, а вот безтайловые текстуры земли - это что-то новое для варкрафта.
darkowlom #116 - 3 года назад 0
ENAleksey, а это дело в WE интегрируется? Иначе из игры клепать карты будет несколько неудобно
Mark Mocherad #117 - 3 года назад -8
Блин реально не поминаю такого. Эти блики на персах, "типо рендеринг от света солнца", эта вода "типо тоже зарендерина реалистичная". Смотрю и у меня вызывает отвращение, нет я конечно понимаю суровый русский тюнинг, из семерки накрутить большие диски титановые, наклеить наклейки и будет просто "вау"....Вар не для того что бы такое с ним делать, можно конечно, но не так как на скриншотах... Зачем такое делать удивить ? Не лучше ли продумать сюжет и т.д.
darkowlom #118 - 3 года назад 8
Mark Mocherad, тебя не устраивает поддержка DIrectX 11 и большинства современных технологий, только потому что это варкрафт? Сомнительные взгляды, должен признать
Mark Mocherad #119 - 3 года назад -4
darkowlom:
Mark Mocherad, тебя не устраивает поддержка DIrectX 11 и большинства современных технологий, только потому что это варкрафт? Сомнительные взгляды, должен признать
Нет я не понимаю зачем это делать в варике ? Это дико, как минимум, какие бы не были мои взгляды, сомнительны не сомнительны. У меня свое мнение. Я же пример даже с машиной дал, от того что на семерку наклешь найлейки и сделаешь тюннинг лучше она не станет, это безвкусно.
darkowlom #120 - 3 года назад 10
Mark Mocherad, из семерки можно сделать спорткар для формулы 1, лишь бы голова работала как надо, и это будет гораздо лучше наклеек
Зачем это делать в варике ? Ради идеи, нет ничего в жизни выше идеи, любая идея придает жизни вкуса
Mark Mocherad #121 - 3 года назад -4
darkowlom:
Mark Mocherad, из семерки можно сделать спорткар для формулы 1, лишь бы голова работала как надо, и это будет гораздо лучше наклеек
Зачем это делать в варике ? Ради идеи, нет ничего в жизни выше идеи, любая идея придает жизни вкуса
Ну тогда покажи мне спорт кар для формулы 1 из семерки ) Какой вкус от псевдо рендеринга в варике ? Какой прикол с тормозами, высоким фпс и так дальше играть, ради того что там будет реалистичная вода, и "красиво смотреться модельки" ? Я сказал уже делать такое с вариком тоже самое что тюнинговать семерку. Все спор окончен у нас 2 разных мнения.
darkowlom #122 - 3 года назад 4
от псевдо рендеринга
Так это не псевдо-рендеринг, а вполне натуральный риал-тайм рендер , псевдо-рендер это у меня отражения на модельках выше в коментах
ENAleksey #123 - 3 года назад (отредактировано ) 2
а это дело в WE интегрируется
Пока нет, но
Ещё хочу облегчить жизнь будущим картоделам - добавить в World Editor редактор материалов (например, как в UE4), Content Manager (тоже UE4 или Unity3D), управление графикой и создание интерфейса через jass. И многое другое... Лишь бы не забил...
Стандартные юниты, способности, предметы не будут использоваться: всё будет как в UE4 или Unity3D, т.е импортируешь, например, .fbx меш и текстурки для него в Content Browser, перетаскиваешь меш на рабочую область, а с помощью SharpCraft'а пишешь для него скрипты.
Зачем такое делать удивить ? Не лучше ли продумать сюжет и т.д.
Во-первых, всё, что я собираюсь сделать - это вызов самому себе и ничего больше. Я не собираюсь сделать из варкрафта какой-нибудь The Order 1886, и не буду расстроен, если никто не будет пользоваться данным модом, что очень вероятно.
Во-вторых,
У меня в голове уже давно вертится идея демки с сюжетом к моей будущей игре, но для начала нужно заставить всё работать как нужно. Будут тени, пост-эффекты, отражения, боевая система как в Mount and Blade, небольшой сюжет.
Какой вкус от псевдо рендеринга в варике ?
Никакого псевдо-рендеринга, вся графическая составляющая игры полностью перенесена на более новое графическое API - Direct3D9.
Какой прикол с тормозами
одновременно с добавлением поддержки сторонних форматов моделей, я избавился от самого главного недостатка - падения производительности, да и от всех остальных.
Кристофер #124 - 3 года назад 2
Mark Mocherad, во-первых, варик - не семерка, а заржавелая Pagani Zonda. С внутренностями у него все нормально (мой любимый пример - Iceborn), а вот графа нереалистичная. Данный проект будет очень кстати, ведь из вара очень много людей ушло из-за графики (пример - Дота 1 и Дота 2 отличаются только графой, на сколько знаю). Только вот пиар проекту нужен. По друзьям, конечно, можно, но это мало что даст. Мб просить админов создавать новости на главных страницах сайтов XGM, Hive, Maps и т.д.
Mark Mocherad #125 - 3 года назад (отредактировано ) 2
Кристофер:
Mark Mocherad, во-первых, варик - не семерка, а заржавелая Pagani Zonda. С внутренностями у него все нормально (мой любимый пример - Iceborn), а вот графа нереалистичная. Данный проект будет очень кстати, ведь из вара очень много людей ушло из-за графики (пример - Дота 1 и Дота 2 отличаются только графой, на сколько знаю). Только вот пиар проекту нужен. По друзьям, конечно, можно, но это мало что даст. Мб просить админов создавать новости на главных страницах сайтов XGM, Hive, Maps и т.д.
Первый раз слышу что бы из вара уходили изза графики, сам придумал или кто то подсказал ? ) Ну развивайте варик, я ничего против не имею.
много людей ушло из-за графики (пример - Дота 1 и Дота 2 отличаются только графой, на сколько знаю).
Мало ты парень знаешь...
Кристофер #126 - 3 года назад 2
Mark Mocherad, видимо, ты мало в него играешь. Просто все хотят онлайн, но не хотят скачивать карты, которые больше 8 мб.
ENAleksey #127 - 3 года назад (отредактировано ) 1
Исправил проблему с отражениями:
Melissa #128 - 3 года назад (отредактировано ) 0
ENAleksey, это будет в варике? Хотя бы приблизительно?
ENAleksey #129 - 3 года назад (отредактировано ) 0
это будет в варике?
Уже там.
По ссылке выше можешь скачать и увидеть всё самому.
Обновил главную страницу, теперь можете скачать новую версию с исправлениями и без требования скачивать Nirvana.
Кристофер #130 - 3 года назад 2
А где можно прочитать подробное описание?
Что дает? / Нужны ли особенные установки или модели? / Не мешает ли это игре с другими игроками, которые не имеют этот мод? / Не влияет ли на производительность игры?
ENAleksey #131 - 3 года назад 0
Кристофер, всё написано в описании, просто скачиваешь и распаковываешь в папку с варкрафтом. На оригинальный варкрафт никак не влияет, мод запускается через специальный батник.
Melissa #132 - 3 года назад 0
ENAleksey, пожалуйста запакуй свой варик вместе с установленной этой штукой и залей на mediafire.com
Не хочет запускаться, нигде ни на каком патче, никак.
ENAleksey #133 - 3 года назад 0
Melissa, проблема с SharCraft'ом, нужно прописать путь к варкрафту в редакторе реестра. Синим цветом в инструкции по установке выделил ссылку, посмотри там.
SharpCraft ищет путь к варкрафту в каталоге "(Current User)Software\Blizzard Entertainment\Warcraft III", а если не находит, то здесь: "(Local Machine)SOFTWARE\Wow6432Node\Blizzard Entertainment\Warcraft III"
У меня такой путь к варкрафту:
Raised #134 - 2 года назад 0
ENAleksey, рассмотри возможность хранить все файлы мода в отдельной папке. Так будет удобней тем кто не ведёт учёт каждому файлу
ENAleksey #135 - 2 года назад (отредактировано ) 5
GF RaiseD, всё будет после того, как перепишу лончер.
Кстати, ещё две недели назад добавил мягкие тени. Сейчас пытаюсь заставить работать HDR Rendering с пост-эффектами, попутно экспериментирую с матрицей проекции варкрафта - пробую изменить ближнюю плоскость отсечения геометрии, что позволит приближать камеру к моделям до упора без их исчезновения (жаль, что через jass можно изменить только farz frustum plane камеры). Ещё полностью избавился от проблемы исчезновения моделей при их нахождении вдали от центра камеры (грубо говоря, теперь они не исчезают, когда смотришь вверх).

Скорее всего моей модификацией никто не будет пользоваться, поэтому у меня в планах имеется урезанная версия, работающая без кучи ненужных файлов и улучшающая графику оригинального варкрафта без необходимости создать дополнительные текстуры и модели и, вообще, что-либо делать.
Конечно, добиться графики уровня Unreal Engine 4 не получится (я говорю только про обрезанную версию), но появятся приятные фичи, не требующие дополнительной настройки.
Что возможно реализовать:
  • Улучшенное освещение - генерация ambient и environment кубических текстур и добавление их в качестве замены линейному значению ambient освещения;
  • HDR Rendering с пост-эффектами;
  • Улучшенная работа с камерой (настройка плоскостей отсечения геометрии) и управление пост-эффектами через jass;
  • Мягкие тени.

Планируют сотрудничать с Александром (тема "Отлов клавиш") и отказаться от SharpCraft в пользу его мода. Благодаря этому получится организовать двустороннюю связь между WarCraft и RenderEdge.
P. S. Что-то меня прорвало) Опять же, я ничего обещать не могу и, скорее всего, ничего не сделаю.
  • Немного подкорректировал освещение, добавил мягкие тени и рендеринг сцены в карту окружения (3 недели назад):
всё будет после того, как перепишу* лончер
Ошибочка: *напишу свой, ибо Shawn не отвечает на письмо с просьбой дать исходники.
Ах, да, ещё сделал систему спрайтов и свободную камеру:
Что с лентой? Мой ресурс постоянно на второй странице.
ENAleksey #136 - 2 года назад (отредактировано ) 4
Сейчас пытаюсь заставить работать HDR Rendering с пост-эффектами
Готово! Я четыре раза переписывал код, думал, что где-то допустил ошибку, а оказалось, что нужно было изменить FillMode при рисовании полноэкранного квада. Я сильно упростил HDR Rendering и сопутствующие шейдеры с целью найти ошибку, теперь буду писать заново, с полным представлением того, как всё работает и что мне нужно.
В данный момент реализован Tonemapping с адаптацией и Bloom, дальше планирую всё это переписать с нуля и добавить следующие пост-эффекты:
  • SMAA;
  • SSAO;
  • SSLR (Screen Space Local Reflection);
  • Lens Dirt/ Lens Flares/ Bloom;
  • DoF;
ENAleksey #137 - 2 года назад (отредактировано ) 2
Первый скриншот - только RenderEdge. Эффекты:
  • HDR Lighting с адаптацией;
  • Bloom;
  • Мягкие тени;
  • Reflection Probes.
Второй скриншот - RenderEdge + ReShade. Эффекты:
  • SMAA;
  • SSAO;
  • Screen Space Local Reflections;
  • Matso DOF.
Осталось сделать то же самое в RenderEdge, только лучше.
alexprey #138 - 2 года назад 0
ENAleksey, на втором скрине не вижу SSAO, просто размытая картинка(
Melissa #139 - 2 года назад 0
Тоже хотел сказать, что вижу только мыло, но там ещё и отражения :)!
местами странные though
(я про белую дугу на шести часах в полу)
ENAleksey #140 - 2 года назад 0
alexprey, Melissa, ssao видно, но плохо. То же самое со сглаживанием, которое конфликтует с DoF'ом. Всё из-за того, что ReShade максимально универсален. Эти эффекты, только более качественно и оптимизированно можно реализовать при написании их под конкретную игру, что я и сделаю.
ENAleksey #141 - 2 года назад (отредактировано ) 5

Work-In-Progress

  • PBS Material;
  • HDR Lighting;
  • SMAA;
  • SSAO;
  • Soft Shadow Mapping;
Просто тест:
Используется только высокополигональная модель, 189 000 faces, размер 25 МБ, без текстур (карт нормалей тоже нет) с физически точный материалом, результат - 60fps
Дальнейшая работа:
  • Работа с масками цветов (Color ID Masks) для применения нескольких материалов к одному мешу;
  • Добавление Subsurface Scattering к стандартному шейдеру;
  • Работа над системой загрузки мешей: добавление возможности загружать несколько мешей из одного файла; работа с несколькими UV наборами текстур.
C помощью данных улучшений можно добиться следующего результата:

Если понадобится, могу скинуть демо-версию.
ENAleksey #142 - 2 года назад (отредактировано ) 8
Кто-нибудь мечтал избавится от стандартного интерфейса?
Molecyla #143 - 2 года назад 0
ENAleksey, ох тыж!!!!!!!!!! А миникарта тоже будет убираться?
ENAleksey #144 - 2 года назад 0
Более того: её даже можно передвинуть и изменить размер.
Molecyla #145 - 2 года назад 0
ENAleksey, каких ещё функций можно будет ждать?
ENAleksey #146 - 2 года назад 0
А чего ждёте вы?
Molecyla #147 - 2 года назад (отредактировано ) 0
ENAleksey, а эти функции позволяют в синематиках убрать интерфейс?
ENAleksey #148 - 2 года назад 0
Да, все скриншоты, которые можно увидеть выше, сделаны с использованием ShowInterface(false,0).
Molecyla #149 - 2 года назад 0
ENAleksey, я возможно не всё прочитал, где-то не увидел, но поддерживает ли этот мод многопользовательский режим?
ENAleksey #150 - 2 года назад 0
Пока здесь задействован только графический мод. Он не вызовет дессинка, но может быть засчитан как чит в гарене.
Кристофер #151 - 2 года назад 0
Интерфейс можно будет настраивать? Допустим, убрать весь стандарт, а иконки героев помещать внизу.
Molecyla #152 - 2 года назад 0
Кристофер, или вообще удалить интерфейс полностью и оставить только меню и задания
darkowlom #153 - 2 года назад 0
Molecyla, Снести интерфейс всегда можно было, главное что черной рамки нет
Molecyla #154 - 2 года назад 0
darkowlom, я это и имел ввиду
ENAleksey #155 - 2 года назад (отредактировано ) 9
К сожалению, не всё так просто с интерфейсом. При таком подходе, что я продемонстрировал, место клика курсора будет не совпадать с его истинными координатами. Кроме этого, даже если получится переместить кнопки, их кликабельная область останется на старом месте.
Остаётся вариант полностью отключить стандартный интерфейс и рисовать поверх новый.
В версии, которая должна работать в стандартных картах, будет сохранён стандартный интерфейс с возможностью его полного скрытия и отрисовки изображений, текста и кнопок поверх старого. А чтобы добиться наилучшего результата, нужно настраивать полную версию мода для конкретной карты, полностью представляя, что вам нужно.
  • Интеграция AntTweakBar и редактирование игрового источника света

И кажется я понял, как приспособить разрешение в игре для широкоформатных мониторов! Хотя и нельзя делать поспешные выводы, но если всё получится, то я уже совсем скоро смогу выпустить небольшой патч, исправляющий проблему с современными мониторами!
Melissa #156 - 2 года назад 0
И вновь прошу скинуть весь варик с уже установленным всем. Ну не идёт у меня, как ни пробуй.
Залей на Я,Д, там и аплоад и даунлоад быстрый
ENAleksey #157 - 2 года назад (отредактировано ) 1
Melissa, привет, я уже писал, что проблема в SharpCraft'е, и её единственное решение здесь, в 133 комментарии.
Мод начнёт запускаться у всех без проблем, когда я избавлюсь от шарпкрафта в пользу мода Александра, который на данный момент имеет небольшую проблему, из-за которой я пока и не могу отказать от SharpCraft. Но, всё же, это произойдет и довольно скоро (а может и нет...)
Melissa #158 - 2 года назад 0
так нужно какие то правки реестра делать что ли или...?
JaBeN_Симфер #159 - 2 года назад 0
Я только добавил запуск от администратора
ENAleksey #160 - 2 года назад 0
JaBeN_Симфер, у всех по-разному устанавливался варкрафт, у кого-то была лицензия, а у некоторых пиратка с кастомным установщиком и настройками. Так что у каждого могут возникнуть индивидуальные проблемы с запуском, решать их тоже приходится индивидуально.
JaBeN_Симфер #161 - 2 года назад 0
ENAleksey, понял. У меня пиратский инсталлятор с версией 1.16, а поверх фулл патч 1.26. Во времена 1.16 всяких репаков и левых установщиков еще небыло.
Кстати, вот ссылка на этот инсталлятор docs.google.com/uc?export=download&confirm=4cyb&id=0B4Kc...
ENAleksey #162 - 2 года назад 0
Melissa, ладно, кидаю установщик, которым воспользовался я.
Melissa #163 - 2 года назад 0
Хех, что ж, ничего не изменилось :D
koloff #164 - 2 года назад 0
ENAleksey, Ну что, можно будет поддержку полноценного широкого формата Вару прикрутить? Для меня тема животрепещущая, я сделал пару синематик сериалов и лил их на Ютуб в формате 4:3, потому что при 16:9, Вар довольно существенно искажал картинку. И сейчас, я уже пересмотрел было своё решение и хотел плюнуть на искажения картинки и лить в 16:9, и вот, получается, возможен идеальный вариант?
=)
Alexander12 #165 - 2 года назад (отредактировано ) 0
koloff:
ENAleksey, Ну что, можно будет поддержку полноценного широкого формата Вару прикрутить? Для меня тема животрепещущая, я сделал пару синематик сериалов и лил их на Ютуб в формате 4:3, потому что при 16:9, Вар довольно существенно искажал картинку. И сейчас, я уже пересмотрел было своё решение и хотел плюнуть на искажения картинки и лить в 16:9, и вот, получается, возможен идеальный вариант?
=)
можно, но есть минус, переводом экранных координат в игровые, пытался это исправить, пока безуспешно, есть пару догадок, но пока Алексея нет в скайпе.
ENAleksey #166 - 2 года назад (отредактировано ) 0
koloff, да, именно эта проблема и существует, но если нужно использовать widescreen fix только для синематиков, то могу завтра скинуть то, что есть на данный момент. Признаю, что позаимствовал исходники у пользователя под ником ZUKMAN, моя версия действовала по схожему принципу, только вместо сохранения оригинальных пропорций игрового поля, я рисовал его под интерфейсом.
koloff #167 - 2 года назад 0
ENAleksey, Я тебе не тороплю, упаси боже, делай всё как надо, всё равно пока, ещё не скоро мой "Страж" в "режиссёрке" выйдет, я сейчас пилю все три серии сразу. Мне интересен сам вопрос в принципе, и он меня - да, только для синематиков интересует, лучше я уж дождусь финалки, чем шаманить с сырыми патчами. И вот такой вопрос ещё, предположим, что ты выпустил свой патч и он работает, получается, что камеры у меня в сериале будут показывать на 20% больше картинки? И мне придётся дорабатывать каждый вид из камер, который есть в моей машиниме? Как минимум, мне придётся всем камерам дистанцию до цели сократить, что бы в кадр вошло то, что нужно и ничего больше?
ENAleksey #168 - 2 года назад 0
Да, только увеличится не дистанция, а угол обзора (FoV) и придётся подстраивать сцену под новое значение fov, либо просто приблизить камеру.
Но я все-таки скину текущую версию, может всё устроит.
koloff #169 - 2 года назад 0
ENAleksey, А как с загрузочными экранами будет дело обстоять?
Нужно будет пересобирать под новое разрешение? Пропорции ведь другие будут?
ENAleksey #170 - 2 года назад 2
А как с загрузочными экранами будет дело обстоять?
Отношение сторон меняется только на игровом поле, интерфейс остаётся растянутым. Можно, конечно, изменить aspect ratio и для всего интерфейса, только придётся перерисовывать все стандартные текстуры, так что то, что сейчас имеем - оптимальный вариант.

Тем временем, до выхода альфа версии мода остаётся совсем немного времени.
Вкратце расскажу и покажу, что уже реализовано:
  • Замена стандартного per-vertex освещение на попиксельное:
  • Замена линейного значения ambient компонента освещения на кубическую irradiance текстуру:
  • HDR Lighting и пост-эффекты:
Raised #171 - 2 года назад 0
Воронцов, это ты? Меню настройки HDR напоминает аналогичное меню в ENB
ENAleksey #172 - 2 года назад 0
Это же AntTweakBar, его все, кому не лень, используют, в том числе и Борис.
ENAleksey #173 - 2 года назад 4
Идём дальше!
  • Реализована система отрисовки GUI. Признаю, что взял её отсюда.
Оставлю только создание картинок и текста, все дополнительные элементы управления можно будет сделать самостоятельно на Jass.
JesusHipster #174 - 2 года назад 0
Интересно почему это еще не стало стандартом для модмейкеров
AlakFrost #175 - 2 года назад 3
Очень крутой функционал, продолжайте разработку пожалуйста, не забрасывайте!
darkowlom #176 - 2 года назад 0
У меня проблемка другого характера, все запускается, только грузит абсолютно пустую карту
Tumart #177 - 2 года назад 0
Автор обещал залить в скором времени актуальную версию, пока что здесь старая )
ENAleksey #178 - 2 года назад 2
Да, я выложу последнюю версию в течение этой недели. Главное нововведение - отказ от SharpCraft и избавление от всех файлов Nirvana, так что мод запустится даже у Мелиссы.
darkowlom #179 - 2 года назад 0
ENAleksey, аллилуйа, давно ждал)
Кристофер #180 - 2 года назад 6
darkowlom, когда мод запустится у Мелиссы?
Clamp #181 - 2 года назад 0
Чрезвычайно круто, только узрел. Не думал взять свои навыки и пойти в геймдев, мб даже со своим движком?
ENAleksey #182 - 2 года назад 0
philosoph
вы ещё какую то игру делаете?
Уже 6 лет (но только у себя в голове). Очень давно хотел сделать rpg карту для варкрафта с крутым сюжетом и управлением на стрелочках :) Со временем понял, что всё, что я задумал реализовать невозможно и решил сделать игру на Unity3d, даже забросил варкрафт (правда только на две недели), но
у меня уже столько сделано в варкрафте...
А дальше я наткнулся на мод Nirvana для варкрафта, где автор реализовал Normal Mapping, Shadow Volumes и различные пост процессы. И я решил продолжить его дело.
За эти годы скопилось достаточно идей для хорошей rpg игры, каждую из которых я тщательно продумывал, надеюсь, что получится что-то очень интересное.
Если интересно, то у меня в планах игра по вселенной "Трое из Леса" Юрия Никитина.

я выложу последнюю версию в течение этой недели
Даже не знаю, успею ли доделать, просто вообще времени не хватает, а завтра ещё и в другой город на день уезжаю.
Сразу предупрежу, что я собираюсь выложить не ту версию, за которую я взялся недавно (комментарий 170), а самую первую с PBS и использованием .obj моделей. Она будет не особо интересна тем, кто хочет её как-либо настроить для своего проекта, это просто демонстрация того, на что способен WarCraft.
darkowlom #183 - 2 года назад 0
выложить не ту версию
А собственно почему?
ENAleksey #184 - 2 года назад 0
darkowlom, потому, что я решил не выкладывать какие-либо демонстрации до релиза. А релиз состоится, как только я смогу реализовать поддержку custom natives.
darkowlom #185 - 2 года назад 0
ENAleksey, надеюсь это будет отключаемая функция?
ENAleksey #186 - 2 года назад (отредактировано ) 0
darkowlom, нет, без кастомных нативок никак не обойтись при работе с интерфейсом. Можно, конечно, но, думаю, что не многие решатся писать плагины для моего мода на c++, да и саму систему плагинов как-то не хочется писать, к тому же я не хочу, чтобы мод состоял из большого количества файлов.
darkowlom #187 - 2 года назад 0
ENAleksey, ок, тогда такой вопрос. Это не вызовет конфликтов при мультиплеере, если у оппонента отсутсвует мод? НАпример только у одного игрока отключен интерфейс, ну и тому подобное?
ENAleksey #188 - 2 года назад (отредактировано ) 0
darkowlom, о сетевой игре я пока не думал, в основном мод рассчитан на одиночные карты. Запускать карты, где используется объявление кастомных нативок, всё ещё не получится без использования мода, но это происходит из-за особенности самого варкрафта.
А, чтобы играть по сети с новыми интерфейсом, всем участникам сетевой игры придётся запускать карту через специальный лончер. Если в карте не используются функции отрисовки пользовательского интерфейса, никаких проблем не будет.
darkowlom #189 - 2 года назад 0
Если в карте не используются функции отрисовки пользовательского интерфейса, никаких проблем не будет.
Вот это хорошо)
ENAleksey #190 - 2 года назад 12
Свершилось!
Я буквально только что смог добавить Custom Native! Всё работает идеально!

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

И, думаю, что теперь не так обязательно выкладывать первую версию мода (прямо сейчас). Лучше уделить всё время на основную версию RenderEdge, чтобы скорее релизнуть проект.
alexprey #191 - 2 года назад 0
ENAleksey, предлагаю разместить на гитхабе с исходным кодом! Даешь OpenSource в массы!)
ENAleksey #192 - 2 года назад 0
alexprey, конечно, но я уже писал, что не выложу исходники, до завершения работы над проектом.
А Jass API я делал, опираясь на исходники YDWE.
alexprey #193 - 2 года назад 0
ENAleksey, до первой версии?
Андреич #194 - 2 года назад 0
рад что есть прогресс..)
ENAleksey #195 - 2 года назад 0
alexprey, до завершения основной версии.
Альфа версия будет содержать только отрисовку интерфейса, а полная - улучшение освещения и пост-эффекты.
Андреич, спасибо, очень приятно!
theBeyhut #196 - 2 года назад 0
вау, это просто восхитительно, серьёзно, я просто в недоумении, что у кого-то хватит смелости улучшить рендер в варике, а тут такое... Если в дальнейшем ещё добавится возможность использования других текстур (Хотя бы AO и Normal), будет вообще сказка. Ещё хотелось бы, чтобы ты расписал как, можно использовать свою наработку для карт с богатым импортом, думаю кто-то да согласился бы прорекламировать твою наработку, мол с этой штукой графика в карте будет лучше в 10 раз, список всего, что появится (непонятные слова для школьников в списках). И лично меня заинтересовало.
Raised #197 - 2 года назад 0
Выдаёт сообщения "CreateEnvMapFailed" и "CreateIrradMapFailed". В остальном - черный экран. Фикс в реестре не помогает (не требуется). Что делать?
ENAleksey #198 - 2 года назад (отредактировано ) 5
GF RaiseD, это была старая версия, её исходники я не сохранил. Обновление я выложу, но позже, когда релизну основную версию.
На данный момент готовы следующие Custom Natives:
» Input API
native int GetMouseX()
native int GetMouseY()
native int GetWheelDelta()
native void SetMousePos(int x, int y)
native void TriggerRegisterMouseWheelEvent(trigger trig)
native void TriggerRegisterMouseEvent(trigger trig, int iButton, int state)
native int GetTriggerKey()
native bool IsKeyDown(int iKey)
native void TriggerRegisterKeyEvent(trigger trig, int iKey, int state)
native int GetScreenWidth()
native int GetScreenHeight()
» Misc API
native float FPS()
native float DeltaTime()
native int COLOR_ARGB(int a, int r, int g, int b)
native void ShowCursor(bool isShow)
» GUI API
native int GUICreateInstance(int id, int left, int top, int width, int height)
native int GUISetText(int id, bool defSize, string text, int argb)
native int GUISetTexture(int instID, int texID)
native void GUISetBounds(int id, int left, int right, int top, int bottom)
native void GUISetCallback(int id, trigger trig, int iButton)

native int GUICreateTextureFromFile(int id, string filename)
native int GUICreateEmptyTexture(int id, int argb)
Осталось добавить ещё несколько функций для работы с GUI и возможность поиска текстур в .mpq, .w3x архивах и в памяти варкрафта:
native void GUIRemove(int id)
native void GUIShow(int id, bool isShow)

» Вот пример того, как это будет выглядеть на jass:
#define IMG_TestTexture  = 0
#define GUI_TestButton  = 0

void InitInterface()
{
    trigger test1 = CreateTrigger();
    TriggerAddAction(test1, function GUITest);

    GUICreateTextureFromFile(IMG_TestTexture, "Textures\\human-transport-slot.png");
        
    GUICreateInstance(GUI_TestButton, 500, 500, 64, 64);
    GUISetTexture(GUI_TestButton, IMG_TestTexture);
    GUISetCallback(GUI_TestButton, test1, MB_Left);
}
» Или через специальную структуру, написанную на jass:
#define IMG_TestTexture  = 0
#define IMG_Orange         = 1

GUI_Manager array MainGUI

void InitTextures()
{   
    GUICreateTextureFromFile(IMG_TestTexture, "Textures\\human-transport-slot.png")
    GUICreateEmptyTexture(IMG_Orange, 0xffffa500)
}

void InitInterface()
{
    MainGUI[0].AddButton(0.5, 0.5, 0.04, 0.04 * aspectRatio, IMG_TestTexture)
    MainGUI[0].SetCallback(MB_Left, function GUITest0)
    MainGUI[0].SetCallback(MB_Right, function GUITest2)
        
    MainGUI[1].AddButton(0.1, 0.2, 0.04, 0.04 * aspectRatio, IMG_Orange)
    MainGUI[1].SetCallback(MB_Left, function GUITest1)
        
    MainGUI[2].AddLabel(0.6, 0.7, 0.04, 0.04 * aspectRatio, "RenderEdge", 0xff09ff00)
    MainGUI[2].SetCallback(MB_Left, function GUITest2)
}
Вид из игры:
Андреич #199 - 2 года назад 0
я уже весь в предвкушении..)
ENAleksey #200 - 2 года назад (отредактировано ) 0
Обновил функцию GUICreateTextureFromFile(...): реализовал загрузку текстур, импортированных в карту, и их поиск в стандартных архивах варкрафта (war3.mpq, war3x.mpq). На данный момент поддерживаемые форматы текстур - .bmp, .dds, .dib, .hdr, .jpg, .pfm, .png, .ppm, и .tga. Осталось добавить поддержку .blp, что не составит особого труда.
alexprey #201 - 2 года назад 0
native void ShowCursor(bool isShow)
Я думаю, что это можно и в Input API поместить
native int GetScreenWidth()
native int GetScreenHeight()
А вот это уже к GUI больше относится
Еще такой вопрос: а в чем смысл передавать ID контрола? Почему бы его не возвращать? Просто так приходится его хэндлить постоянно... а хотя уже вижу как это можно удачно юзать с использованием vjass структур)
ENAleksey #202 - 2 года назад (отредактировано ) 0
  • Добавил поддержку .blp;
  • Избавился от функций создания текстур. Теперь за это отвечает улучшенный алгоритм, позволяющий предотвратить повторное создание одних и тех же текстур, заключённый в функциях GUISetTexture(int id, string filename) и GUISetColor(int id, int argb).
Осталось собрать проект с нуля, без графических улучшений и AntTweakBar, и с максимальной оптимизацией.
alexprey, от передачи id текстур я уже отказался, до релиза я ещё обязательно пересмотрю структуру GUI системы, и, возможно, откажусь от передачи id элемента, но, скорее всего - нет. Так как при таком подходе могут возникнуть некоторые проблемы, например, если пользователь забудет приравнять значение, возвращаемое функцией GUICreateInstance(...) к переменной, то в дальнейшем будет невозможно получить доступ к данному элементу GUI.
darkowlom #203 - 2 года назад 0
без графических улучшений
Это как?
ENAleksey #204 - 2 года назад 2
darkowlom, без улучшенного освещения и пост-эффектов, только GUI система.
darkowlom #205 - 2 года назад 0
ENAleksey, может стоит сделать билд с графическими улучшениями? Или это войдет в полноценную версию?
ENAleksey #206 - 2 года назад 2
Альфа версия будет содержать только отрисовку интерфейса, а полная - улучшение освещения и пост-эффекты.
darkowlom #207 - 2 года назад (отредактировано ) 0
Видимо прозевал) Эти изменения также останутся?
Использование физически точного шейдера;
Поддержка большинства форматов моделей, среди которых .obj, .3ds, .dae и .blend;
ENAleksey #208 - 2 года назад 2
Дело в том, что актуальный билд работает нестабильно: при разворачивании игры из свернутого состояния, игра наглухо зависает, помогает только завершение процесса из диспетчера задач.

darkowlom, нет, это было только в первой версии RenderEdge, её я тоже продолжу развивать, но позже.
Андреич #209 - 2 года назад 0
если бы ещё можно было редактировать страндартный интерфейс - было бы вообще сказачно...
Raised #210 - 2 года назад 0
Андреич, ну и как ты это себе представляешь? Вот поменяешь ты размер иконок спеллов, например. Чтоб перенастроить интерфейс - хочешь, не хочешь придётся работать с моделями и редактировать текстуры.
Bornikkeny #211 - 2 года назад 0
GF RaiseD, а это уже геморроем попахивает :)
Андреич #212 - 2 года назад 0
Чтоб перенастроить интерфейс - хочешь, не хочешь придётся работать с моделями и редактировать текстуры.
волков бояться - в лес не ходить...
да даже если кривенько, сама возможность этого стало бы оч. крутой фишкой...
хотя, это скорее всего, уже за пределами простой отрисовки новых элементов...
Raised #213 - 2 года назад (отредактировано ) 0
Андреич, да дело не в "боятся", скорее в том что что один, что другой - оба способа требуют примерно одинакового количества усилий.

Кроме того "редактировать стандартный интерфейс" предполагает - как минимум настройку/подгонку положения каждого блока. Имею ввиду что это требует того же инструментария и времени, что и отрисовка своего.
ENAleksey #214 - 2 года назад (отредактировано ) 7
Андреич, GF RaiseD, намного легче сделать интерфейс с нуля, и такая возможность уже есть. Например, можно полностью скрыть стандартный интерфейс и/или выключить его через EnableInterface(...) и рисовать новый, при этом назначая кнопкам действия, которые были назначены на стандартные. Таким способом можно запросто воссоздать стандартную область с предметами, а также с приказами и способностями, благо существуют jass функции, которые позволяют выполнять те же действия, что и кнопки стандартного GUI.
Raised #215 - 2 года назад (отредактировано ) 2
Интересно, мог ли бы ты добавить несколько функций для игровой камеры.
» Опишу подробней, на всякий случай:
Не хватает функций для контроля Z-координаты игровой камеры, нативки для вычисления Z-координаты ландшафта.
Возможно, вы знаете что камера движется по определённой плоскости, не совпадающей с плоскостью ландшафта. Опыты показывают что эта плоскость напоминает сглаженный ландшафт под ней. Сделано это для того чтоб камера не прыгала по каждому малейшему холмику.
Итого Z-координата камеры в произвольной точке - это её высота не над рельефом, а над некой плоскостью камеры. На ровных участках плоскость ландшафта и плоскость камеры совпадают, но когда камера находится у склона, эти плоскости расходятся (т.к. плоскость камеры - сглаженный меш плоскости ланда) и это вызывает множество неприятных багов когда камера "улетает" вверх, находясь у склона.
Искомая функция представляет собой нечто вроде этого:
native GetCameraPlaneZ takes real X, real, Y returns real //Это должно возвращать Z-координату проекции точки на плоскость камеры.
Есть аналогичная маска, по которой передвигаются летающие юниты.
Для "Плоскости юнитов" сойдёт нечто вроде этого:
native GetUnitPlaneZ takes real X, real, Y returns real //Это должно возвращать Z-координату проекции точки на плоскость юнитов.
Это бы развязало руки многим мододелам. Сейчас приходится использовать огромную систему просто чтобы пофиксить положение камеры.
darkowlom #216 - 2 года назад -1
GF RaiseD, только помни, работать будет только у тех у кого есть мод
alexprey #217 - 2 года назад 0
GF RaiseD, так вот оно в чем дело, а я то голову до сих пор ломал, какого так происходит)
Raised #218 - 2 года назад 0
Если этот мод доделать, он станет "must have", как JNGP. По крайней мере для тех, кто собирается делать что-либо годное.
Bornikkeny #219 - 2 года назад -2
GF RaiseD, извини, отвлекся и поставил дизлайк :(
А так, мод маст хэв! Если он будет более менее доделан, то я буду насильно заставлять знакомых качать мод.
Андреич #220 - 2 года назад 0
Например, можно полностью скрыть стандартный интерфейс и/или выключить его через EnableInterface(...) и рисовать новый, при этом назначая кнопкам действия, которые были назначены на стандартные. Таким способом можно запросто воссоздать стандартную область с предметами, а также с приказами и способностями, благо существуют jass функции, которые позволяют выполнять те же действия, что и кнопки стандартного GUI.
это замечательно, но я так понимаю, если отключить стандартный интерфейс, то самому восстанавливать мини-карту и рамку портрета юнитов бует немного геморно..)
ENAleksey #221 - 2 года назад (отредактировано ) 6
Андреич, да не совсем, я сейчас как раз пробую это сделать. Например, так добавляю новую кнопку, при нажатии на которую, происходит то же самое, что и при нажатии на стандартную кнопку атаки.
void fakeAttack()
{
    ForceKey("A");
}

void InitInterface()
{
    trigger trig = CreateTrigger();
    TriggerAddAction(trig, function fakeAttack);

    GUICreateInstance(0, 800, 400, 64, 64);
    GUISetTexture(0, "Textures\\Attack.blp");
    GUISetCallback(0, trig, MB_Left, Key_Release);
}
А миникарту и портрет юнитов можно оставить стандартными, но с возможностью их переместить, изменить размер, либо полностью скрыть.

Скрыть стандартный интерфейс можно средствами d3d, так как, если сделать это функциям варкрафта, то попадет возможность использовать ForceKey(...). Осталось реализовать возможность отключать передачу информации о нажатиях кнопок мыши в варкрафт.
Андреич #222 - 2 года назад 3
А миникарту и портрет юнитов можно оставить стандартными, но с возможностью их переместить, изменить размер, либо полностью скрыть.
это именно то, что я хотел услышать..)
ты - чудо..)
Melissa #223 - 2 года назад 3
ждём с нетерпением
ENAleksey #224 - 2 года назад 5
Альфа версия уже готова и вы можете её скачать! Все подробности здесь: www.hiveworkshop.com/threads/reverse-engineer-game-dll.268718/pa...
alexprey #225 - 2 года назад 3
ENAleksey, пости сюда
ENAleksey #226 - 2 года назад (отредактировано ) 4
alexprey #227 - 2 года назад 0
ENAleksey, тени?
ENAleksey #228 - 2 года назад (отредактировано ) 3
alexprey, да, Shadow Mapping.
На картинке в карту теней рендерятся три меша (у модели паладина две поверхности).
Пока каждый меш нужно вручную добавлять, но дальше буду автоматизировать и оптимизировать процесс.
прикреплены файлы
alexprey #229 - 2 года назад 0
ENAleksey, так получается на стандартных моделях не будет работать?
darkowlom #230 - 2 года назад 0
alexprey, будет, только придется их прописать
ENAleksey #231 - 2 года назад 3
alexprey, это и есть стандартные модели. В дальнейшем пользователю ничего не нужно будет делать, тени будут сгенерированны автоматически для каждого объекта.
mishanka122 #232 - 2 года назад 0
каеф
ждем-следим
ENAleksey #233 - 2 года назад 9

Shadow Mapping Test

Не обращайте внимание на FPS, он такой низкий только при записи, на самом деле он не отпускается ниже 60.
karaulov #234 - 2 года назад (отредактировано ) -1
А что означают минусы красные и зеленые плюсы?
Что сделано / что не сделано? (ну обычно минусом помечают что-то не реализованное а плюсом что-то готовое, если я правильно понимаю )))) )
Arctide #235 - 2 года назад 6
ENAleksey, просто хочется поблагодарить за проделанную, текущую и будущую работу, ибо это всё очень и очень круто.
Bornikkeny #236 - 2 года назад 0
Внесу свою лепту в общую посуду для похвал и благодарностей:
Всё проделано очень здорово! Хотелось бы узнать (это может показаться очень казуально для меня), будет ли совместимость по сети с RenderEdge? Просто хотелось бы "прокачать" свой вар3. Надоело смотреть на квадраты и прочие потрясающие геометрические фигуры.
darkowlom #237 - 2 года назад 9
Bornikkeny, совместимость по сети будет если в картах не используются нативки из RenderEdge. Если же интересует переработка стандартной графики, то Warcraft 3: Reborn будет использовать этот мод с некоторыми изменениями - мы сотрудничаем , однако только после выхода Armies of Azeroth
Кристофер #240 - 2 года назад 0
ENAleksey, мощно, однако, тени слишком темные. Это как-то регулируется?
ENAleksey #241 - 2 года назад (отредактировано ) 7
Кристофер, конечно регулируется.
Bornikkeny:
С glow фонарем что-то не то... :D
Просто не восстановил прозрачность перед рендерингом, потом исправлю.
так получается на стандартных моделях не будет работать?
Сейчас уже ничего самостоятельно прописывать не надо, просто расставляете любые декорации и юниты, даже с нестандартными моделями, на сцене и запускаете игру, все эти модели будут откидывать тени.
alexprey #242 - 2 года назад 0
ENAleksey, ага, уже увидел) Выглядит еще сыровато, но уже круто!) Сам ландшафт будет учитываться?
ENAleksey #243 - 2 года назад (отредактировано ) 9
alexprey, уже учитывается, он сам на себя тоже может откидывать тени.
Вот немного подправил перехват объектов и тени (теперь точно мягкие):
Но забыл восстановить стандартный цвет источника света, можно заметить по различию освещения скелета дракона
Подправил освещение, но всё-ещё не учитываются точечные источники света.
Но на данный момент существует одна очень серьёзная проблема, не позволяющая переносить тени в основную версию:
прикреплены файлы
karaulov #244 - 2 года назад (отредактировано ) 1
ENAleksey, хотелось бы проект увидеть на гитхабе, может кто-то помог бы в исправлении проблем и в улучшении.
Думаю возможно найдутся те кто заинтересованы в улучшении Warcraft III :)
ENAleksey #245 - 2 года назад (отредактировано ) 6
karaulov, выложу, как только выпущу версию 1.0, а для этого мне нужно реализовать все пункты, которые я указал для основой версии, кроме карт нормалей.
А по поводу вышеописанной проблемы мне уже объяснили, что я не так делал, завтра буду исправлять.

Готово!
ENAleksey #246 - 2 года назад (отредактировано ) 12

DEMO

tobyfat50's Asian Garden
Тени, конечно, не удалось показать во всей красе, позже постараюсь выложить ещё несколько скриншотов, а потом и версию для скачивания.

Здесь можно получше разглядеть тени

прикреплены файлы
mishanka122 #247 - 2 года назад 0
ENAleksey, каеф. А что за камень на гифках?
karaulov #248 - 2 года назад (отредактировано ) 1
На гифке видны графические баги ? Вроде бы небольшие есть или это мне показалось.
И да что за камень на нем не отображаются тени? :)
Кристофер #249 - 2 года назад 1
karaulov, отображаются. Я так понял, там снизу выемка. Когда паладином ближе пробегает, тень видна.
Когда приблизительно будет доступна версия с тенями?
karaulov #250 - 2 года назад (отредактировано ) 0
Но тень феникса не видна на камне этом , а паладин был виден но по моему не совсем так как должно быть)
И что это за кусок тряпки появился возле камня)
mishanka122 #251 - 2 года назад 1
karaulov, и тень феникса на гифке есть, а в момент скрина, и и тень пала отображается правильно, камень же не стелится по земле
karaulov #252 - 2 года назад (отредактировано ) 0
Ну да наверно так и есть, а что это за какие-то баги : кусок тряпки какой-то возле камня появился и полосы черные :)
ENAleksey #253 - 2 года назад 1
karaulov, да, некоторые баги ещё остались (те же чёрные полосы на ландшафте). Тени на камне отображаются, это очень хорошо видно, когда над ним пролетает феникс. "Кусок тряпки" - это портрет выделенного юнита, который просто рисуется не в том месте) Просто я пока не понял, как определить, что рендерится именно портрет.
mishanka122 #254 - 2 года назад 0
Я тут заметил, что на уберсплатах тени нет. Это исправляемо?
ENAleksey #255 - 2 года назад (отредактировано ) 17

Screen Space Ambient Occlusion

Для наилучшего результата нужно тщательно настраивать:
Также можно сделать обводку вокруг объектов (хотя SSAO не предназначен для этого):
А вот как выглядит сцена из карты Wanderer с графическими улучшениями: