I am creating an application in which I am storing textures in a texture vector and creating a slideshow of those images. When it runs for first time it runs fine but when I recall the function to fill the vector with new images it gives me exception “Could not create WIC Decoder from filename” while loading images to form image texture.
for (int i = 0; i < limit; i++)
{
gl::TextureRef mImg = gl::Texture::create(loadImage(loadAsset(imgPath)));
mImages.push_back(mImg);
}
Just a wild guess, but I’ve run into some issues like this when the first time i’ve tried to use the image loading system has been from a secondary thread. I’ve had to load a dummy image on the main thread first, and then kick off my threaded loader after that.
I think the best thing to do in these cases is to try to make a minimal app (like from tinderbox) and try to reproduce the issue in that. Many times you’ll stumble on the issue that way, or you’ll find out there is a real problem and you can post that code so others can reproduce / diagnose.