c - 一个 glTexImage2D 问题

标签 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 */);

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

还是调用后纹理最终确定?

最佳答案

不,OpenGL 会创建它自己的纹理副本,因此如果不来回复制它就无法修改它(但这也意味着您可以重用或释放缓冲区。

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

相关文章:

c++ - glGenBuffers 不设置缓冲区

c++ - opengl vbo dma数组

java - 绘制位图最快的方法

c - 查看后台进程的输出

使用 CMake 编译测试可执行文件

c - 使用 threads.h 静态初始化 mtx_t

c++ - 为什么我在带有 OpenGL 核心配置文件的窗口上看不到红色三角形?

iphone - OpenGL 3D 碰撞检测

带有 JOGL 和/或 LWJGL 的 Java 小程序 - 具有适用于每个操作系统的 native

c - 在 C 程序中使用 0 而不是 '\0'