SDL_Image возвращает NULL при попытке загрузить текстуру

Я загрузил модель на свой экран, но не могу прочитать текстуру. Всякий раз, когда я пытаюсь загрузить текстуру модели, она возвращает 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.

0

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]