OpenGoW: Первые успехи (комментарии)
Это сообщение сгенерировано автоматически.
> Я не могу поверить что хватает 2х байтов на координату для такой более-менее графики.
Для пространства отдельно взятой модели вполне достаточно, оно при распаковке все равно автоматом в f32 переводится, а затем обратно в int10 перед отправкой в GS.
> Лишний вес набирается как от копирование игровых архивов по несколько раз, что скорее всего (но не подтвреждено) идет на ускорение работы с диском
Там вся проблема в 4 мегабайтах VRAM, из-за которых необходимо подгружать постоянно текстуры в видеопамять на место уже использованных чуть-ли не перед каждым мешем и непрерывный стриминг ассетов с двухскоростного привода необходим практически для каждой игры.
> как и почему в некоторых текстура прозрачность - это черный цвет, а в других - полная прозрачность - тоже.
п. 3.4.9 gs user's manual (Texture Function)
MogAika
Ты гдето на просторах Гитхаба нашел исходники God of War ?
ronniko нет, к сожалению. Разбираю машинные коды, благо дебаггер в pcsx2 очень помогает, я даже в него коммитил немного, прикольный опыт был.
nonamezerox не верю что ты существуешь, спасибо за наводки
> а затем обратно в int10 перед отправкой в GS.
в gs то отправляется в screen-space уже (или нет)
> Там вся проблема в 4 мегабайтах VRAM, из-за которых необходимо подгружать постоянно текстуры в видеопамять на место уже использованных чуть-ли не перед каждым мешем и непрерывный стриминг ассетов с двухскоростного привода необходим практически для каждой игры.
ну одно дело если архивы в игре один за другим идут как локации в игре, то да - ускорение будет в последовательном считывании с диска, а там копии архивов с локациями в рандомном порядке идут, непонятно откуда профит. как-будто просто очень хотели 2 слоя оправдать, может связано с усложненным пиратством двухслойных дисков.
Разбираю машинные коды, благо дебаггер в pcsx2 очень помогает
Ох ё !
Остаеться тебе только посочувствовать.
Я так понял анимацию ты еще не победил ? Я про костную анимацию персонажей.
MogAika
> в gs то отправляется в screen-space уже (или нет)
Практически, в GS'е еще можно задать сдвиг относительно верхнего левого угла фреймбуффера и потом рамку scissor-test, который заменяет этого самого фреймбуфера разрешение (у GS ВНЕЗАПНО БЕСКОНЕЧНАЯ ВЫСОТА ЭКРАНА при фиксированно задаваемой ширине
)
> ну одно дело если архивы в игре один за другим идут как локации в игре, то да -
> ускорение будет в последовательном считывании с диска, а там копии архивов с
> локациями в рандомном порядке идут, непонятно откуда профит. как-будто просто
> очень хотели 2 слоя оправдать, может связано с усложненным пиратством
> двухслойных дисков.
Ну вот представь себе, что движок God Of War в связи со сложностью грофона на такой платформе как PS2 в её последние годы работает примерно так же, как и, скажем какая-нибудь опенворлдная GTA, то бишь любой объект вплоть до отдельно взятого кувшина или сундука после того как камера отвернулась выгружается из памяти и нужно подгрузить его быстро когда камера вернется обратно или так же быстро подгрузить следующий квадратный метр уровня, и нужно чтобы головка по-возможности не двигала мотором и не занималась поиском нужной позиции на дорожке.
И да, еще в GS применяется для перспективно - корректного текстурирования подзабытые за давностью лет трехмерные текстурные координаты (STQ), где
S = u/W
T = v/W
Q = 1/W
http://lukasz.dk/mirror/hsfortuna/
Вот, для ознакомления
ronniko
> Я так понял анимацию ты еще не победил ? Я про костную анимацию персонажей.
Это самая мякотка же, разбирать VLIW-дизассемблерную лапшу.
MogAika
> ronniko нет, к сожалению. Разбираю машинные коды, благо дебаггер в pcsx2 очень
> помогает, я даже в него коммитил немного, прикольный опыт был.
А не встречал дизассемблер PSX (R3000) с поддержкой таблиц символов? Тут нашлось SDK 4-5 Tomb Raider'а, вместе с дебаг инфой 8)
Могу рассказать про WAD систему в Tomb Raider. Там весь уровень со всеми текстурами, анимациями, моделями, звуками (!), стейт-машинами и триггерами запечатан в 1 файл размером около 2.5 мб. Т.е. на каждый уровень часть данных дублируется.
upd: про текстурную палитру, обычно 0 индекс делают прозрачным или чёрным. В TR одна палитра на весь уровень (стены, модели, биллборды, предметы и т.д.)
XProger
> > ronniko нет, к сожалению. Разбираю машинные коды, благо дебаггер в pcsx2
> > очень
> > помогает, я даже в него коммитил немного, прикольный опыт был.
> А не встречал дизассемблер PSX (R3000) с поддержкой таблиц символов? Тут
> нашлось SDK 4-5 Tomb Raider'а, вместе с дебаг инфой 8)
nonamezerox
Лучше и не придумать, спасибо!
XProger
http://problemkaputt.de/psx-spx.htm
В помощь.
Тема в архиве.