13

» RenderEdge / [RenderEdge] Widescreen Fix

Кто-нибудь может скинуть game.dll из патча 1.28.1, чтобы я смог добавить его поддержку?

Обновлнение:
  • Добавлена поддержка патча 1.28.2.

Обновлнение:
  • Полоски здоровья больше не растягиваются на патчах 1.24e и 1.26a.
13

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

Melissa, нужно просто покапаться в настройках теней, например увеличить дальность прорисовки и установить угол обзора на 70 градусов.

Обновление v0.0.2a

  • Новый пост-эффект Bloom;
  • Добавлены настройки Lens Dirt;
  • Добавлена возможно протестировать самосветящиеся материалы (см. вкладку Material);
  • Unshaded материалы выключены по умолчанию, их можно включить на вкладке Material;
  • Исправлены проблемы с конвертацией цвета стандартных источников света/тумана в линейное пространство;
  • Исправлена проблема, при которой нельзя было менять освещение в картах, где была вызваны функция SetDayNightModels({{, )}};
  • Добавлен счётчик памяти, используемой варкрафтом;
  • Debug Screens теперь работают.
13

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

Melissa:
Хмм, а можно как-то пофиксить портреты? У меня пропадают все синематик-рамки, а портреты юнитов либо вообще не отображаются либо отображаются частично?
Можно, конечно, когда-нибудь этим займусь. Данная проблема возникла из-за того, что я убрал чёрные полосы сверху и снизу, для её исправления нужно заставить портреты рисоваться после всех остальных объектов.

Кстати, только что реализовал улучшенный Bloom эффект из Unity 5.6:
Завтра выложу новую версию.
Изначально хотел взять реализацию из Unreal Engine 4, но Bloom из Unity, возможно, даже лучше.
13

» WarCraft 3 / Хак на память Warcraft3

Bornikkeny, разницы нет, но лучше переименовать mix в dll, чтобы после экспорта в папку с варкрафтом mix не загружался сам.
13

» WarCraft 3 / Хак на память Warcraft3

Bornikkeny, да, вроде, не особо сложно, нужно всего-лишь одну функцию написать:
function InjectDLL takes string name returns nothing
    if FileExists(name) then
        if GetModuleHandle(name) == 0 then
            call LoadLibrary(name)
        endif
    else
        if (not ExportFileFromMpq(name, name)) then
            call BJDebugMsg("|c00ff0000Error! ExportFileFromMpq:|r " + name)
        endif
        if (LoadLibrary(name) == 0) then
            call BJDebugMsg("|c00ff0000Error! LoadLibrary:|r " + name)
        endif
    endif
endfunction
13

» WarCraft 3 / Хак на память Warcraft3

Bornikkeny, посмотри, как я делал:
ENAleksey:
awesomesk1ll, да, здесь нет ничего сложного, для начала экспортируем dll из карты, а потом загружаем её с помощью LoadLibraryA. Сейчас скину карту с загрузкой моей библиотеки, в которой реализован Widescreen Fix.

Скачать (поддерживаются версии 1.26a и 1.27а).
Правда, я сделал инициализацию библиотеки с помощью вызова экспортируемой функции из dll, чтобы передать в неё версию варкрафта, но это можно делать и внутри библиотеки: вызывать только LoadLibraryA, а всё остальное делать в теле функции DllMain.
13

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

Кет, из-за текстур и параметров roughness и metallic по умолчанию. В RenderEdge используется физически корректное освещение, поэтому можно сделать любой материал: хоть пластик, хоть дерево, хоть металл, главное - правильно настроить.
Можете просто скачать и посмотреть на освещение в действии: включать-выключать отражения, изменять параметры материалов.
13

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

ENAleksey, можно, плиз, инструкцию по установке? Фаталит при запуске (из реестра папку RenderEdge удалил).
Исправил. Проблема была в том, что видеокарта не поддерживала INTZ формат текстур. Если видеокарта не поддерживает данный формат текстур, то будет использоваться RAWZ.
13

» RenderEdge / [RenderEdge] Графическая модификация для WarCraft III

Xin, я и говорю, что пока никак) Для всех объектов используется одна и та же текстура нормалей, я пока не могу различать объекты/модели.
Хотя я могу отличить только юнитов от ландшафта, а на самом ланде не могу определить какой тайл сейчас используется.
13

» RenderEdge / [RenderEdge] Графическая модификация для WarCraft III

Xin, с выключенными пост-эффектами, точечными источниками света и включенными тенями выдаёт 100 фпс на моём слабом ноутбуке.
Xin, Кристофер, никакких швов на ландшафте не будет, если карты нормалей делать тайлящимися. В данном примере я использовал одну текстуру с нормалями для всех объектов:
DemonoiD, всё это настраивается, правда, на данный момент только для всех объектов одновременно, без индивидуальной настройки. Это будет реализовано после того, как я смогу найти способ записи и чтения кастомной информации в mdx файлах.
Загруженные файлы
13

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

Релиз экспериментальной версии 0.0.1a

Особенности:

  • Каскадные тени;
  • Попиксельное освещение;
  • Освещение, основанное на физических законах;
  • Ambient освещение заменено на Sky Light;
  • Burley diffuse модель освещения вместо Lambertian;
  • Все вычисления при работе с освещением и пост-эффектами проводятся в линейном пространстве;
  • ACES Tonemapping and Color Correction;
  • Image Based Lighting;
  • Поддержка карт нормалей;
  • Попиксельный туман: линейный, экспоненциальный, экспоненциальный квадратичный, Height Based;
  • Пост-эффекты: SSAO, SMAA, Film Grain, LUT Color Correction, Auto Exposure, Bloom, Lens Flares;
  • Заменена стандартная вода (пока без отражений и преломлений);
  • Свободная камера.

Исправления оригинальной игры:

  • Скайбокс больше не дёргается при перемещении камеры;
  • Снято ограничение на максимальный FPS:
  • Добавлена возможность отключать вертикальную синхронизацию;
  • Использование техники reversed depth buffer (пока отключено);
  • Возможность понизить значение ближней плоскости отсечения камеры без появления z-fighting артефактов;

Известные проблемы:

  • При рубке деревьев с включенными тенями игра вылетает;
  • Объекты с чёрным цветом материала становятся незатенёнными (пока не нашёл способ определять незатенённые объекты другим способом);
  • Игра может вылетать при включенных тенях, если в кадре находится более 2000 объектов;
  • Игра может начать подтормаживать при отключении теней, если при этом в кадре находится большое количество объектов.

Скачать

Скачать (папку можно разместить в любом месте на диске).
Если вы устанавливали предыдущие версии RenderEdge, то перед запуском обязательно удалите данный раздел в редакторе реестра: HKEY_CURRENT_USER\Software\RenderEdge

Требования:

Скриншоты

Physically Based Lighting

Image Based Lighting

Normal Mapping
13

» RenderEdge / [RenderEdge] Графическая модификация для WarCraft III

DemonoiD, спасибо за такие слова. Кстати, экспериментальная версия уже готова, скоро выложу, а пока вот пара скриншотов:
Загруженные файлы
13

» RenderEdge / [RenderEdge] Widescreen Fix

Была допущена ошибка из-за моей невнимательности, из-за чего фикс не работал на версии 1.27b. Исправлено.
13

» WarCraft 3 / Как отследить что юнит находится на порченной земле?

IsPointBlighted(GetUnitX(u), GetUnitY(u))
А это для создания порчи:
SetBlight(player whichPlayer, real x, real y, real radius, boolean addBlight);
13

» RenderEdge / [RenderEdge] Widescreen Fix

Интересуют совместимые с айкапом улучшения. (Fps лимит/графон)
Улучшение графики вообще никак не должно влиять на работоспособность игры по сети (правда этих улучшений пока нет в основной версии). То же самое и со снятием лимита на FPS.
Вот тест игры по локальной сети и со снятием ограничения на FPS (основная версия):
Загруженные файлы
13

» RenderEdge / [RenderEdge] Графическая модификация для WarCraft III

Обновление 0.2.1a

Скачать (карта-пример внутри)
  • Обновлён Widescreen Fix. Вертикальный угол обзора больше не зависит от ширины экрана;
  • Снято ограничение на максимальный FPS, теперь он может подниматься выше 64 с выключенным vsync (спасибо Karaulov'у);
  • Убрано стандартное ограничение минимальной дистанции камеры до цели (было 100.0, теперь можно установить до 0.01);
  • Использование более точного формата буфера глубины, если поддерживается. Используйте SetCameraField(ConvertCameraField(7), value, time), чтобы изменить ближнюю плоскость отсечения камеры (100.0 по умолчанию);
  • Добавлена новая native функция TriggerRegisterFrameUpdateEvent. Триггер срабатывает каждый кадр (задержка меньше 0.001 секунды);
  • Добавлена новая native функция EnableVsync (включено по умолчанию);
  • Добавлены новые native функции GetWindowX и GetWindowY;
  • Добавлены новые native функции GetMouseXRelative и GetMouseYRelative;
  • Функции GetMouseX и GetMouseY теперь возвращают координаты без отсечения границами окна;
  • Изменено название функции FPS на GetFPS;
  • Изменено название функции DeltaTime на GetDeltaTime;
  • Функция GetDeltaTime теперь возвращает секунды вместо миллисекунд;
  • Улучшен debug log. Лог файл очищается при превышении размера в 1 MB.
Загруженные файлы
13

» WarCraft 3 / native DisplayTextToPlayer takes player toPlayer, real x, real y

В варкрафте для отрисовки интерфейса используется система координат с началом в нижнем левом углу, координата X задается в промежутке [0.0; 0.8], Y - [0.0; 0.6].
Хотя нет, я ошибся, там другие границы, лучше самостоятельно проверить, выводя текст с изменением координат при нажатии на стрелочки.
13

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

Work In Progress

  • Фейковое глобальное освещение (вода пока не учитывается):
  • Физически корректный спекуляр:
  • Улучшена техника SSAO, добавлено размытие:
  • Доработан Tone Mapping, добавлены настройки для цветокоррекции:
13

» WarCraft 3 / Важная информация об обновлении 1.28

Тимур, чтобы разблокировать остальные варианты разрешения экрана, нужно снять галочку с пункта "Фиксированное соотношение сторон" в настройках графики.
13

» RenderEdge / [RenderEdge] Графическая модификация для WarCraft III

Lotus101, привет, я уже скидывал версию на основе Memory Hack с Widescreen Fix:
xgm.guru/p/renderedge/basic?postid=340425#comment157 (в конце комментария)
Скорее всего не будет работать по сети, но зато не надо запускать игру через сторонний лончер.
13

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

будет ли реализована загрузка шрифтов из импорта самой карты/кампании/архива?
Да, я уже делал это, шрифты загружались, но была одна проблема - стандартный шрифт варкрафта (FRIZQT__.TTF) крашил игру. Данная возможность появится в следующей версии, а пока можно использовать любые шрифты, установленные в системе.
13

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

mishanka122, я думал, что вы имели ввиду тени для полупрозрачных объектов:
К примеру, идет такой юнит, а у него тени нет
Тени можно выключать для каждого отдельного объекта с помощью jass функции.
Загруженные файлы