devIL ошибка загрузки 1285

У меня проблема с загрузкой изображения с помощью devIL для openGL

в более ранней части моего проекта я звоню

ilInit();

в функции сразу после того, как я вызываю свою нагрузку так же, как это

//generate a texture
ilGenImages( 1, &uiTextureHandle );

//bind our image
ilBindImage( uiTextureHandle );

//load
//ilLoad( IL_PNG, (const ILstring)"fake.png" );
ilLoad( IL_PNG, "fake.png" );

ради отслеживания ошибок я делал «ilGetError ()» после каждого вызова
который возвратил 0 для всех из них, за исключением ilLoad, который возвращает 1285

после некоторого поиска я понял, что это ошибка памяти.

поэтому ilLoad всегда возвращает 0 и не загружается.

кто-нибудь знает, что я делаю неправильно, как для моей загрузки, или если я забыл что-то сделать
потому что я чувствую, что мог что-то забыть, и в этом причина появления 1285.

2

Решение

Общая причина ilLoad() потерпеть неудачу с IL_OUT_OF_MEMORY просто если используемый вами файл PNG поврежден.

Тем не менее, 1285 означает IL_INVALID_VALUE — это означает, что путь, по которому вы идете, скорее всего неправильный. Попробуйте использовать абсолютный путь (помните, что обратные слэши не подходят для C ++, если вы не используете двойные слэши).

Я лично использовал DevIL уже довольно давно и мне это понравилось. Тем не менее, я призываю вас рассмотреть FreeImage. У него немного больше развития, и он достаточно стабилен — я использовал его в коммерческом движке для всех своих нужд с изображениями, и он неплохо интегрируется с DirectX / OpenGL, как DevIL.

0

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

Других решений пока нет …

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