【问题标题】:Initialize half float texture with a copy of another half float texture用另一个半浮动纹理的副本初始化半浮动纹理
【发布时间】:2014-09-24 08:05:56
【问题描述】:

我想将一个纹理复制到另一个上以初始化它的值。不幸的是,作为半浮动纹理,我不能使用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 工具检查内容)。有什么我想念的吗?还有其他方法可以用大值初始化纹理吗?

【问题讨论】:

    标签: ios opengl-es textures


    【解决方案1】:

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

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

      RESOLUTION: No.
      

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-10
      • 2016-10-02
      • 2012-10-03
      • 2017-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-11
      相关资源
      最近更新 更多