2012-12-28 5 views
1

나는 ID3D11ShaderResourceView * textureResView을 가지고 있는데 그 텍스쳐를 파일에 저장하려고합니다. 나는 처음부터 ID3D11Texture2D를 추출한다 생각, 그래서 코드를 만들었 :ID3D11ShaderResourceView를 사용하는 D3DX11SaveTextureToFile

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

을 Unfortunatelly, 그 E_FAIL를 반환합니다. 내가 뭘 잘못 했니?

답변

1

E_FAIL이 다시 돌아 왔기 때문에 D3DX11SaveTextureToFile (...) 함수에 잘못된 것이있었습니다. 당신은 윈도우 8 사용하는 경우 는

타 기능 (http://msdn.microsoft.com/en-us/library/windows/desktop/ff476298%28v=vs.85%29.aspx)을 사용하시기 바랍니다하지만 난 당신이 문자열의 L 뿅을 넣어야 만이 이물,

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

LPCSTR 문자열 형식으로 다른 형식이다 시도 succest.

희망 하시다.