如果使用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 */);

我可以修改缓冲区并期望纹理随之改变吗?
或者是在通话后确定的纹理?

最佳答案

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

关于c - glTexImage2D问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6720051/

10-11 15:51