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
nl ja de

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 infront строки.

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

1
добавлено
pro.cxx
pro.cxx
3 049 участник(ов)

C/C++ chat 0. Простые вопросы, лабы и о IDE — в чат новичков @supapro 1. Не хамим, не переходим на личности, не вбрасываем утверждения без доказательств 2. No Ads, offtop, flood Объявления о вакансиях и евенты - в лс @AlexFails https://t.me/ProCxx/259155

supapro.cxx
supapro.cxx
1 925 участник(ов)

Чат для тех, кто немного знает C++, простые вопросы по реализации, синтаксису и ide – сюда, а для другого есть: /Главный чат по серьезным вопросам — @ProCxx /Чат по обсуждению всего — @fludpac

C++ Russia
C++ Russia
384 участник(ов)

Сообщество разработчиков C++ в Telegram.

cxx.Дискуссионная
cxx.Дискуссионная
298 участник(ов)

это не двач, общайтесь вежливо; разговор на почти любые темы; Не согласны с баном? В лс @AlexFails, @ivario

C++ для маленьких и тупых
C++ для маленьких и тупых
105 участник(ов)

Лоу левел (по среднему IQ участников) чатик ExtremeCode @extremecode Флудилка @extremecode_rest