我可以在glTexImage2D调用后释放分配给Image的内存吗?

Ujj*_*wal 7 c++ opengl 3d

glTexImage2D函数获取指向Image数据的指针.现在我调用了glGenTextures,glBindTexture,然后是glTexImage2D

在OpenGl中使用纹理.我可以释放分配给Image data ptr的内存吗?或者opengl在调用glTexImage2D之后复制指针中的数据会将其保留在GPU内还是使用我的Image数据进行纹理?

h4l*_*c0n 11

是的,一旦将信息指针提供给glTexImage2D,您就可以安全地删除它,它只会将它复制到更接近卡的地方(例如显卡内存)并从那里使用它.

int *p = getImagePixels();

glTexImage2D(GL_TEXTURE..., p);

delete [] p;
Run Code Online (Sandbox Code Playgroud)