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


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

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

Текстуры

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

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

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

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

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

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

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

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

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

D3DX