2009-09-10 1 views
0

В Xbox 360 я выяснил, что мне нужно использовать D3DFMT_LIN_ [xxxxxxx] вместо D3DFMT_ [xxxxxxx], поскольку текстуры не будут работать с D3DFMT_LIN на 360. Часть LIN означает Linear, описание между D3DFMT_LIN и D3DFMT_ для текстур - это то, что один формат является линейным, а нет.Нужно использовать D3DFMT_LIN_A8R8G8B8 вместо D3DFMT_A8R8G8B8, чтобы текстуры отображались правильно на Xbox 360, пока это не определено на ПК.

Почему это?

ответ

2

Ну, на 360-м у вас есть лучший доступ к подстилающему оборудованию. Как таковые определенные вещи, которые выполняются за спиной на ПК, вы должны быть более явными в отношении 360. Для лучшей скорости большинство текстур будут «swizzled», чтобы обеспечить быстрый доступ к графическому оборудованию. Выбирая формат _LIN, вы говорите, что на самом деле ваши данные текстуры не подвергнуты swizzled. Затем аппаратное обеспечение будет использовать более медленный путь резервного копирования для обработки текстур. На 360 вам лучше использовать функции, предоставляемые для swizzle вашей текстуры и на ПК, только используя значение по умолчанию. Сжатые форматы, которые должны быть предпочтительнее несжатого, всегда правильно распознаются алгоритмом сжатия и декомпрессии DXTC.

Этот вопрос действительно не следует здесь задавать.

Смежные вопросы