728x90

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개의 크기의 텍스처를 불러오려니 

죽은 것일 것이다...

728x90

+ Recent posts