Udostępnij za pośrednictwem


Obsługa tekstur w D3DX (Direct3D 9)

D3DX to biblioteka narzędzi, która zapewnia usługi pomocnicze. Jest to warstwa powyżej składnika Direct3D.

Tekstury

Wiele różnych tekstur jest obsługiwanych w następujących tematach.

Konwersja koloru tekstury

W przypadku używania dowolnego z D3DXLoadSurfacexxx, D3DXLoadVolumexxx, D3DXCreateTexturexxx, D3DXCreateCubeTexturexxx lub D3DXCreateVolumeTexturexxx, konwersja kolorów może być konieczna. Na przykład jedna powierzchnia może być typu RGBA, a druga może być UVWQ. W przypadku różnych formatów sekwencja konwersji jest następująca:

Mapowanie RGBA na UVWQ

  • R <—> U, kanał języka R jest mapowany na kanał U lub na odwrót.
  • G <—> V, kanał G jest mapowany na kanał V lub na odwrót.
  • B <—> W, kanał B jest mapowany na kanał W lub odwrotnie.
  • <—> Q/L, kanał A jest mapowany na kanał Q lub L (w zależności od tego, który z nich jest dostępny w formacie docelowym) lub odwrotnie.
R->U
G->V
B->W
A->Q or A->L

Mapowanie uv na RGBA

  • U <—> R, kanał U jest mapowany na kanał języka R lub na odwrót.
  • V <—> G, kanał V jest mapowany na kanał G lub na odwrót.
  • 1 <—> B, 1 jest mapowany na kanał B lub na odwrót.
  • 1 <—> A, 1 jest mapowany na kanał A lub na odwrót.

Jeśli kanał nie istnieje w źródle, przyjmuje się, że ma wartość 1 (z wyjątkiem A8, gdzie przyjmuje się, że R,G,B ma wartość 0). Na przykład:

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

D3DX