2016-08-21 2 views
-5

Вот код, который вызывает стек разбив при запуске:Stack Smashing обнаружен glGetTexImage

GLubyte pixels[SCREEN_WIDTH*SCREEN_HEIGHT*3]; 


glBindTexture(GL_TEXTURE_2D,fbo->renderedTexture); 
glGetTexImage(GL_TEXTURE_2D,0,GL_RGB,GL_UNSIGNED_BYTE,pixels); 

Я удостоверился, что сама функция не является проблемой, так как он работает с СВД поверхностью.

+1

Что такое 'GL_PACK_ALIGNMENT'? – genpfault

+3

У нас недостаточно информации, чтобы вывести проблему за вас. Пожалуйста, напишите минимальный рабочий пример. –

ответ

4

Возможные причины:

Размер pixels превышает количество стеки влево (есть только ограниченное количество доступных стека) и это то, что разбив свой стек. Не используйте стек для больших вещей.

Другая возможная причина заключается в том, что размер pixels является небольшим для данных текстуры, чтобы вписаться в него со всеми параметрами упаковки (выравнивание, шаг строки).

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