您能否帮我找到等效的DX12 API /示例代码,通过该代码我可以加载位图并创建纹理?
DX11为D3DX11CreateShaderResourceViewFromFile
,DX9为D3DXCreateTextureFromFileEx
答案 0 :(得分:0)
您可以使用DirectXTK以及许多其他功能中的以下功能。
// Standard version
HRESULT __cdecl LoadWICTextureFromMemory(
_In_ ID3D12Device* d3dDevice,
_In_reads_bytes_(wicDataSize) const uint8_t* wicData,
size_t wicDataSize,
_Outptr_ ID3D12Resource** texture,
std::unique_ptr<uint8_t[]>& decodedData,
D3D12_SUBRESOURCE_DATA& subresource,
size_t maxsize = 0);
HRESULT __cdecl LoadWICTextureFromFile(
_In_ ID3D12Device* d3dDevice,
_In_z_ const wchar_t* szFileName,
_Outptr_ ID3D12Resource** texture,
std::unique_ptr<uint8_t[]>& decodedData,
D3D12_SUBRESOURCE_DATA& subresource,
size_t maxsize = 0);
或者,您可以使用Windows Imaging Component编写自己的实现,尤其是在您希望获得更多控制权的情况下。