D3DX (Direct3D 9) 中的纹理支持

D3DX 是一个实用工具库,用于提供帮助程序服务。 它是 Direct3D 组件上方的一个层。

纹理

以下主题支持许多不同的纹理。

纹理颜色转换

使用任何 D3DXLoadSurfacexxx、D3DXLoadVolumexxx、D3DXCreateTexturexxx、D3DXCreateCubeTexturexxx 或 D3DXCreateVolumeTexturexxx 函数时,可能需要执行颜色转换。 例如,一个图面可能是 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 通道映射到 G 通道,反之亦然。
  • 1 <-> B、1 映射到 B 通道,反之亦然。
  • 1 <-> A、1 映射到 A 通道,反之亦然。

如果源中不存在通道,则假定其为 1 (,A8 除外,其中 R、G、B 假定为 0) 。 例如:

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

D3DX