2013-08-09 4 views
1

я могу загрузить 725x483 JPG текстуры, но не 725x544ПОЧВЫ, проблемы с NPOT текстур

код:

texId = SOIL_load_OGL_texture(fileName, SOIL_LOAD_AUTO, 
           SOIL_CREATE_NEW_ID, 0); 

Я получил сообщение об ошибке: Access violation reading location 0x06851002 - VS2012 выразить

I отлаживают SOIL немного, и кажется, что ошибка возникает сразу после вызова glTexImage2D (в библиотеке SOIL).

Когда я добавляю SOIL_FLAG_MIPMAP в код загрузки, он отлично работает.

Эта ошибка была включена в AMD (5570) и Intel (HD 4000).

ответ

0

решаемая, но я думаю, что стоит упомянуть решение:

  • использование собственно GL_UNPACK_ALIGNMENT, по умолчанию это 4, но когда я изменил его на 1 это сработало!
  • или изменить формат данных от SOIL_LOAD_AUTO до SOIL_RGBA. AUTO означает оригинальный формат текстур и JPG изображений это RGB, так что это может быть проблематичным, когда распаковка выравнивание 4.

с SOIL_FLAG_MIPMAP почвы фактически перемасштабирует изображение для БАК и, таким образом, не существует никаких проблем с распаковке размера выравнивания.

Смежные вопросы