Перейти в начало страницы

Здравствуйте, гость ( Авторизация | Регистрация )

Gameru.net останавливает работу в связи с вторжением армии РФ в Украину. Следите за дальнейшими анонсами.
Support Gameru!
> MetroEX - универсальный инструмент для работы с ресурсами игр серии Метро
iOrange
сообщение 22.02.2019, 19:21
Сообщение #421
BFG9000 owner

Половина землекопа
**************

Репутация:   247  
Куратор темы
Сообщений: 1813
Регистрация: 30.03.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа




Комплексная программа для работы с ресурсами игр серии Metro (+ Arktika.1) от iOrange - MetroEX
http://s.gameru.net/metro/MetroEX_v047.zip
Github репозиторий - временно недоступен

Чейнджлог по версиям:
MetroEX v0.3

1) Исправлен зум моделей колесиком мышки на Windows 7/8 (автор - abramcumner)
2) Добавлена фильтрация дерева файлов (автор - slik)
3) Известные типы файлов теперь отображаются со своими иконками (автор - Shoker)
4) config.bin теперь можно раскрыть и просматривать / извлекать файлы находящиеся в нем (автор - Shoker)
5) Добавлена инфо-панель для текстур и моделей, которая показывает полезную информацию о выбранном файле
6) Экспорт модели вместе с ее анимациями в FBX! *
7) Возможность просмотра анимаций прямо в программе (данный функционал не до конца доработан, учтите)

* При единичном экспорте в FBX модель всегда экспортируется с анимациями. При пакетном извлечении можно отключить экспорт анимаций.
Экспорт с анимациями может занять некоторое время. Я постараюсь оптимизировать это, но похоже что проблема в FBX SDK.



Так выглядит проигрывание анимации в программе:


А так выглядит результат экспорта открытый в 3Ds Max:


MetroEX v0.4

были добавлены доп. опции экспорта в FBX:
* Export animations - определяет нужно ли вообще экспортировать анимации. Полезно если вам просто нужна модель в FBX, без анимаций
* Animations to separate files - имеет смысл только в паре с предыдущей опцией, и при включении будет экспортировать анимационные треки в отдельные FBX файлы. Т.е. на выходе будет FBX файл с моделью и скелетом, и рядом с ним FBX файлы, по одному на анимацию. Попытка экспорта моделей с 11,000 анимаций все равно займет прилично времени, но при этом памяти будет потребляться не много, и даже при сбое - у вас останутся те файлы, что успели записаться.

[1] Был доработан немного 3D просмотрщик моделей - теперь реализована "правильная" Arcball камера, так что вращать и рассматривать модели стало удобнее.
Так же был добавлен режим отображения сетки полигонов поверх модели.

[2] Добавлено окно отображения свойств модели. Там отображена вся информация о модели. Есть даже информация о том, кто и на каком компьютере создал эту модель, и имя оригинального файла.

[3] Добавлено окно отображения свойств текстур, находящихся в текстурной базе. Полезно тем, что вы можете найти там дополнительные текстуры, которые на данный момент не экспортирует программа (бамп, детали...)

[4] Добавлено окно настроек программы, настройки сохраняются в файл рядом в папку с программой. Пока там только настройки экспорта, но в будущем туда будут добавляться / выноситься больше настроек.

[5] Реализована заргузка, отображение, и экспорт локализационных файлов. Экспорт производится в формат Excel 2003.

[6] Добавлено меню инструментов, содержащее следующие тулзы:
- [7] Конвертер текстур в формат Metro Exodus. Умеет конвертировать как одиночный файл, так и папку (с подпапками).
- Конвертер локализационных файлов из формата Excel 2003 назад в формат Metro Exodus.
- [8] Злополучная утилита для создания патч-архивов. Указываете где лежит папка content, куда сохранять результирующий архив, и жмете кнопку. Остально за вас сделает программа.

Так же было переписано много кода, решались организационные вопросы, велись работы по функционалу, который войдет в v0.5, но об этом будет позже.

Дальше прикладываю скриншоты к отмеченным изменениям:
screenshots here

[1] Wireframe mode


[2] Model properties


[3] Textures database viewer


[4] Settings window


[5] Localization files support


[6] Tools menu


[7] Textures converter


[8] Archives tool



MetroEX v0.41

В версии MetroEX v0.41 добавлены опции экспорта моделей


Так же добавлена кнопка на панели для включения / выключения показа колизии (если таковая есть).
примеры

Включено:


Выключено:


Ну и злополучные деревья, кстати. Помню кто-то в этой теме на них жаловался.
Включено:


Выключено:



Ну и по традиции - небольшой бонус - теперь зажав правую кнопку мышки можно перемещать модель.
Так же на панели инструментов появилась кнопка сброса камеры, для удобства.

MetroEX v0.42

* Исправлен экспорт единичной модели в FBX (не всегда правильно реагировала на настройки)
+ Добавлена поддержка текстур и моделей Redux версий Метро (просмотр + экспорт)

MetroEX v0.45

+ Добавлена возможность модификации игровых архивов
+ Добавлено чтение шрифтовой базы
* Исправлена конвертация игровых локализаций назад в формат игры

MetroEX v0.45a

+ Переписана файловая система, теперь можно указать папку с игрой, и будут загружены абсолютно все игровые паки, включая патчи и ДЛЦ. Новые файлы будут заменять собой старые, так же как это делает игра.
+ Добавлен функционал экспорта набора текстур описывающих "поверхность" (альбедо, "бамп", карта нормалей, карта деталей)
+ Добавлена опция экспорта моделей для экспорта всех текстур "поверхности"








MetroEX v0.46

+ Добавлена возможность сохранить отдельную анимацию (by SkyLoader)
+ Добавлено отображение и экспортирование лодов у модели (если таковые имеются) (by SkyLoader)
+ Инструмент "Textures converter" был доработан и теперь может создавать текстуры для предыдущих версий Metro (обычные и Redux)
+ Сильно переработана подсистема чтения/записи игровых ресурсов (больше задел на будущее, но уже дает свои плоды)
+ Доработана файловая система (ФС). Теперь ФС правильно обрабатывает дубликаты файлов, а так же поддерживает архивы вплоть до последнего DLC.
+ Написан код позволяющий заменять файлы в файле config.bin, и сохранять измененный config.bin.
+ Добавлен инструмент для редактирования/замены/проверки шрифтов.







MetroEX v0.46a

* Исправлена загрузка всех архивов из папки игры (было поломано для старых версий игры)
* Улучшено качество отрисовки шрифтов в Font Preview.


MetroEX v0.47

+ Добавлена поддержка всех версий игр Metro и Arktika.1
* Исправлен просмотр анимаций
* Исправлен экспорт в OBJ (была неправильная настройка материалов)
* Улучшения стабильности


Программа предназначена только для личного пользования в ознакомительных целях!
Распространение извлеченных файлов и их содержимого за пределы вашего личного ПК - нарушение лицензионного соглашения.
Автор программы не несет ответственности за прямой или косвенный ущерб причиненный в результате неправомерного использования программы.


Дополнительный/алтернативный софт:

Программа для конвертирования текстур любых версий Метро от iOrange - MetroTC
http://s.gameru.net/metro/MetroTC.zip
Github репозиторий - https://github.com/iOrange/MetroTC
Описание

Встречайте MetroTC - комбайн-конвертер любых текстур всех версий Метро в одном флаконе.
Ваша задача - указать где лежат текстуры (или одна текстура) и дать команду "Convert!", и программа сама найдет в указанном месте все текстуры Метро, обработает, и выдаст DDS читаемый любыми редакторами и утилитами.

Отличительные особенности:
1) Поддержка всех версий игр серии Метро
2) Текстуры 512/1024/2048 (если присутствуют) собираются в один DDS со всем мипмапами и правильными свойствами
3) Программа умеет определять что текстура уже была сконвертированна, и потому ее можно "натравливать" на папки с частично конвертированными текстурами
4) Эксклюзив для Gameru.net rolleyes.gif
5) Программа залита на сайт gameru.net, а потому ссылка не умрет cool.gif




Распаковщик архивов Metro Exodus от abramcumner
https://yadi.sk/d/XhCjq0wVK_oAsQ

Конвертер для текстур эксодуса в .dds от Prodnik
https://yadi.sk/d/G1xL2FcYE4FlxQ


--------------------
Hello worlds!
Перейти в начало страницы
 
43 страниц V  « < 20 21 22 23 24 > »   
Начать новую тему
Ответов
ximik163
сообщение 21.03.2019, 19:46
Сообщение #422


Новичок
*

Репутация:   0  
Группа: Участник
Сообщений: 3
Регистрация: 21.03.2019




Вставить ник Цитировать выделенное в форуму быстрого ответа


.появился вопрос по поводу текстур с префиксом bump. в зелёном канале хранится глосс мапа, в синем-спекуляр, но какие карты хранятся в красном и альфе? иногда красный канал пустой, иногда там мапа, похожая на глосс, но с другой яркостью

Сообщение отредактировал ximik163 - 21.03.2019, 19:59
Перейти в начало страницы
 
Ant3ks
сообщение 21.03.2019, 20:52
Сообщение #423


Новичок
*

Репутация:   0  
Группа: Участник
Сообщений: 3
Регистрация: 16.03.2019




Вставить ник Цитировать выделенное в форуму быстрого ответа


По-моему, Displacement map
Перейти в начало страницы
 
ximik163
сообщение 21.03.2019, 21:03
Сообщение #424


Новичок
*

Репутация:   0  
Группа: Участник
Сообщений: 3
Регистрация: 21.03.2019




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Ant3ks @ 21.03.2019, 20:52) *
По-моему, Displacement map

да точно, это альфа.
Перейти в начало страницы
 
SkyLoader
сообщение 22.03.2019, 02:07
Сообщение #425


Почти Игроман
*********

Репутация:   153  
Группа: Участник
Сообщений: 614
Награды: 4
Регистрация: 03.05.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(ximik163 @ 21.03.2019, 19:46) *
.появился вопрос по поводу текстур с префиксом bump. в зелёном канале хранится глосс мапа, в синем-спекуляр

Я тоже думал, что так расположены карты в текстуре, но похоже, что не во всех материалах так сделано. С некоторыми моделями использование карт по данным каналам выглядит неестественно, сильно отражает.
Перейти в начало страницы
 
Shoкer
сообщение 22.03.2019, 04:16
Сообщение #426


Кандидат Игровых Наук
******************

Репутация:   2153  
Группа: Участник
Сообщений: 3488
Награды: 4
Регистрация: 27.07.2009




Вставить ник Цитировать выделенное в форуму быстрого ответа


Удалось подлезть в игровую консоль и логи smile.gif , достал немного интересного:

1) Версия игры и номер билда
Build GUID = 2019-02-22_14-55-21_491623_pc_epic_gm_to_patch0
Build GUID short = 2019-02-22_14-55-21_491623
uCore :: 4A platform build 5132, Feb 22 2019, 14:56:18

В 2010 году у прошлых игр номер билда был 1830: https://www.gameru.net/forum/index.php?show...p;#entry1652958

2) Полный лог игры (в metroexodus.log лишь его огрызок) - https://pastebin.com/HnWEkXec

3) Список консольных команд, доступных в релизном билде: https://pastebin.com/3wnMm0ZE

Чего то сверхинтересного пока там не нашёл, многие команды визуально пока-что ни на что не влияют, но как минимум:
- Можно тонко настроить графику.
- В консоли есть команды map \ weather, рабочие и используются для загрузки уровней, смены погоды.
- Пока что самое интересное, если в user.ltx прописать photo_mode_type 0, то у фоторежима в игре пропадёт ограничение на дальность и появится возможность летать сквозь все препятствия.

Всего режимов 4 (0 - 3)
0 и 1 - не понял чем отличаются.
2 - похож на 0, но камера возвращается к игроку если далеко улететь
3 - стандартный режим

user.ltx лежит в C:\Users\<пользователь>\Saved Games\metro exodus, игра его постоянно перезаписывает поэтому возможно имеет смысл поставить режим "Только чтение".

4) Также пробую узнать какая информация хранится в .bin-файлах, есть хорошие подвижки но нужно время.

Судя по всему построение уровней не сильно отличается от 2033, а значит разобрав формат есть шансы на написание редактора уровней.

Для затравки, если ещё не выкладывали, то видимо вот в каком виде хранится информация о текстурах \ материалах.

Есть флаг treat_as_metal - возможно он отвечает как раз за отражабельность.

Код
type = u32
texture_type = u8
source_name = stringz
surf_xform = vec4f
format = u32
width = u32
height = u32
animated = bool
draft = bool
override_avg_color = bool
avg_color = color, vec4f
shader_name = choose
shader_name = stringz
gamemtl_name = choose
gamemtl_name = stringz
priority = u32
streamable = bool
bump_height = fp32
displ_type = u8
displ_height = fp32
parallax_height_mul = fp32
mipmapped = bool
reflectivity = fp32
treat_as_metal = bool
det_name = choose_array, str_shared
det_name = stringz
det_scale_u = fp32
det_scale_v = fp32
det_intensity = fp32
aux_params = color, vec4f
aux_params_1 = color, vec4f
bump_name = choose
bump_name = stringz
aux0_name = choose
aux0_name = stringz
aux1_name = choose
aux1_name = stringz
aux2_name = choose
aux2_name = stringz
aux3_name = choose
aux3_name = stringz
aux4_name = choose
aux4_name = stringz
aux5_name = choose
aux5_name = stringz
aux6_name = choose
aux6_name = stringz
aux7_name = choose
aux7_name = stringz


Ну и немного фотографий из фоторежима: https://images.gameru.net/gallery/album/11447/8116014 (на одной из них видно тело ГГ).

- - - - - -
Возможно стоит добавить в шапку.

Сообщение отредактировал Shoкer - 22.03.2019, 04:21


--------------------
Мне просто нравятся синие буквы под сообщением.
Перейти в начало страницы
 
Hellroon
сообщение 22.03.2019, 08:51
Сообщение #427


Ветеран
*****

Репутация:   2  
Группа: Участник
Сообщений: 80
Награды: 1
Регистрация: 23.05.2016




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Shoкer @ 22.03.2019, 04:16) *
- Пока что самое интересное, если в user.ltx прописать photo_mode_type 0, то у фоторежима в игре пропадёт ограничение на дальность и появится возможность летать сквозь все препятствия.

Всего режимов 4 (0 - 3)
0 и 1 - не понял чем отличаются.
2 - похож на 0, но камера возвращается к игроку если далеко улететь
3 - стандартный режим

user.ltx лежит в C:\Users\<пользователь>\Saved Games\metro exodus, игра его постоянно перезаписывает поэтому возможно имеет смысл поставить режим "Только чтение".


о, пасеба. меня этот вопрос как раз интересовал.

Сообщение отредактировал Hellroon - 22.03.2019, 08:51
Перейти в начало страницы
 
ximik163
сообщение 22.03.2019, 15:37
Сообщение #428


Новичок
*

Репутация:   0  
Группа: Участник
Сообщений: 3
Регистрация: 21.03.2019




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(SkyLoader @ 22.03.2019, 02:07) *
Цитата(ximik163 @ 21.03.2019, 19:46) *
.появился вопрос по поводу текстур с префиксом bump. в зелёном канале хранится глосс мапа, в синем-спекуляр

Я тоже думал, что так расположены карты в текстуре, но похоже, что не во всех материалах так сделано. С некоторыми моделями использование карт по данным каналам выглядит неестественно, сильно отражает.


проясняю одну особенность pbr(если ты не знаком). у канала спекуляр есть универсальное значение ~56. с такой силой отражают большинство материалов (диэлектрики 40-75), чуть выше драгоценные камни, а металлы начинаются со 180. так что если канал спекуляра в текстуре слишком яркий или тёмный, пробуй конвертировать или в линейное или srgb пространство или просто выставляй на глаз значение для диэлектриков. если проблема с roughness\glossiness, то пробуй просто инвертировать и, по необходимости, корректировать гамму (значения из линейного в srgb и наоборот: 0.45-2.2, 1-это, ясное дело, обычное значение). у allegorithmic есть довольно подробный гайд по pbr
П.С. не подскажешь путь до этой модели со скрина? сам посмотрю, что там с картами

Сообщение отредактировал ximik163 - 22.03.2019, 15:41
Перейти в начало страницы
 
Modera
сообщение 22.03.2019, 23:49
Сообщение #429


.
**********************

Репутация:   750  
Группа: Участник
Сообщений: 7072
Награды: 4
Регистрация: 30.07.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Вопрос к знатокам 3D графики. В некоторых моделях исхода вместо тангентов и бинормалей записаны значения 0x000000 и 0xFFFFFF. Как работает нормалмаппинг в таком случае? Тангенты и бинормали где-то во время загрузки считаются?
Перейти в начало страницы
 
Xottab_DUTY
сообщение 23.03.2019, 18:19
Сообщение #430


Продвинутый геймер
********

Репутация:   36  
Группа: Участник
Сообщений: 267
Награды: 3
Регистрация: 09.03.2013




Вставить ник Цитировать выделенное в форуму быстрого ответа


Shoкer, как ты консоль-то включил?


--------------------
OpenXRay – Ориентир на новое, с памятью о старом. © Collector
Перейти в начало страницы
 
autistic
сообщение 23.03.2019, 19:39
Сообщение #431


Геймер
******

Репутация:   86  
Группа: Участник
Сообщений: 128
Награды: 4
Регистрация: 05.05.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Modera @ 23.03.2019, 01:49) *
В некоторых моделях исхода вместо тангентов и бинормалей записаны значения 0x000000 и 0xFFFFFF. Как работает нормалмаппинг в таком случае? Тангенты и бинормали где-то во время загрузки считаются?

Вряд ли, игра должна оперировать уже рассчитанными заранее данными в редакторах. Скорее всего это 0,0,0 и 255,255,255, что сигнализирует о том, что тангенты и бинормали для данной модели отсутствуют. Но это не точно, надо смотреть.

Была мысль проанализировать код шейдерных программ, но пока времени нет на это (сегодня полный рабочий день отработал, завтра работать, а потом еще всю неделю).
Тут в соседней теме предлагали помощь, похукать DLL, всякое такое. Если энтузиазм не пропал, можно попробовать сдампить код шейдерных программ, не даром же в папке с игрой лежат D3DCompiler_46.dll, d3dcompiler_47.dll и dxcompiler.dll.
Что и как перекрывать - it's up to you. Я бы для начала посмотрел таблицу экспорта этих библиотек (и не забудем d3dx11.dll) при помощи утилиты dumpbin.exe из комплекта инструментов Visual Studio.
Полученный байткод можно потом попробовать декомпилировать, станет сразу ясно где и какие форматы вершин используются.

Сообщение отредактировал autistic - 23.03.2019, 19:42


--------------------
nop
Перейти в начало страницы
 
iOrange
сообщение 25.03.2019, 00:01
Сообщение #432
BFG9000 owner

Половина землекопа
**************

Репутация:   247  
Куратор темы
Сообщений: 1813
Регистрация: 30.03.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Modera @ 22.03.2019, 22:49) *
Вопрос к знатокам 3D графики. В некоторых моделях исхода вместо тангентов и бинормалей записаны значения 0x000000 и 0xFFFFFF. Как работает нормалмаппинг в таком случае? Тангенты и бинормали где-то во время загрузки считаются?

Ну вроде как мой профиль, так что отвечу.
Ни в одном из известныхм мне форматов вершин игры нет tangent и bitangent. Вместо них 2 поля общего назначения, которые зависят от материала. Если модель нуждается в TBN, то тогда 2-е поле используется как tangent + знак, из чего восстанавливается базис уже.

Цитата(autistic @ 23.03.2019, 18:39) *
Если энтузиазм не пропал, можно попробовать сдампить код шейдерных программ

Вы пропустили мой пост о шейдерах - я писал где они и код на Rust для разбивки шейдерного кэша на отдельные шейдеры.
https://www.gameru.net/forum/index.php?act=...amp;pid=1652610

Цитата(autistic @ 23.03.2019, 18:39) *
станет сразу ясно где и какие форматы вершин используются.

Для таких энтузиастов ничего не жалко wink.gif Но могу и просто дать описание форматов если что.
шейдер

Код
vs_5_0
dcl_global_flags refactoringAllowed
dcl_constant_buffer cb0[4].xyzw, immediateIndexed
dcl_constant_buffer cb3[10].xyzw, immediateIndexed
dcl_constant_buffer cb5[13].xyzw, dynamicIndexed
dcl_constant_buffer cb6[12].xyzw, dynamicIndexed
dcl_input v0.xyz
dcl_input v1.xyzw
dcl_input v2.w
dcl_input v3.x
dcl_input v4.xyzw
dcl_input v5.xyzw
dcl_input v6.xy
dcl_input v7.xyzw
dcl_input v8.xyzw
dcl_input v9.xyzw
dcl_input v10.xyw
dcl_input_sgv v11.x, instance_id
dcl_input v12.xyzw
dcl_input v13.xyzw
dcl_input v14.xyzw
dcl_input v15.xyzw
dcl_input v16.xyzw
dcl_input v17.xyzw
dcl_input v18.xyzw
dcl_input v19.xyzw
dcl_input v20.xyzw
dcl_input v21.xyzw
dcl_input v22.xyzw
dcl_input v23.x
dcl_output_siv o0.xyzw, position
dcl_output o1.xyzw
dcl_output o2.xyzw
dcl_output o3.xyzw
dcl_output o4.xyzw
dcl_output o5.x
dcl_output o6.xyzw
dcl_output o7.xyz
dcl_temps 15
imad r0.xyzw, v11.xxxx, cb5[0].xxxx, v4.zyxw
and r1.xy, v10.xyxx, l(65535, 65535, 0, 0)
ushr r1.zw, v10.xxxy, l(0, 0, 16, 16)
f16tof32 o7.xyz, r1.xzyx
f16tof32 r1.x, r1.w
mul r2.xyzw, v5.zzzz, cb5[r0.x+1].xyzw
iadd r1.yz, r0.xxxx, l(0, 1, 2, 0)
mul r3.xyzw, v5.zzzz, cb5[r1.y+1].xyzw
mul r4.xyzw, v5.zzzz, cb5[r1.z+1].xyzw
mul r5.xyzw, v5.zzzz, cb6[r0.x].xyzw
mul r6.xyzw, v5.zzzz, cb6[r1.y].xyzw
mul r7.xyzw, v5.zzzz, cb6[r1.z].xyzw
lt r0.x, l(0), v5.y
if r0.x
mad r2.xyzw, v5.yyyy, cb5[r0.y+1].xyzw, r2.xyzw
iadd r1.yz, r0.yyyy, l(0, 1, 2, 0)
mad r3.xyzw, v5.yyyy, cb5[r1.y+1].xyzw, r3.xyzw
mad r4.xyzw, v5.yyyy, cb5[r1.z+1].xyzw, r4.xyzw
mad r5.xyzw, v5.yyyy, cb6[r0.y].xyzw, r5.xyzw
mad r6.xyzw, v5.yyyy, cb6[r1.y].xyzw, r6.xyzw
mad r7.xyzw, v5.yyyy, cb6[r1.z].xyzw, r7.xyzw
lt r0.x, l(0), v5.x
if r0.x
mad r8.xyzw, v5.xxxx, cb5[r0.z+1].xyzw, r2.xyzw
iadd r9.xyzw, r0.zzww, l(1, 2, 1, 2)
mad r10.xyzw, v5.xxxx, cb5[r9.x+1].xyzw, r3.xyzw
mad r11.xyzw, v5.xxxx, cb5[r9.y+1].xyzw, r4.xyzw
mad r12.xyzw, v5.xxxx, cb6[r0.z].xyzw, r5.xyzw
mad r13.xyzw, v5.xxxx, cb6[r9.x].xyzw, r6.xyzw
mad r14.xyzw, v5.xxxx, cb6[r9.y].xyzw, r7.xyzw
mad r2.xyzw, v5.wwww, cb5[r0.w+1].xyzw, r8.xyzw
mad r3.xyzw, v5.wwww, cb5[r9.z+1].xyzw, r10.xyzw
mad r4.xyzw, v5.wwww, cb5[r9.w+1].xyzw, r11.xyzw
mad r5.xyzw, v5.wwww, cb6[r0.w].xyzw, r12.xyzw
mad r6.xyzw, v5.wwww, cb6[r9.z].xyzw, r13.xyzw
mad r7.xyzw, v5.wwww, cb6[r9.w].xyzw, r14.xyzw
endif
endif
utof r0.xyz, v0.xyzx
mul r1.yzw, r0.xxyz, l(0, 3.05185e-005, 3.05185e-005, 3.05185e-005)
ge r8.xyz, l(32767, 32767, 32767, 0), r0.xyzx
mad r0.xyz, r0.xyzx, l(3.05185e-005, 3.05185e-005, 3.05185e-005, 0), l(-2, -2, -2, 0)
movc r0.xyz, r8.xyzx, r1.yzwy, r0.xyzx
mul r0.xyz, r0.xyzx, v10.wwww
mov r0.w, l(1)
dp4 r8.x, r2.xyzw, r0.xyzw
dp4 r8.y, r3.xyzw, r0.xyzw
dp4 r8.z, r4.xyzw, r0.xyzw
dp4 o3.x, r5.xyzw, r0.xyzw
dp4 o3.y, r6.xyzw, r0.xyzw
dp4 o3.z, r7.xyzw, r0.xyzw
and r0.x, v3.x, l(255)
ubfe r0.yzw, l(0, 8, 8, 8), l(0, 16, 8, 16), v3.xxxx
utof r5.xyzw, r0.yzxw
mad r0.xyz, v1.zyxz, l(2, 2, 2, 0), l(-1, -1, -1, 0)
dp3 r2.x, r2.xyzx, r0.xyzx
dp3 r2.y, r3.xyzx, r0.xyzx
dp3 r2.z, r4.xyzx, r0.xyzx
itof r0.xy, v6.xyxx
mul r0.xy, r0.xyxx, cb0[3].zwzz
mul r1.yzw, r5.xxyz, l(0, 0.00392157, 0.00392157, 0.00392157)
mad o1.w, r5.w, l(0.00196078), l(0.5)
mul o2.w, r1.x, v1.w
iadd r3.xyzw, v15.zzyy, l(1, 2, 1, 2)
mov r0.z, v15.y
mul r4.xyzw, v19.yyyy, cb5[r0.z+1].xyzw
mov r0.z, v15.z
mad r4.xyzw, v19.zzzz, cb5[r0.z+1].xyzw, r4.xyzw
mul r5.xyzw, v19.yyyy, cb5[r3.z+1].xyzw
mad r5.xyzw, v19.zzzz, cb5[r3.x+1].xyzw, r5.xyzw
mul r6.xyzw, v19.yyyy, cb5[r3.w+1].xyzw
mad r3.xyzw, v19.zzzz, cb5[r3.y+1].xyzw, r6.xyzw
mov r0.z, v15.x
mad r4.xyzw, v19.xxxx, cb5[r0.z+1].xyzw, r4.xyzw
iadd r6.xyzw, v15.xxww, l(1, 2, 1, 2)
mad r5.xyzw, v19.xxxx, cb5[r6.x+1].xyzw, r5.xyzw
mad r3.xyzw, v19.xxxx, cb5[r6.y+1].xyzw, r3.xyzw
mov r0.z, v15.w
mad r4.xyzw, v19.wwww, cb5[r0.z+1].xyzw, r4.xyzw
mad r5.xyzw, v19.wwww, cb5[r6.z+1].xyzw, r5.xyzw
mad r3.xyzw, v19.wwww, cb5[r6.w+1].xyzw, r3.xyzw
mul r6.xyz, v10.wwww, v12.xyzx
mov r6.w, l(1)
dp4 r4.y, r4.xyzw, r6.xyzw
dp4 r4.z, r5.xyzw, r6.xyzw
dp4 r4.x, r3.xyzw, r6.xyzw
add r3.xyz, -r4.yzxy, r8.xyzx
dp3 r0.z, r3.xyzx, r3.xyzx
sqrt r0.z, r0.z
add r3.xyz, -r8.zxyz, r4.xyzx
dp3 r0.w, r3.xyzx, r3.xyzx
rsq r0.w, r0.w
mul r3.xyz, r0.wwww, r3.xyzx
mul r4.xyz, r2.xyzx, r3.xyzx
mad r4.xyz, r2.zxyz, r3.yzxy, -r4.xyzx
dp3 r0.w, r4.xyzx, r4.xyzx
rsq r0.w, r0.w
mul r4.xyz, r0.wwww, r4.xyzx
mul r5.xyz, r3.xyzx, r4.xyzx
mad r3.xyz, r3.zxyz, r4.yzxy, -r5.xyzx
dp3 r0.w, r3.xyzx, r3.xyzx
rsq r0.w, r0.w
iadd r4.xyzw, v16.zzyy, l(1, 2, 1, 2)
mov r1.x, v16.y
mul r5.xyzw, v20.yyyy, cb5[r1.x+1].xyzw
mov r1.x, v16.z
mad r5.xyzw, v20.zzzz, cb5[r1.x+1].xyzw, r5.xyzw
mul r6.xyzw, v20.yyyy, cb5[r4.z+1].xyzw
mad r6.xyzw, v20.zzzz, cb5[r4.x+1].xyzw, r6.xyzw
mul r7.xyzw, v20.yyyy, cb5[r4.w+1].xyzw
mad r4.xyzw, v20.zzzz, cb5[r4.y+1].xyzw, r7.xyzw
mov r1.x, v16.x
mad r5.xyzw, v20.xxxx, cb5[r1.x+1].xyzw, r5.xyzw
iadd r7.xyzw, v16.xxww, l(1, 2, 1, 2)
mad r6.xyzw, v20.xxxx, cb5[r7.x+1].xyzw, r6.xyzw
mad r4.xyzw, v20.xxxx, cb5[r7.y+1].xyzw, r4.xyzw
mov r1.x, v16.w
mad r5.xyzw, v20.wwww, cb5[r1.x+1].xyzw, r5.xyzw
mad r6.xyzw, v20.wwww, cb5[r7.z+1].xyzw, r6.xyzw
mad r4.xyzw, v20.wwww, cb5[r7.w+1].xyzw, r4.xyzw
mov r7.x, v12.w
mov r7.yz, v13.xxyx
mul r7.xyz, r7.xyzx, v10.wwww
mov r7.w, l(1)
dp4 r5.y, r5.xyzw, r7.xyzw
dp4 r5.z, r6.xyzw, r7.xyzw
dp4 r5.x, r4.xyzw, r7.xyzw
add r4.xyz, -r5.yzxy, r8.xyzx
dp3 r1.x, r4.xyzx, r4.xyzx
sqrt r1.x, r1.x
add r4.x, r0.z, r1.x
add r5.xyz, -r8.zxyz, r5.xyzx
dp3 r0.z, r5.xyzx, r5.xyzx
rsq r0.z, r0.z
mul r5.xyz, r0.zzzz, r5.xyzx
mul r6.xyz, r2.xyzx, r5.xyzx
mad r6.xyz, r2.zxyz, r5.yzxy, -r6.xyzx
dp3 r0.z, r6.xyzx, r6.xyzx
rsq r0.z, r0.z
mul r6.xyz, r0.zzzz, r6.xyzx
mul r7.xyz, r5.xyzx, r6.xyzx
mad r5.xyz, r5.zxyz, r6.yzxy, -r7.xyzx
dp3 r0.z, r5.xyzx, r5.xyzx
rsq r0.z, r0.z
mul r5.xyz, r0.zzzz, r5.xyzx
mad r3.xyz, r3.xyzx, r0.wwww, r5.xyzx
ne r0.z, l(0, 0, 0, 0), v21.z
if r0.z
iadd r5.xyzw, v17.zzyy, l(1, 2, 1, 2)
mov r0.z, v17.y
mul r6.xyzw, v21.yyyy, cb5[r0.z+1].xyzw
mov r0.z, v17.z
mad r6.xyzw, v21.zzzz, cb5[r0.z+1].xyzw, r6.xyzw
mul r7.xyzw, v21.yyyy, cb5[r5.z+1].xyzw
mad r7.xyzw, v21.zzzz, cb5[r5.x+1].xyzw, r7.xyzw
mul r9.xyzw, v21.yyyy, cb5[r5.w+1].xyzw
mad r5.xyzw, v21.zzzz, cb5[r5.y+1].xyzw, r9.xyzw
mov r0.z, v17.x
mad r6.xyzw, v21.xxxx, cb5[r0.z+1].xyzw, r6.xyzw
iadd r9.xyzw, v17.xxww, l(1, 2, 1, 2)
mad r7.xyzw, v21.xxxx, cb5[r9.x+1].xyzw, r7.xyzw
mad r5.xyzw, v21.xxxx, cb5[r9.y+1].xyzw, r5.xyzw
mov r0.z, v17.w
mad r6.xyzw, v21.wwww, cb5[r0.z+1].xyzw, r6.xyzw
mad r7.xyzw, v21.wwww, cb5[r9.z+1].xyzw, r7.xyzw
mad r5.xyzw, v21.wwww, cb5[r9.w+1].xyzw, r5.xyzw
mov r9.xy, v13.zwzz
mov r9.z, v14.x
mul r9.xyz, r9.xyzx, v10.wwww
mov r9.w, l(1)
dp4 r6.y, r6.xyzw, r9.xyzw
dp4 r6.z, r7.xyzw, r9.xyzw
dp4 r6.x, r5.xyzw, r9.xyzw
add r5.xyz, -r6.yzxy, r8.xyzx
dp3 r0.z, r5.xyzx, r5.xyzx
sqrt r0.z, r0.z
add r4.x, r0.z, r4.x
add r5.xyz, -r8.zxyz, r6.xyzx
dp3 r0.z, r5.xyzx, r5.xyzx
rsq r0.z, r0.z
mul r5.xyz, r0.zzzz, r5.xyzx
mul r6.xyz, r2.xyzx, r5.xyzx
mad r6.xyz, r2.zxyz, r5.yzxy, -r6.xyzx
dp3 r0.z, r6.xyzx, r6.xyzx
rsq r0.z, r0.z
mul r6.xyz, r0.zzzz, r6.xyzx
mul r7.xyz, r5.xyzx, r6.xyzx
mad r5.xyz, r5.zxyz, r6.yzxy, -r7.xyzx
dp3 r0.z, r5.xyzx, r5.xyzx
rsq r0.z, r0.z
mad r3.xyz, r5.xyzx, r0.zzzz, r3.xyzx
mov r4.y, l(3)
else
mov r4.y, l(2)
endif
ne r0.z, l(0, 0, 0, 0), v22.z
if r0.z
iadd r5.xyzw, v18.zzyy, l(1, 2, 1, 2)
mov r0.z, v18.y
mul r6.xyzw, v22.yyyy, cb5[r0.z+1].xyzw
mov r0.z, v18.z
mad r6.xyzw, v22.zzzz, cb5[r0.z+1].xyzw, r6.xyzw
mul r7.xyzw, v22.yyyy, cb5[r5.z+1].xyzw
mad r7.xyzw, v22.zzzz, cb5[r5.x+1].xyzw, r7.xyzw
mul r9.xyzw, v22.yyyy, cb5[r5.w+1].xyzw
mad r5.xyzw, v22.zzzz, cb5[r5.y+1].xyzw, r9.xyzw
mov r0.z, v18.x
mad r6.xyzw, v22.xxxx, cb5[r0.z+1].xyzw, r6.xyzw
iadd r9.xyzw, v18.xxww, l(1, 2, 1, 2)
mad r7.xyzw, v22.xxxx, cb5[r9.x+1].xyzw, r7.xyzw
mad r5.xyzw, v22.xxxx, cb5[r9.y+1].xyzw, r5.xyzw
mov r0.z, v18.w
mad r6.xyzw, v22.wwww, cb5[r0.z+1].xyzw, r6.xyzw
mad r7.xyzw, v22.wwww, cb5[r9.z+1].xyzw, r7.xyzw
mad r5.xyzw, v22.wwww, cb5[r9.w+1].xyzw, r5.xyzw
mul r9.xyz, v10.wwww, v14.yzwy
mov r9.w, l(1)
dp4 r6.y, r6.xyzw, r9.xyzw
dp4 r6.z, r7.xyzw, r9.xyzw
dp4 r6.x, r5.xyzw, r9.xyzw
add r5.xyz, -r6.yzxy, r8.xyzx
dp3 r0.z, r5.xyzx, r5.xyzx
sqrt r0.z, r0.z
add r4.x, r0.z, r4.x
add r4.y, r4.y, l(1)
add r5.xyz, -r8.zxyz, r6.xyzx
dp3 r0.z, r5.xyzx, r5.xyzx
rsq r0.z, r0.z
mul r5.xyz, r0.zzzz, r5.xyzx
mul r6.xyz, r2.xyzx, r5.xyzx
mad r2.xyz, r2.zxyz, r5.yzxy, -r6.xyzx
dp3 r0.z, r2.xyzx, r2.xyzx
rsq r0.z, r0.z
mul r2.xyz, r0.zzzz, r2.xyzx
mul r6.xyz, r2.xyzx, r5.xyzx
mad r2.xyz, r5.zxyz, r2.yzxy, -r6.xyzx
dp3 r0.z, r2.xyzx, r2.xyzx
rsq r0.z, r0.z
mad r3.xyz, r2.xyzx, r0.zzzz, r3.xyzx
endif
div r0.z, r4.x, r4.y
div o5.x, v23.x, r0.z
dp3 r0.z, r3.xyzx, r3.xyzx
rsq r0.z, r0.z
mul r2.xyz, r0.zzzz, r3.xyzx
mad o1.xy, r0.xyxx, l(0.000488281, 0.000488281, 0, 0), cb0[3].xyxx
mov r8.w, l(1)
dp4 r0.x, v7.xyzw, r8.xyzw
dp4 r0.y, v8.xyzw, r8.xyzw
dp4 r0.z, v9.xyzw, r8.xyzw
mov r3.x, v7.y
mov r3.y, v8.y
mov r3.z, v9.y
dp3 r1.x, r3.xyzx, r3.xyzx
sqrt o3.w, r1.x
mov r0.w, l(1)
dp4 o0.x, cb3[6].xyzw, r0.xyzw
dp4 o0.y, cb3[7].xyzw, r0.xyzw
dp4 o0.z, cb3[8].xyzw, r0.xyzw
dp4 o0.w, cb3[9].xyzw, r0.xyzw
dp3 r3.x, v7.xyzx, r2.xyzx
dp3 r3.y, v8.xyzx, r2.xyzx
dp3 r3.z, v9.xyzx, r2.xyzx
dp3 r0.w, r3.xyzx, r3.xyzx
rsq r0.w, r0.w
mul o4.xyz, r0.wwww, r3.xyzx
mov o1.z, l(0)
mov o2.xyz, r0.xyzx
mov o4.w, v2.w
mov o6.xyz, r1.yzwy
mov o6.w, l(1)
ret



Сообщение отредактировал iOrange - 25.03.2019, 00:10


--------------------
Hello worlds!
Перейти в начало страницы
 
Modera
сообщение 25.03.2019, 02:04
Сообщение #433


.
**********************

Репутация:   750  
Группа: Участник
Сообщений: 7072
Награды: 4
Регистрация: 30.07.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(iOrange @ 25.03.2019, 00:01) *
Ну вроде как мой профиль, так что отвечу.
Ни в одном из известныхм мне форматов вершин игры нет tangent и bitangent. Вместо них 2 поля общего назначения, которые зависят от материала. Если модель нуждается в TBN, то тогда 2-е поле используется как tangent + знак, из чего восстанавливается базис уже.

Да, всё так. Только непонятно как работают детальные текстуры-нормалмапы на моделях в которых нет тангентов.
Вот например модель ящика с песком, в ней имеются нормали и тангенты( зелёненькие и красненькие).

А вот модель бетонного забора, в ней тангентов нет. А детальная текстура есть.


Или детальные текстуры как-то по другому устроены? scratch_one-s_head.gif
Перейти в начало страницы
 
iOrange
сообщение 25.03.2019, 03:38
Сообщение #434
BFG9000 owner

Половина землекопа
**************

Репутация:   247  
Куратор темы
Сообщений: 1813
Регистрация: 30.03.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Modera @ 25.03.2019, 01:04) *
Или детальные текстуры как-то по другому устроены?

Ну детальным текстурам не особо нужен TBN, они всего лишь отклоняют существующую нормаль.
Т.е. - если у объекта есть TBN и нормалмапа, то они будут "отклонять" ее, если нет - то геометрическую нормаль.


ATTENTION

Чтобы понять необходимость следующего шага, было бы здорово чтобы те, кто хотел бы работать совместно над проектом MetroEX отписались сюда либо в личку.
Есть некая существующая кодобаза, и куча записей "на полях" о функционировании тех или иных частей движка.
Нужны программисты, которые будут не просто копипастить код, а готовы к плодотворному совместному сотрудничеству.
Желательные области знаний:
  • С++ 17 / C# 6 / Rust / Intel assembly AMD64
  • Компрессия данных
  • Графика
  • Анимация
  • Звук
  • Физика
  • Игровая логика


На данный момент есть один формучанин, который изъявил желание присоединиться к разработке MetroEX, так что надеюсь, что с его присоединением разработка пойдет бодрее.


--------------------
Hello worlds!
Перейти в начало страницы
 
Modera
сообщение 25.03.2019, 04:20
Сообщение #435


.
**********************

Репутация:   750  
Группа: Участник
Сообщений: 7072
Награды: 4
Регистрация: 30.07.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(iOrange @ 25.03.2019, 03:38) *
Цитата(Modera @ 25.03.2019, 01:04) *
Или детальные текстуры как-то по другому устроены?

Ну детальным текстурам не особо нужен TBN, они всего лишь отклоняют существующую нормаль.
Т.е. - если у объекта есть TBN и нормалмапа, то они будут "отклонять" ее, если нет - то геометрическую нормаль.

Вон оно как оказывается. Спасибо за разъяснение smile.gif
Перейти в начало страницы
 
iOrange
сообщение 25.03.2019, 06:58
Сообщение #436
BFG9000 owner

Половина землекопа
**************

Репутация:   247  
Куратор темы
Сообщений: 1813
Регистрация: 30.03.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Еще одно важное объявление:

В шапке этой темы появился опрос по следующей версии.
На данный момент практически готов функционал сборки игрового патч-архива, а так же конвертирования текстур в формат игры.
Поэтому опрос - о чем должна быть версия v0.3 - анимации или создание патчей.
Прошу всех проголосовать.

Спасибо


--------------------
Hello worlds!
Перейти в начало страницы
 
mark2580
сообщение 25.03.2019, 15:57
Сообщение #437


Новичок
*

Репутация:   0  
Группа: Участник
Сообщений: 3
Регистрация: 21.03.2019




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(iOrange @ 25.03.2019, 06:58) *
Еще одно важное объявление:

В шапке этой темы появился опрос по следующей версии.
На данный момент практически готов функционал сборки игрового патч-архива, а так же конвертирования текстур в формат игры.
Поэтому опрос - о чем должна быть версия v0.3 - анимации или создание патчей.
Прошу всех проголосовать.

Спасибо

А где вариант "нужен поиск !!!"


--------------------
Тот самый белый и пуфыстый.
Перейти в начало страницы
 
atanda
сообщение 25.03.2019, 16:33
Сообщение #438
Pro gamer

Почти Игроман
*********

Репутация:   72  
Группа: Участник
Сообщений: 622
Регистрация: 05.11.2017




Вставить ник Цитировать выделенное в форуму быстрого ответа


Не понимаю зачем откладывать то, что уже сделано?
Перейти в начало страницы
 
iOrange
сообщение 25.03.2019, 17:59
Сообщение #439
BFG9000 owner

Половина землекопа
**************

Репутация:   247  
Куратор темы
Сообщений: 1813
Регистрация: 30.03.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(buffy @ 25.03.2019, 15:33) *
Не понимаю зачем откладывать то, что уже сделано?

Тут другое непонятно - как минимум несколько человек в этой теме требовали исходники, но никто еще не изъявил желания присоединиться к разработке. unknw.gif


--------------------
Hello worlds!
Перейти в начало страницы
 
slik
сообщение 25.03.2019, 18:04
Сообщение #440


Почти Игрок
**

Репутация:   3  
Группа: Участник
Сообщений: 20
Награды: 1
Регистрация: 02.11.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(iOrange @ 25.03.2019, 16:59) *
Тут другое непонятно - как минимум несколько человек в этой теме требовали исходники, но никто еще не изъявил желания присоединиться к разработке.

Просто еще даже не вечер по восточно-европейскому времени smile.gif Я вполне непротив присоединится, даже очень за. Не под все пункты пожеланий подхожу, тем интереснее будет копнуть там где еще не копал.

Сообщение отредактировал slik - 25.03.2019, 18:07
Перейти в начало страницы
 
ColorCode
сообщение 26.03.2019, 13:36
Сообщение #441




Репутация:   0  
Группа: Припаркованный аккаунт
Сообщений: 2
Регистрация: 26.03.2019




Вставить ник Цитировать выделенное в форуму быстрого ответа


Здравствуйте! Пилится проект обложка для проигрывателя AIMP, большая просьба загрузить (распакованные в PNG) текстуры (включая аннимации) элементов UI и шрифты. И если не затруднит найти вот этот аппарат
буду крайне благодарен.

Сообщение отредактировал ColorCode - 26.03.2019, 13:43
Перейти в начало страницы
 

43 страниц V  « < 20 21 22 23 24 > » 
Тема закрытаНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 29.03.2024, 03:31