ОС Ubuntu; Кодовые блоки IDE
я написал свой собственный класс менеджера текстур с функцией load
bool TextureManager::load(std::string fileName, std::string id, SDL_Renderer* pRenderer)
{
SDL_Surface* pTempSurface = IMG_Load(fileName.c_str());
if(pTempSurface == NULL) {
printf("IMAGE LOAD ERROR: %s \n", IMG_GetError());
return false;
}
SDL_Texture* pTexture = SDL_CreateTextureFromSurface(pRenderer, pTempSurface);
SDL_FreeSurface(pTempSurface);
// everything went ok, add the texture to our list
if(pTexture != 0) {
m_textureMap[id] = pTexture;
return true;
}
// reaching here means something went wrong
return false;
}
И он пишет: «Ошибка загрузки изображения: неподдерживаемый формат изображения»
Но я включил все требования SDL_image:
#include <png.h>
#include <zlib.h>
и без этого текстурировщик IMG_load () работал нормально.
Что это такое? и как я могу его починить?
Вам не нужно включать эти заголовки, только SDL_image
Вы инициализировали это? например
/*! initialize PNG support */
IMG_Init(IMG_INIT_PNG);