Извиняюсь, забыл проверить выравнивание относительно других элементов UI. Исправлено. Также исправлено отображение неправильной версии RenderEdge (v0.2.2a) в левом верхнем углу.
Обновление v0.2.3b
Исправлено выравнивание относительно других элементов интерфейса.
выступает в качестве платформы для проверки тех или иных знаний
Именно. Я начал этот проект, потому что мне это было интересно, затем я стал использовать его в качестве платформы для реализации своих знаний, для своего собственного развития.
На данный у меня есть две цели: перенести тени и пост-эффекты из экспериментальной версии в основную и реализовать полноценный фикс интерфейса для широкоформатных мониторов. После этого работа над модом будет закончена, и я выложу исходники проекта.
Сейчас я сосредоточен на модификации стандартного интерфейса варкрафта, вот что имею на данный момент:
Сначала весь интерфейс будет перенесён в левую часть экрана, а затем выровнен по центру.
А здесь полностью скрыт стандартный интерфейс (включая чёрные полосы), кроме миникарты, расположение которой было изменено:
Обновлен Jass API, исправлены некоторые баги связанные с пользовательскими нативными функциями;
Исправлены нативные функции, которые принимают аргументы типа boolean;
Исправлено повторное добавление триггеров функциями TriggerRegister#Event после перезапуска карты;
Функция EnableVsync теперь работает без необходимости сворачивать игру;
Исправлена ошибка, при которой новые элементы GUI не имели зеленой текстуры по умолчанию;
Улучшен debug log. Лог файл очищается, если размер превышает 100 КБ.
Теперь вы можете изменить черные границы динамически:
Чтобы скрыть чёрные полосы сверху и снизу, вызовите функцию SetBlackBorders(float upper, float bottom), где upper и bottom установите равными 0.0. Значения по умолчанию: upper = -0.02, bottom = 0.13.
Если вы устанавливали предыдущие версии RenderEdge, то перед запуском обязательно удалите данный раздел в редакторе реестра: HKEY_CURRENT_USER\Software\RenderEdge
Исправлены вылеты при вызове функций CtrlSetText, CtrlSetTexture и GUISetFont (проблема с конвертацией UTF-8 в ASCII);
Удалено нестабильное нововведение из предыдущей версии: "Убрано стандартное ограничение минимальной дистанции камеры до цели";
Обновлён FreeType до версии 2.8;
Обновлён RenderEdge_loader.dll. Теперь он ищет RenderEdge_exp.dll, если не нашёл, то запускает RenderEdge.dll;
Добавлен счётчик памяти, используемой варкрафтом;
Оптимизация GUI системы;
Оптимизация Widescreen fix;
Оптимизация debug log. Система отладки переписана с нуля.
Сколько объектов в кадре, сколько памяти используется?
Попробуй ещё выключить Туман Войны и стандартное освещение на вкладках Directional Light и Sky Light (Default Color, Default Direction).
EfReeZe, это AntTweakBar так работает с дискретной видеокартой. У меня были такие же лаги при движении курсора, когда я случайно сбросил настройки BIOS, тем самым включив дискретную видеокарту Intel HD Graphics 4000. От этой проблемы я избавлюсь только после того, как перенесу весь функционал экспериментальной версии RenderEdge в основную, то есть откажусь от пользовательского интерфейса AntTweakBar. А пока можно просто нажать на F9, чтобы отключить AntTweakBar.
Xin, Narkranoth, пока тени жрут очень много памяти, при этом игра может вылететь при превышения определённого лимита (у меня это 2000 Мб). На данный момент для каждого объекта на сцене создаётся свои буферы вершин и индексов, они и занимают всё это место в памяти. Я так делаю из-за того, что у меня нет прямого доступа к информации об объектах на сцене, но я пытаю оптимизировать процесс перехвата данной информации. По-хорошему нужно создать только один буфер вершин и один буфер индексов, чтобы хранить в них всех юнитов, но пока у меня ничего не получается.
Также на производительность влияет и то, что я рендерю каждый объект по отдельности, то есть делаю что-то вроде этого:
for each (MESH mesh in allMeshes)
{
g_pStandardFX->Begin();
mesh->Render();
g_pStandardFX->End();
}
А надо так:
g_pStandardFX->Begin();
for each (MESH mesh in allMeshes)
{
mesh->Render();
}
g_pStandardFX->End();
И всё это из-за той же самой проблемы: "у меня нет прямого доступа к информации об объектах на сцене".
В общем, мне очень нужна помощь людей, которые разбираются в reverse engineering'е динамических библиотек. Всё, что мне нужно на данный момент - найти в game.dll структуру игровых объектов, это решит все проблемы, которые имеются на данный момент.
Xin, на какой карте происходят сильные лаги, сколько объектов находится в кадре? У меня мобильная видеокарта NVS 5200M, но на карте, которую я приложил к экспериментальной версии, выдаёт 100 FPS с включенными тенями.
PrincePhoenix, спасибо, конечно, но я не очень нуждаюсь в пожертвованиях. Публиковать кошелёк не буду, но если очень хочется поддержать, то лучше написать мне в ЛС.
Кристофер, ещё планирую сделать туман пост-эффектом. Это позволит сделать плавный переход от земли к небу, так как на данный момент туман выглядит так:
Далее в функции движения снаряда определяем столкновение с землёй, получаем нормаль и строим вектор отражения по данной нормали и текущей скорости снаряда:
Ред. ENAleksey
» RenderEdge / [RenderEdge] Графическая модификация для WarCraft III
Обновление v0.2.4a
Ред. ENAleksey
» Game Observer / Дайджест XGM 10-17 июля
Ред. ENAleksey
» RenderEdge / [RenderEdge] Widescreen Fix
» WarCraft 3 / Jass New Gen Pack - Rebuild 1.4
» WarCraft 3 / про мемхак
Ред. ENAleksey
» RenderEdge / [RenderEdge] Графическая модификация для WarCraft III
Обновление v0.2.3b
Ред. ENAleksey
» RenderEdge / [RenderEdge] Widescreen Fix
На данный у меня есть две цели: перенести тени и пост-эффекты из экспериментальной версии в основную и реализовать полноценный фикс интерфейса для широкоформатных мониторов. После этого работа над модом будет закончена, и я выложу исходники проекта.
Ред. ENAleksey
» RenderEdge / [RenderEdge] Графическая модификация для WarCraft III
Обновление v0.2.3a
Использование функции CtrlSetAlignment
» RenderEdge / [RenderEdge] Widescreen Fix
Ред. ENAleksey
» RenderEdge / [RenderEdge] Графическая модификация для WarCraft III
Обновление v0.2.2a
Ред. ENAleksey
» WarCraft 3 / какие есть способы сделать освещение в варике
Вот несколько ссылок:
https://www.hiveworkshop.com/threads/hybrisfactory-terraining-an...
https://www.hiveworkshop.com/threads/hybrisfactory-terraining-an...
» WarCraft 3 / какие есть способы сделать освещение в варике
Ред. ENAleksey
» WarCraft 3 / Как создать программу для подключения своих mpq к Warcraft...
» RenderEdge / [RenderEdge] Widescreen Fix
» WarCraft 3 / Патч 1.28.2
Ред. ENAleksey
» WarCraft 3 / Патч 1.28.2
Ред. ENAleksey
» RenderEdge / [RenderEdge] Графическая модификация для WarCraft III
Обновление 0.2.1b
» RenderEdge / [RenderEdge] Экспериментальная версия
» RenderEdge / [RenderEdge] Экспериментальная версия
Ред. ENAleksey
» RenderEdge / [RenderEdge] Экспериментальная версия
Ред. ENAleksey
» RenderEdge / [RenderEdge] Экспериментальная версия
Ред. ENAleksey
» RenderEdge / [RenderEdge] Экспериментальная версия
Blue Noise Dithering
Ред. ENAleksey
» RenderEdge / [RenderEdge] Экспериментальная версия
» RenderEdge / [RenderEdge] Экспериментальная версия
Height Based Fog
Ред. ENAleksey
» WarCraft 3 / Как реализовать адекватный рикошет от клифов?