我想将纹理复制到另一个纹理以初始化其值。不幸的是,作为半浮动纹理,我不能使用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工具检查内容)。有什么我想念的吗?我可以用其他任何方式用大值初始化纹理吗?
答案 0 :(得分:0)
在阅读允许半浮动纹理(GL_OES_texture_half_float)的扩展文档后,我确认glCopyTexImage2D
不适用于这些纹理。
- 醇>
纹理是否支持CopyTexImage2D,CopyTexSubImage {2D | 3D} 有半浮动和浮动通道吗?
RESOLUTION: No.