OpenGoWФорум

OpenGoW: Первые успехи (комментарии)

#0
11:59, 24 окт 2016

OpenGoW: Первые успехи (комментарии)

Это сообщение сгенерировано автоматически.

#1
11:59, 24 окт 2016

> Я не могу поверить что хватает 2х байтов на координату для такой более-менее графики.

Для пространства отдельно взятой модели вполне достаточно, оно при распаковке все равно автоматом в f32 переводится, а затем обратно в int10 перед отправкой в GS.

> Лишний вес набирается как от копирование игровых архивов по несколько раз, что скорее всего (но не подтвреждено) идет на ускорение работы с диском

Там вся проблема в 4 мегабайтах VRAM, из-за которых необходимо подгружать постоянно текстуры в видеопамять на место уже использованных  чуть-ли не перед каждым мешем и непрерывный стриминг ассетов  с двухскоростного привода необходим практически для каждой игры.

> как и почему в некоторых текстура прозрачность - это черный цвет, а в других - полная прозрачность - тоже.

п. 3.4.9 gs user's manual (Texture Function)

#2
14:46, 24 окт 2016

MogAika
Ты гдето на просторах Гитхаба нашел исходники God of War ?

#3
15:20, 24 окт 2016

ronniko нет, к сожалению. Разбираю машинные коды, благо дебаггер в pcsx2 очень помогает, я даже в него коммитил немного, прикольный опыт был.

nonamezerox не верю что ты существуешь, спасибо за наводки
> а затем обратно в int10 перед отправкой в GS.
в gs то отправляется в screen-space уже (или нет)

> Там вся проблема в 4 мегабайтах VRAM, из-за которых необходимо подгружать постоянно текстуры в видеопамять на место уже использованных чуть-ли не перед каждым мешем и непрерывный стриминг ассетов с двухскоростного привода необходим практически для каждой игры.
ну одно дело если архивы в игре один за другим идут как локации в игре, то да - ускорение будет в последовательном считывании с диска, а там копии архивов с локациями в рандомном порядке идут, непонятно откуда профит. как-будто просто очень хотели 2 слоя оправдать, может связано с усложненным пиратством двухслойных дисков.

#4
18:14, 24 окт 2016

Разбираю машинные коды, благо дебаггер в pcsx2 очень помогает

Ох ё !
Остаеться тебе только посочувствовать.

Я так понял анимацию ты еще не победил ? Я про костную анимацию персонажей.

#5
0:19, 25 окт 2016

MogAika


> в gs то отправляется в screen-space уже (или нет)

Практически, в GS'е еще можно задать сдвиг относительно верхнего левого угла фреймбуффера и потом рамку scissor-test, который заменяет этого самого фреймбуфера разрешение (у GS ВНЕЗАПНО БЕСКОНЕЧНАЯ ВЫСОТА ЭКРАНА при фиксированно задаваемой ширине
)

> ну одно дело если архивы в игре один за другим идут как локации в игре, то да -
> ускорение будет в последовательном считывании с диска, а там копии архивов с
> локациями в рандомном порядке идут, непонятно откуда профит. как-будто просто
> очень хотели 2 слоя оправдать, может связано с усложненным пиратством
> двухслойных дисков.

Ну вот представь себе, что движок God Of War  в связи со сложностью грофона на такой платформе как PS2 в её последние годы работает примерно так же, как и, скажем какая-нибудь опенворлдная GTA, то бишь любой объект вплоть до отдельно взятого кувшина или сундука после того как камера отвернулась выгружается из памяти и нужно подгрузить его быстро когда камера вернется обратно или так же быстро подгрузить следующий квадратный метр уровня, и нужно  чтобы головка по-возможности не двигала мотором и не занималась поиском нужной позиции на дорожке.

#6
0:25, 25 окт 2016

И да, еще в GS применяется для перспективно -  корректного текстурирования подзабытые за давностью лет трехмерные текстурные координаты (STQ), где

S = u/W
T = v/W
Q = 1/W

http://lukasz.dk/mirror/hsfortuna/

Вот, для ознакомления

#7
0:43, 25 окт 2016

ronniko
> Я так понял анимацию ты еще не победил ? Я про костную анимацию персонажей.

Это самая мякотка же, разбирать VLIW-дизассемблерную лапшу.

#8
13:33, 25 окт 2016

MogAika
> ronniko нет, к сожалению. Разбираю машинные коды, благо дебаггер в pcsx2 очень
> помогает, я даже в него коммитил немного, прикольный опыт был.
А не встречал дизассемблер PSX (R3000) с поддержкой таблиц символов? Тут нашлось SDK 4-5 Tomb Raider'а, вместе с дебаг инфой 8)

Могу рассказать про WAD систему в Tomb Raider. Там весь уровень со всеми текстурами, анимациями, моделями, звуками (!), стейт-машинами и триггерами запечатан в 1 файл размером около 2.5 мб. Т.е. на каждый уровень часть данных дублируется.

upd: про текстурную палитру, обычно 0 индекс делают прозрачным или чёрным. В TR одна палитра на весь уровень (стены, модели, биллборды, предметы и т.д.)

#9
17:32, 25 окт 2016

XProger
> > ronniko нет, к сожалению. Разбираю машинные коды, благо дебаггер в pcsx2
> > очень
> > помогает, я даже в него коммитил немного, прикольный опыт был.
> А не встречал дизассемблер PSX (R3000) с поддержкой таблиц символов? Тут
> нашлось SDK 4-5 Tomb Raider'а, вместе с дебаг инфой 8)

http://www.emu-land.net/forum/index.php?topic=74845.0

#10
17:34, 25 окт 2016

nonamezerox
Лучше и не придумать, спасибо!

#11
17:42, 25 окт 2016

XProger
http://problemkaputt.de/psx-spx.htm

В помощь.

OpenGoWФорум

Тема в архиве.