一个glTexImage2D问题

Kri*_*oks 1 c opengl opengl-es

如果我使用一个glTexImage2D调用来创建一个像这样的缓冲区的纹理:

glTexImage2D(GL_TEXTURE_2D /* target*/,
             0 /* level */,
             GL_RGBA /* internal format */,
             width /* w */,
             height /* h */,
             0 /* border */,
             GL_RGBA /* format (RGBA 4)*/,
             GL_UNSIGNED_BYTE /* type */,
             buffer /* pixel buffer */);
Run Code Online (Sandbox Code Playgroud)

我可以修改缓冲区并期望纹理随之改变吗?

或者是在通话后最终确定了纹理?

Mar*_*rio 6

不,OpenGL将创建它自己的纹理副本,因此您不能在不复制它的情况下修改它(但这也意味着您可以重用或释放缓冲区.