D3DX11_IMAGE_LOAD_INFO 结构
注意
D3DX (D3DX 9、D3DX 10 和 D3DX 11) 实用工具库已弃用Windows 8,并且不支持 Windows 应用商店应用。
(可选)向纹理加载程序 API 提供信息,以控制纹理的加载方式。 对于任何这些参数,如果值为 D3DX11_DEFAULT,则会导致 D3DX 自动使用源文件中的值。
语法
typedef struct D3DX11_IMAGE_LOAD_INFO {
UINT Width;
UINT Height;
UINT Depth;
UINT FirstMipLevel;
UINT MipLevels;
D3D11_USAGE Usage;
UINT BindFlags;
UINT CpuAccessFlags;
UINT MiscFlags;
DXGI_FORMAT Format;
UINT Filter;
UINT MipFilter;
D3DX11_IMAGE_INFO *pSrcInfo;
} D3DX11_IMAGE_LOAD_INFO, *LPD3DX11_IMAGE_LOAD_INFO;
成员
-
Width
-
类型: UINT
-
纹理的目标宽度。 如果纹理的实际宽度大于或小于此值,则会纵向或缩小纹理以适应此目标宽度。
-
Height
-
类型: UINT
-
纹理的目标高度。 如果纹理的实际高度大于或小于此值,则将纵向或缩小纹理以适应此目标高度。
-
Depth
-
类型: UINT
-
纹理的深度。 这仅适用于卷纹理。
-
FirstMipLevel
-
类型: UINT
-
纹理的最高分辨率 mipmap 级别。 如果此值大于 0,则在加载纹理后,FirstMipLevel 将映射到 mipmap 级别 0。
-
MipLevels
-
类型: UINT
-
纹理中的最大 mipmap 级别数。 请参阅 D3D11_TEX1D_SRV中的备注。 使用 0 或 D3DX11_DEFAULT将导致创建完整的 mipmap 链。
-
使用情况
-
类型: D3D11_USAGE
-
纹理资源的使用方式。 请参阅 D3D11_USAGE。
-
BindFlags
-
类型: UINT
-
将允许纹理绑定到的管道阶段。 请参阅 D3D11_BIND_FLAG。
-
CpuAccessFlags
-
类型: UINT
-
CPU 对纹理资源的访问权限。 请参阅 D3D11_CPU_ACCESS_FLAG。
-
杂项Flags
-
类型: UINT
-
其他资源属性 (请参阅 D3D11_RESOURCE_MISC_FLAG) 。
-
格式
-
类型: DXGI_FORMAT
-
一个DXGI_FORMAT枚举,指示加载纹理后将采用的格式。
-
Filter
-
类型: UINT
-
仅当重新采样) 时,才使用指定的筛选器 (筛选纹理。 请参阅 D3DX11_FILTER_FLAG。
-
MipFilter
-
类型: UINT
-
仅当) 生成 mipmap 时,才使用指定的筛选器 (筛选纹理 mip 级别。 有效值为D3DX11_FILTER_NONE、D3DX11_FILTER_POINT、D3DX11_FILTER_LINEAR或D3DX11_FILTER_TRIANGLE。 请参阅 D3DX11_FILTER_FLAG。
-
pSrcInfo
-
类型: D3DX11_IMAGE_INFO*
-
有关原始图像的信息。 请参阅 D3DX11_IMAGE_INFO。 可以使用 D3DX11GetImageInfoFromFile、 D3DX11GetImageInfoFromMemory 或 D3DX11GetImageInfoFromResource 获取。
备注
初始化结构时,可以将任何成员设置为 D3DX11_DEFAULT并且 D3DX 会在加载纹理时使用源纹理中的默认值对其进行初始化。
此结构可由以下 API 使用:
- 创建资源,例如 D3DX11CreateTextureFromFile 和 D3DX11CreateShaderResourceViewFromFile。
- 创建数据处理者,例如 D3DX11CreateAsyncTextureInfoProcessor 或 D3DX11CreateAsyncShaderResourceViewProcessor。
默认值为:
Width = D3DX11_DEFAULT;
Height = D3DX11_DEFAULT;
Depth = D3DX11_DEFAULT;
FirstMipLevel = D3DX11_DEFAULT;
MipLevels = D3DX11_DEFAULT;
Usage = (D3D11_USAGE) D3DX11_DEFAULT;
BindFlags = D3DX11_DEFAULT;
CpuAccessFlags = D3DX11_DEFAULT;
MiscFlags = D3DX11_DEFAULT;
Format = DXGI_FORMAT_FROM_FILE;
Filter = D3DX11_DEFAULT;
MipFilter = D3DX11_DEFAULT;
pSrcInfo = NULL;
下面是一个简短的示例,它使用此结构在加载纹理时提供像素格式。 有关完整代码,请参阅 HDRToneMappingCS11 中的 HDRFormats10.cpp 示例。
ID3D11ShaderResourceView* pCubeRV = NULL;
WCHAR strPath[MAX_PATH];
D3DX11_IMAGE_LOAD_INFO LoadInfo;
DXUTFindDXSDKMediaFileCch( strPath, MAX_PATH,
L"Light Probes\\uffizi_cross.dds" );
LoadInfo.Format = DXGI_FORMAT_R16G16B16A16_FLOAT;
hr = D3DX11CreateShaderResourceViewFromFile( pd3dDevice, strPath,
&LoadInfo, NULL, &pCubeRV, NULL );
要求
要求 | 值 |
---|---|
标头 |
|