I'm implementing an HDR rendering pipeline in an Android app using OpenGL ES 2.0 and I'm having some issues with floating-point textures, neither GL_FLOAT or GL_HALF_FLOAT_OES works as the texture type, as this will give GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT when the texture is used as a framebuffer target.
The code works perfectly if i set type to GL_UNSIGNED_BYTE so it really only is the floating-point issue that's causing it.
The device supports the extensions GL_OES_texture_float, GL_OES_texture_half_float, GL_EXT_color_buffer_float and GL_EXT_color_buffer_half_float.
I'm using GL_NEAREST as the GL_TEXTURE_MAG_FILTER/GL_TEXTURE_MIN_FILTER, but the device does support GL_OES_texture_half_float_linear so GL_LINEAR should work as well.
The device does support npot textures, but even with a power of 2 it still fails.
The unit i'm using is the Samsung Galaxy S4 version that has the Qualcomm CPU and Adreno 320 graphics chipset.
Thanks!
Hi...
Could you share the exact code your using to creat the FBO or even better, an apk which duplicates the error condition? Assuming you are you are trying use a floating point texture as the color attachment?
Presuming you've checked this link for a better explanation of GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT
http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCheckFramebufferSta...
thanks,
mark
Possibly related to RGB/RGBA16F issue I mentioned here ?
RGBA16F RenderTargets work, RGB16F don't, why ? - Qualcomm Developer Network