Imagination PowerVR SDK Blog

Trouble using GL_OES_texture_float



I’m using OpenGL ES 2.0 with an SGX 530 on a TI OMAP 3530 (Gumstix Fire).  When I run glGetString(GL_EXTENSIONS), I get the following list:

GL_OES_rgb8_rgba8 GL_OES_depth24 GL_OES_vertex_half_float GL_OES_texture_float G
L_OES_texture_half_float GL_OES_element_index_uint GL_OES_mapbuffer GL_OES_fragm
ent_precision_high GL_OES_compressed_ETC1_RGB8_texture GL_OES_EGL_image GL_EXT_m
ulti_draw_arrays GL_IMG_shader_binary GL_IMG_texture_compression_pvrtc GL_IMG_te
xture_stream2 GL_IMG_texture_npot

So the GL_OES_texture_float extension seems to be supported.  I'm using a framebuffer object (FBO) to do rendering-to-texture.  I have three textures that are attached to the color attachment of the FBO at varying points throughout the application.  When I use RGBA/UNSIGNED_BYTE format/type pair, everything runs fine.  As soon as I try to use FLOAT as the type, the call glCheckFramebufferStatus(GL_FRAMEBUFFER) returns GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT, and my application stops working.

The only thing I changed was going from this:
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA,
               size, size, 0, GL_RGBA, GL_UNSIGNED_BYTE, data);

to this:
                 size, size, 0, GL_LUMINANCE, GL_FLOAT, data);

for each of the three textures.  Everything else is the same.  Can anyone shed some light on what I might be doing wrong?



The extension GL_OES_texture_float introduces float textures. However it does not imply that these textures are colour renderable, i.e. that they can be used as colour attachment to an FBO. Currently, rendering to float textures is not supported.


Is this still a limitation with the powervr drivers?smcallis2010-09-15 15:25:14


As floating point texture support is an extension exposed in the drivers implemented by TI, you should contact them to see if this functionality has been added since the previous post in this topic.Joe2010-10-06 11:18:16