Несколько рекомендаций, которые могут помочь исправить ошибку Direct3D11Texture::load from memory:
- Скачать последние версии драйверов на видеокарту с сайта производителя и выполнить их чистую установку. 1
- Изменить схему адресации. 3 Правильная формула: index = component + x * components + y * pitch, где pitch — размер шага плотной упаковки (ширина * количество компонентов). 3
- Использовать OpenFile и ReadFile для загрузки содержимого файла в память, а затем передать это значение в D3DX11CreateShaderResourceViewFromMemory. 4
- Проверить параметры инициализации текстуры. 4 Для двумерной текстуры нужно установить pSysMem на указатель на данные изображения, полученный от stbi_load, а SysMemPitch — размер пикселя, умноженный на ширину текстуры. 4 Например, если загружаются 8-битные данные RGBA, где на пиксель приходится 4 байта, то SysMemPitch нужно установить в значение object.width * 4. 4
Если проблема сохраняется, рекомендуется обратиться в поддержку игры.