D3DX11_IMAGE_LOAD_INFO LoadInfo;
HR(D3DX11CreateShaderResourceViewFromMemory(in_pDevice, BmpImage, BmpImageSize &LoadInfo, nullptr, &m_pSRV, nullptr));
bmp 파일의 크기를 약 30 ~ 40 MB를 D3DX11CreateShaderResourceViewFromMemory()에서 불러오니
E_INVALIDARG 에러가 발생했다.
E_INVALIDARG 에러는 쉽게 말하면 잘못된 매개변수를 이용하여 함수를 호출했다는 뜻이다.
그래서 모든 매개변수의 값을 확인햇는데 문제가 없었다.
마지막으로 혹시나하고 LoadInfo의 값을 Default 값이 아닌 임의의 크기로 지정을 하니 해결되었다..
D3DX11_IMAGE_LOAD_INFO LoadInfo;
LoadInfo.Width = nTempWidth;
LoadInfo.Height = nTempHeight;
LoadInfo.Usage = D3D11_USAGE_DEFAULT;
LoadInfo.BindFlags = D3D11_BIND_SHADER_RESOURCE;
LoadInfo.CpuAccessFlags = 0;
HR(D3DX11CreateShaderResourceViewFromMemory(in_pDevice, BmpImage, BmpImageSize &LoadInfo, nullptr, &m_pSRV, nullptr));
이 bmp 파일의 Width는 38611, Height는 1080으로 FULL HD를 기준으로 약 모니터 20개의 크기의 텍스처를 불러오려니
죽은 것일 것이다...
'Visualization Programming > DirectX11' 카테고리의 다른 글
DirectX11 - DirectX11 함수에서 빠져나오지 않을 때... (0) | 2017.02.08 |
---|---|
DirectX11 - Windows 7이상 부터는 DXSDK_Jun10을 설치 하지 않아도 된다 (0) | 2016.11.29 |
DirectX11 - Device Lost (0) | 2016.10.24 |
DirectX11 - OMSetRenderTargets() 사용시 주의사항 (0) | 2016.10.06 |
DirectX11 - Deferred Context Memory Leak (0) | 2016.06.30 |