Я загрузил модель на свой экран, но не могу прочитать текстуру. Всякий раз, когда я пытаюсь загрузить текстуру модели, она возвращает NULL. Модель и текстура находятся в одном каталоге, я не могу понять, почему у программы проблемы. Пока программа работает, я получаю сообщение об ошибке IMG_GetError()
является:
Не удалось открыть (местоположение) /image.jpg
Вот как это загружается:
bool CTexture::load()
{
surface = IMG_Load(_fileName.c_str());
glEnable(GL_TEXTURE_2D);
glGenTextures(1, &_textureObj);
if (surface == NULL)
{
std::cout
<< "---------------\n"<< IMG_GetError()
<< "\n---------------\n"<< std::endl;
return 0;
}
_width = surface->w;
_height = surface->h;
_bpp = surface->pitch;
if (surface->format->BytesPerPixel == 3)
_mode = GL_RGB;
else if (surface->format->BitsPerPixel == 4)
_mode = GL_RGBA;
else
{
SDL_FreeSurface(surface);
return false;
}
glBindTexture(_textureTarget, _textureObj);
glTexImage2D(_textureTarget, 0, _mode, surface->w, surface->h, 0, _mode, GL_UNSIGNED_BYTE, surface->pixels);
setFiltering(GL_LINEAR, GL_LINEAR);
_isLoaded = true;
if (surface)
SDL_FreeSurface(surface);
std::cout << _fileName << std::endl;
return _isLoaded;
}
Мои библиотеки libjpeg-9, libpng16-16, libtiff и libwebp-4.
Задача ещё не решена.