Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом разделе содержатся сведения о внутренней организации сжатых форматов текстур. Эти сведения не требуются для использования сжатых текстур, так как можно использовать функции D3DX для преобразования в сжатые форматы и из них. Однако эта информация полезна, если вы хотите работать непосредственно с сжатыми данными поверхности.
Direct3D использует формат сжатия, который делит карты текстур на блоки текселя 4x4. Если текстура не содержит прозрачности - непрозрачна или если прозрачность указана 1-разрядной альфа-буквой, 8-байтовый блок представляет блок карты текстуры. Если карта текстур содержит прозрачные тексели, используя альфа-канал, то 16-байтовый блок представляет его.
Любая одна текстура должна указывать, что данные хранятся как 64 или 128 бит на группу из 16 текселей. Если 64-разрядные блоки ( то есть формат DXT1) используются для текстуры, можно смешивать непрозрачные и 1-разрядные альфа-форматы на основе каждого блока в одной текстуре. Другими словами, сравнение целого числа без знака color_0 и color_1 выполняется уникально для каждого блока 16 текселей.
Если используются 128-разрядные блоки, альфа-канал должен быть указан явным (формат DXT2 или DXT3) или интерполированный режим (формат DXT4 или DXT5) для всей текстуры. Как и в случае с цветом, при выборе интерполированного режима можно использовать восемь интерполированных альфа-символов или шесть интерполированных альфа-режим на основе блока. Опять же сравнение величины alpha_0 и alpha_1 выполняется уникально на основе блока.
Шаг для форматов DXTn отличается от того, что было возвращено в DirectX 7.0. Шаг теперь измеряется в байтах (а не в блоках). Например, если у вас есть ширина 16, у вас будет шаг из четырех блоков (4*8 для DXT1, 4*16 для DXT2-5).
Связанные разделы