On 2010-12-17, at 3:15 AM, Evgeny Demidov wrote:
OES_texture_float doesn't actually define the ability to render to floating point textures. We do happen to support that in ANGLE, but it is not a portable behaviour (and will almost certainly not work on true ES devices).
LUMINANCE_ALPHA textures are also not renderable in ES 2.0 (and are not in ANGLE). May desktop GL implementations made them renderable before RG textures were introduced, but that was more of a silent extension, not a requirement. You should be able to check this via a framebuffer completeness test.
Hope this helps,
1. Chromium and Firefox (+- ANGLE) render to gl.UNSIGNED_BYTE texures with gl.LUMINANCE, RGB and RGBA (I didn't use LUMINANCE_ALPHA yet). Shell I mark these apps as extensions? :(
You should use the CheckFramebufferStatus command to determine if a format is renderable. Older versions of ANGLE supported rendering to L and LA renderable textures, but this is no longer the case in top of tree.
2. I tested that one can render to OES_texture_float with gl.RGB. Is it a bug?
I would say it's more implementation dependent, or perhaps an undocumented feature :-)
3. barkley_e2.html hangs with LUMINANCE_ALPHA and does not with LUMINANCE..
Shall one write only to FBO with RGBA textures?
Largely yes. See Table 4.5 in the ES2 spec.