D3D10_MAPPED_TEXTURE3D 结构 (d3d10.h)

提供对 3D 纹理中的子资源数据的访问。

语法

typedef struct D3D10_MAPPED_TEXTURE3D {
  void *pData;
  UINT RowPitch;
  UINT DepthPitch;
} D3D10_MAPPED_TEXTURE3D;

成员

pData

类型: void*

指向数据的指针。

RowPitch

类型: UINT

未压缩纹理的一行的间距、宽度或物理大小 () 字节。 由于块压缩纹理以 4x4 块编码,因此压缩纹理的 RowPitch 是 4x4 纹素块中的字节数。 有关块压缩的详细信息 ,请参阅虚拟大小与物理大小

DepthPitch

类型: UINT

单个深度的所有行中的间距或字节数。

注解

此结构用于在调用 ID3D10Texture3D::Map 时访问子资源数据。 若要访问数据,必须强制转换 pData 指针;有关示例 ,请参阅 D3D10_MAPPED_TEXTURE2D

若要说明未压缩纹理的间距,请假定具有 mipmap 级别的 3D 纹理,如下图所示。

具有 mipmap 级别的 3D 纹理的插图

最简单的做法是仅考虑顶级纹理,如下图所示。

仅顶级纹理的插图

然后将重绘的顶级纹理可视化为一系列 2D 纹理,每个纹理具有不同的深度值。 这会生成多个纹理平面,如下图所示。

绘制为 2D 纹理平面的顶级纹理的插图

但是,所有纹理平面中所有元素的实际布局看起来更类似于下图。

内存中行间距和深度间距的插图

使用行间距在单个 2D 纹理平面中的行之间推进指针;使用深度间距在 2D 纹理平面之间推进指针。

要求

要求
Header d3d10.h

另请参阅

资源结构