Поделиться через


Поддержка текстур в D3DX (Direct3D 9)

D3DX — это служебная библиотека, которая предоставляет вспомогательные службы. Это слой над компонентом Direct3D.

Текстуры

Многие различные текстуры поддерживаются в следующих разделах.

Преобразование цвета текстуры

При использовании любого из D3DXLoadSurfacexxx, D3DXLoadVolumexxx, D3DXCreateTexturex, D3DXCreateCubeTexturex или функций D3DXCreateVolumeTexturexx может потребоваться выполнить преобразование цветов. Например, одна поверхность может быть тип RGBA, а другая — UVWQ. Для случаев разных форматов последовательность преобразования выглядит следующим образом:

Сопоставление RGBA с UVWQ

  • R <—> U, канал R сопоставляется с каналом U или наоборот.
  • G <—> V, канал G сопоставляется с каналом V или наоборот.
  • B <—> W, канал B сопоставляется с каналом W или наоборот.
  • Канал <—> Q/L, канал сопоставляется с каналом Q или L (в зависимости от того, какой из них доступен в целевом формате) или наоборот.
R->U
G->V
B->W
A->Q or A->L

Сопоставление UV с RGBA

  • U <—> R, канал U сопоставляется с каналом R или наоборот.
  • V <—> G, канал V сопоставляется с каналом G или наоборот.
  • 1 <-> B, 1 сопоставляется с каналом B или наоборот.
  • 1 <-> A, 1 сопоставляется с каналом A или наоборот.

Если канал не существует в источнике, предполагается, что он равен 1 (за исключением A8, где предполагается, что R,G,B считается 0). Например:

U -> R
V -> G
1 -> B
1 -> A

D3DX