我想通过使用glReadPixels存储像素数据,但到目前为止,我设法一次只存储一个像素。我不确定这是否应该走。目前,我有这样的:glReadPixels商店x,y值
unsigned char pixels[3];
glReadPixels(50,50, 1, 1, GL_RGB, GL_UNSIGNED_BYTE, pixels);
什么将其存储在一个数组,这样我就可以得到价值这样一个好办法:
pixels[20][50][0]; // x=20 y=50 -> R value
pixels[20][50][1]; // x=20 y=50 -> G value
pixels[20][50][2]; // x=20 y=50 -> B value
我想我可以简单的放它在一个循环:
for (all pixels on Y axis)
{
for (all pixels in X axis)
{
unsigned char pixels[width][height][3];
glReadPixels(x,y, 1, 1, GL_RGB, GL_UNSIGNED_BYTE, pixels[x][y]);
}
}
但我觉得必须有更好的方法来做到这一点。但是我确实需要我的数组像我上面描述的代码那样。那么for循环的想法会不错,还是有更好的方法?