In OpenGL ES there is an OES_rgb8_rgba8 extension that would allow you to render to 888 and 8888 formats. It might be reasonable to require this extension for webGL implementations. All our Adreno 2xx hardware supports this extension.
I know this isn’t the best written extension and more recent OES extension are going through a more extensive review process to ensure higher quality. That said this extension is used by many developers on our hardware and it seems to be working the way they expect it to.
That means we need an extension for RGB8 and RGBA8 as well?
And following the WebGL model of no extension feature is exposed to WebGL unless you call getExtension this means breaking every WebGL program that uses FBOs currently because I can pretty much guarantee, none of them ask for 565, 4444 or 5551 textures for their FBO textures. All of them are making 888 or 8888.
On Thu, Sep 1, 2011 at 12:21 PM, Mark Callow <email@example.com> wrote:
As I pointed out before, the core spec. does provide a guarantee. It says that the RGB565, RGBA4444 & RGBA5551 internal formats are color renderable and that NO other format is color renderable. Regardless of the confusion about how an application can guarantee to create a texture with one of these internal formats, it is very clear that an FP texture is not going to have one of these internal formats and will therefore not be color renderable.
An extension is required in OpenGL ES and in WebGL.
As far as I recall, OpenGL ES 2.0 makes no promises about what types of textures can be bound to frame buffers. The only way to know is to bind one and then call glCheckFramebufferStatus.
So, do we need a specific extension to enable rendering to floating point textures or is the current situation good enough?