我偶然发现了一个相当棘手的问题。
在iOS的openGL应用程序的上下文中,我试图调用glReadPixels。 因此,在开头创建/分配了一个全局缓冲区变量。 我试图在该缓冲区上使用glReadPixel-Function,但它没有成功。我没有得到任何新的图片,只是废话。
所以我的问题:为什么我需要在我分配的缓冲区空间上使用free(),当我想在最终释放它之前多次使用该内存的位置?
参见例如:
int bytes = width*height*3; //Color space is RGB
if(buffer == null)
buffer = (GLubyte *)malloc(bytes);
glReadPixels(0, 0, width, height, GL_RGB, GL_UNSIGNED_BYTE, buffer);
free(buffer);
编辑:我替换了免费(字节);免费(缓冲);