小编jir*_*mat的帖子

如何用零有效地初始化纹理?

我需要用零初始化OpenGL 2D纹理.

为什么?我用OpenCL渲染到这个纹理.粗略地说,渲染阶段是:

  1. 创建RGBA纹理,用零初始化(因此它包含透明的黑色像素)
  2. OpenCL:计算某些对象可见的像素颜色并将其写入此纹理
  3. OpenGL:将环境映射添加到透明像素并显示最终图像

因此,我不需要传递任何实际的纹理数据glTexImage2d.但根据规范,当我传递data = NULL时,纹理内存被分配但未初始化.

分配一个充满零和传递的客户端内存glTexImage2D不是一个很好的选择,虽然只有一个我能想到的.

编辑:我实际上只想初始化alpha组件(RGB无论如何都会被覆盖),但我怀疑这会使情况变得更容易.

opengl

25
推荐指数
2
解决办法
1万
查看次数

标签 统计

opengl ×1