Добавлен , опубликован

Думаю, многие уже видели проект Nirvana, в котором автор реализовал технологию Normal Mapping.
Я переделал Direct3D8to9 библиотеку из данного проекта, теперь вместо генерации карт нормалей, они загружаются из файлов.

Тестовые скриншоты


Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
6
9 лет назад
0
Круто! А можешь сделать скрины со стандартными моделями?
0
13
9 лет назад
0
Flek, читай внимательнее первые коментарии.
10
13
9 лет назад
Отредактирован ENAleksey
10

Небольшой Update

  • Реализована поддержка .dds файлов. Теперь текстуры не нужно импортировать в карту, что значительно снижает её вес, diffuse и normal текстуры загружаются из папки (далее можно сделать загрузку из .mpq архива).
  • Простая отрисовка спрайтов и текста. В дальнейшем буду пробовать совместить данную систему с SharpCraft'ом, что позволит выводить изображения и текст используя jass.
Всё ещё улучшаю Bump mapping и Dynamic shadows. Планирую переносить всё на шейдеры, добавлять поддержку источников света, различные пост-эффекты.
Параллельно с этим пишу системы для игровой action механики: передвижение, боевая система.
0
10
9 лет назад
0
Оху...
Охренеть.
Апплодирую стоя. Вот это вещь.
0
13
9 лет назад
Отредактирован ENAleksey
0
Нужна помощь.
Кто-нибудь имеет опыт работы со взломом игр, в получении и изменении данных?
Кто может объяснить, как получить данные, возвращаемые jass функцией, из сторонней программы?
Библиотека, которую я использую имеет GameHook. Я получил адрес нужной мне функций, например, "GetCameraTargetPositionX". Что теперь я должен с ним сделать, чтобы получить возвращаемое функцией значение?
0
12
9 лет назад
0
Хмм, sharpcraft + direct3d11 + hjass. Теперь из варкрафта можно лепить всё что угодно. Почти. Если суммировать эти и еще остальные наработки получается уже "свой" варик. Если бы ещё опенсурс
0
13
9 лет назад
0
А ты можешь подобные вещи (чтение карт нормалей из файла) реализовать для любой игры?
0
13
9 лет назад
0
J64_, сорцы sharpcraft'а есть, а что такое hjass? Прости, не в курсе.
Skarn, Для каждой игры нужно вручную настраивать: во-первых, нужно знать адрес вызова функции Direct3DCreateX, если используется Direct3D, во-вторых нужно получить доступ к функциям отрисовки игры, или, как в данной библиотеке, использовать ручное установление текстур для заранее найденных примитивов по их NumVertices, Stride и PrimCount.
ENAleksey:
что такое hjass
Поискал, вспомнил.
2
13
9 лет назад
2
ENAleksey:
J64_, сорцы sharpcraft'а есть, а что такое hjass? Прости, не в курсе.
Skarn, Для каждой игры нужно вручную настраивать: во-первых, нужно знать адрес вызова функции Direct3DCreateX, если используется Direct3D, во-вторых нужно получить доступ к функциям отрисовки игры, или, как в данной библиотеке, использовать ручное установление текстур для заранее найденных примитивов по их NumVertices, Stride и PrimCount.
ENAleksey:
что такое hjass
Поискал, вспомнил.
Если бы запилил такую же тему на WoW был бы очень благодарен. Хватит уже адовой некрофилией с трупом wc3 заниматься.
1
15
9 лет назад
Отредактирован Харгард
1
Хмм, sharpcraft + direct3d11 + hjass. Теперь из варкрафта можно лепить всё что угодно.
Как на счет адекватного 16:10, неглючащего WASD и реконекта?
Если бы запилил такую же тему на WoW был бы очень благодарен. Хватит уже адовой некрофилией с трупом wc3 заниматься.
Skarn, разве WoD этого не умеет из коробки?
2
13
9 лет назад
Отредактирован ENAleksey
2
Решил переносить освещение и bump mapping на шейдеры. Шейдеры готовы, но в них нужно передавать такие данные, как координаты положения и цели камеры.
Я нашёл адреса данных функций:
0x003D8F6C "GetCameraTargetPositionX"
0x003D8F80 "GetCameraTargetPositionY"
0x003D8F94 "GetCameraTargetPositionZ"

0x003D8FBC "GetCameraEyePositionX"
0x003D8FD0 "GetCameraEyePositionY"
0x003D8FE4 "GetCameraEyePositionZ"
Теперь нужно как-то получить значения возвращаемые этими функциями.
Здесь имеется код hook'а, где происходит возвращение значения функции GetUnitDamage, кто сможет объяснить, как сделать тоже самое, только для работы с игровой?
Новостей месяц не будет: сегодня уезжаю отдыхать.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.