使用另一半浮动纹理的副本初始化半浮动纹理

时间:2014-09-23 20:22:34

标签: ios opengl-es textures

我想将纹理复制到另一个纹理以初始化其值。不幸的是,作为半浮动纹理,我不能使用glClear(至少我找不到像10e10这样的数字清除方法)。所以我试过了:

glDrawArrays [...]

glFinish();
glActiveTexture(GL_TEXTURE5);
glBindTexture(GL_TEXTURE_2D, _bestSADTexture);
glCopyTexImage2D(GL_TEXTURE_2D, 0, GL_RED_EXT, 0, 0, width, height, 0);
_bestSADInitialized = YES;
glActiveTexture(0);
glBindTexture(GL_TEXTURE_2D, 0);

我要复制的纹理充当我刚刚渲染到的帧缓冲区的FBO颜色附件。它不起作用,因为纹理保持黑色(使用XCode OpenGL工具检查内容)。有什么我想念的吗?我可以用其他任何方式用大值初始化纹理吗?

1 个答案:

答案 0 :(得分:0)

在阅读允许半浮动纹理(GL_OES_texture_half_float)的扩展文档后,我确认glCopyTexImage2D不适用于这些纹理。

  
      
  1. 纹理是否支持CopyTexImage2D,CopyTexSubImage {2D | 3D}       有半浮动和浮动通道吗?

    RESOLUTION: No.
    
  2.