D3DX11_IMAGE_LOAD_INFO
オプションで、テクスチャーのロード方法を制御するためにテクスチャー ローダー 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
テクスチャーの目的の幅です。テクスチャーの実際の幅がこの値より大きいか小さい場合、テクスチャーはこの目的の幅に合わせて拡大または縮小されます。 - Height
テクスチャーの目的の高さです。テクスチャーの実際の高さがこの値より大きいか小さい場合、テクスチャーはこの目的の高さに合わせて拡大または縮小されます。 - Depth
テクスチャーの深度です。これは、ボリューム テクスチャーにのみ適用されます。 - FirstMipLevel
テクスチャーの最高解像度のミップマップ レベルです。これが 0 より大きい場合、テクスチャーのロード後に、FirstMipLevel はミップマップ レベル 0 にマッピングされます。 - MipLevels
テクスチャー内のミップマップ レベルの最大数です。「D3D11_TEX1D_SRV」の「解説」を参照してください。0 または D3DX11_DEFAULT を使用すると、すべてのミップマップ チェーンが作成されます。 - Usage
テクスチャー リソースの用途です。「D3D11_USAGE」を参照してください。 - BindFlags
テクスチャーをバインドできるようにするパイプライン ステージです。「D3D11_BIND_FLAG」を参照してください。 - CpuAccessFlags
CPU がテクスチャー リソースに対して持つアクセス許可です。「D3D11_CPU_ACCESS_FLAG」を参照してください。 - MiscFlags
その他のリソースのプロパティです (「D3D11_RESOURCE_MISC_FLAG」を参照してください)。 - Format
テクスチャーの読み込み後のフォーマットを示す DXGI_FORMAT 列挙型です。 - Filter
指定されたフィルターを使用してテクスチャーをフィルタリングします (再サンプリング時のみ)。「D3DX11_FILTER_FLAG」を参照してください。 - MipFilter
指定されたフィルターを使用してテクスチャー ミップ レベルをフィルタリングします (ミップマップを生成する場合のみ)。有効な値は、D3DX11_FILTER_NONE、D3DX11_FILTER_POINT、D3DX11_FILTER_LINEAR、または D3DX11_FILTER_TRIANGLE です。「D3DX11_FILTER_FLAG」を参照してください。 - pSrcInfo
オリジナル イメージに関する情報です。「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 を参照してください。
ID3D10ShaderResourceView* pCubeRV = NULL; WCHAR strPath[MAX_PATH]; D3DX10_IMAGE_LOAD_INFO LoadInfo; DXUTFindDXSDKMediaFileCch( strPath, MAX_PATH, L"Light Probes¥¥uffizi_cross.dds" ); LoadInfo.Format = DXGI_FORMAT_R16G16B16A16_FLOAT; hr = D3DX10CreateShaderResourceViewFromFile( pd3dDevice, strPath, &LoadInfo, NULL, &pCubeRV, NULL );
要件
ヘッダー: D3DX11tex.h 宣言
ライブラリ: D3DX11.lib 内容