[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Public WebGL] The state of MRTs



On Tue, Mar 20, 2012 at 4:59 PM, Cedric Vivier <cvivier@mozilla.com> wrote:
GL_ARB_draw_buffers is implementable on ES
The specification process for the OpenGL ES registry seems to follow the following scheme:
 - "ARB_" -> "OES_"
- "EXT_" -> "EXT_"
- "<vendor>_" -> "<vendor>_"

It has not been the practise of the OES registry to introduce ARB extensions. http://www.khronos.org/registry/gles/
If you mean by "implementable" that they could define a GL_OES_draw_buffers extension then yes. But that has not happened yet.

(this is probably the
reason it does not have a ES-specific version).
OpenGL ES has copied many ARB OpenGL extensions verbatim. The presence of ARB_draw_buffers would not preclude OES_draw_buffers (see http://www.khronos.org/registry/gles/extensions/OES/OES_blend_equation_separate.txt / http://www.opengl.org/registry/specs/ARB/blend_func_extended.txt etc.)

In fact, Tegra (2 or 3?) does support this extension.
No mobile device claims support for OES_draw_buffers (because it doesn't exist).
Some mobiles claim support for ARB_draw_buffers, which should be bogus, because it doesn't exist (and never will) in the OpenGL ES registry.

- GL_NV_draw_buffers: claimed by 6 devices, mostly Acer, Lenovo and Asus tablets, no Apple.
- GL_NV_fbo_color_attachments: claimed by 56 devices (some handsets from motorolla, Samsung and a lot of tablets from Lenovo, Acer, Toshiba etc., no Apple)
- GL_ARB_draw_buffers: bogusly claimed by 51 devices (probably just alias to either GL_NV_draw_buffers or GL_NV_fbo_color_attachments)

draw_buffers being "implementable" is not the sole criteria for inclusion into WebGL, it's my impression that in order to get an extension to WebGL these criteria have to be fullfilled:
- Be present in the OpenGL ES extension registry
- Be well supported by mobile devices
- Not be vendor specific (NV)

GL_ARB_draw_buffers is not in the OpenGL ES extension registry.
GL_NV_* is vendor specific.