我正在使用 OpenGL ES 2.0 在 Android 应用程序中实现 HDR 渲染管道,但浮点纹理存在一些问题,GL_FLOAT 或 GL_HALF_FLOAT_OES 都不能用作纹理类型,因为当纹理用作帧缓冲区目标。
如果我将 type 设置为 GL_UNSIGNED_BYTE,则代码可以完美运行,所以它实际上只是导致它的浮点问题。
该设备支持扩展 GL_OES_texture_float、GL_OES_texture_half_float、GL_EXT_color_buffer_float 和 GL_EXT_color_buffer_half_float。
我使用 GL_NEAREST 作为 GL_TEXTURE_MAG_FILTER/GL_TEXTURE_MIN_FILTER,但该设备确实支持 GL_OES_texture_half_float_linear 所以 GL_LINEAR 也应该可以工作。
该设备确实支持 npot 纹理,但即使使用 2 的幂,它仍然失败。
谢谢!