Opengl glReadPixels:读取像素后堆栈周围变量已损坏
我正在尝试使用glReadPixels()读取5*5像素的窗口。这是代码Opengl glReadPixels:读取像素后堆栈周围变量已损坏,opengl,stack,glreadpixels,Opengl,Stack,Glreadpixels,我正在尝试使用glReadPixels()读取5*5像素的窗口。这是代码 const unsigned int WINDOW_SIZE = 5; const unsigned int NB_COMPONENTS = 3; GLubyte array[NB_COMPONENTS * WINDOW_SIZE * WINDOW_SIZE]; glReadPixels( 0, 0, WINDOW_SIZE, WINDOW_SIZE, GL_RGB, GL_UNSIGNED_BYTE, array);
const unsigned int WINDOW_SIZE = 5;
const unsigned int NB_COMPONENTS = 3;
GLubyte array[NB_COMPONENTS * WINDOW_SIZE * WINDOW_SIZE];
glReadPixels( 0, 0, WINDOW_SIZE, WINDOW_SIZE, GL_RGB, GL_UNSIGNED_BYTE, array);
但此代码在visual studio中会导致以下错误:
“变量数组周围的堆栈已损坏”
如果我在数组的大小上加上+4,效果会很好。有人知道为什么吗?既然你使用的是
GL\u RGB
请确保。太棒了!谢谢我添加了glPixelStorei(GL_-PACK_-ALIGNMENT,1);