D3DX11SaveTextureToFile с ID3D11ShaderResourceView

у меня есть ID3D11ShaderResourceView * textureResViewи я хочу сохранить эту текстуру в файл. Я думаю, что я должен сначала извлечь ID3D11Texture2D Исходя из этого, я сделал код:

ID3D11Resource * res;
ID3D11Texture2D * tex;
textureResView->GetResource(&res);
res->QueryInterface(&tex);
HRESULT result = D3DX11SaveTextureToFile(
g_pImmediateContext, tex, D3DX11_IFF_PNG, "name.png");

К сожалению, это возвращается E_FAIL, Что я делаю не так?

1

Решение

Поскольку E_FAIL вернулся, в функции D3DX11SaveTextureToFile (…) что-то не так.
Если вы используете Windows 8, пожалуйста, используйте другую функцию (http://msdn.microsoft.com/en-us/library/windows/desktop/ff476298%28v=vs.85%29.aspx)

Но я пытаюсь

HRESULT result = D3DX11SaveTextureToFile(g_pImmediateContext, tex, D3DX11_IFF_PNG, L"name.png");

LPCSTR — это формат, отличный от формата строки, поэтому перед строкой необходимо указать букву L.

Надеюсь, что это работает

1

Другие решения

Других решений пока нет …