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

Re: [Public WebGL] Proposing OpenGL ES extensions for inclusion into WebGL



Hi Florian, all,

To date, the WebGL working group has avoided exposing OpenGL ES 2.0
extensions via WebGL unless they are widely supported on existing ES
2.0 devices. The reason is that WebGL is still in its early phases --
implementations aren't yet able to expose getContext("webgl") because
of issues with the 1.0 conformance suite -- and we want to avoid
fragmentation of the market before the base functionality has
stabilized.

Some of the entries on your list have already been discussed
extensively on this list. For example, OES_element_index_uint was
previously rejected due to the lack of support on iOS devices.
Fortunately, it seems that iOS 5 has finally added support for this
extension. Clearly this and others should be revisited.

OES_texture_3D is an example of one which seems like a poor idea to
expose because of the market fragmentation it will imply -- any
application which requires it will work only on desktop hardware to
the best of my knowledge. Fortunately, the lack of native 3D texture
support in WebGL has inspired developers to seek solutions which work
on all platforms. See for example Vicomtech's excellent volume
rendering demonstration at http://demos.vicomtech.org/volren/ .

It would be most helpful for someone to research the support levels of
the extensions on this list on iOS 5 and Android on a few high end
devices. If support appears to be widespread, or if the extension
enables critical functionality unattainable any other way, then it
should be considered for exposure.

The WebGL WG is currently focusing its efforts on snapshotting the
next release of the spec and conformance tests, so expect that there
will be delays in considering these extensions until that work is
complete. Progress could still be made in the meantime, per above, in
identifying which extensions have reasonably widespread support.

-Ken

On Tue, Jan 3, 2012 at 4:30 AM,  <tomi.aarnio@nokia.com> wrote:
> Hi Florian, all,
>
>
>
> There’s a comprehensive database of OpenGL ES devices at
> www.glbenchmark.com, including a list of supported GL extensions per device.
> There’s no query mechanism for the extensions, though, so I had to manually
> browse through the database to gauge the level of support for each
> extension.
>
>
>
> The results were not encouraging. In fact, there’s not even a single
> extension that would be universally supported. I was keeping my thumbs up
> for OES_depth_texture, as it’s supported even by the low-end ARM Mali 200
> and Vivante GC530, but then it turned out that the spanking new NVIDIA Tegra
> 3 doesn’t have it! Sigh.
>
>
>
> That said, I don’t think WebGL should be limited to the absolute lowest
> common denominator. If a particular feature is not available on a low-end
> mobile device X, that shouldn’t mean that no-one will ever get to use that
> feature. We should leave it up to each individual developer to make that
> choice. There are a number of OES extensions that are supported widely
> enough that they ought to be exposed to WebGL, IMO.
>
>
>
> Best regards,
>
>   Tomi
>
>
>
> From: owner-public_webgl@khronos.org [mailto:owner-public_webgl@khronos.org]
> On Behalf Of ext Florian Bösch
> Sent: 3. tammikuuta 2012 1:56
> To: public webgl
> Subject: [Public WebGL] Proposing OpenGL ES extensions for inclusion into
> WebGL
>
>
>
> I have identified a list of OpenGL ES extensions of interest for inclusion
> into WebGL. The idea is to alleviate the large WebGL vs. Desktop Graphics
> discrepancy by adding support for things that are already available or
> proposed for OpenGL ES
>
>
>
>
>
> ES Ratified Extensions
>
> =============================
>
>
>
> http://www.khronos.org/registry/gles/extensions/OES/OES_depth_texture.txt
>
>   usecase: SSAO, Deferred rendering, DOF, etc.
>
>   support: OpenGL  2.0 core
>
>
>
> http://www.khronos.org/registry/gles/extensions/OES/OES_element_index_uint.txt
>
>   usecase: more then 64k vertices for drawElements
>
>   support: OpenGL 1.1 core
>
>
>
> http://www.khronos.org/registry/gles/extensions/OES/OES_texture_3D.txt
>
>   usecase: color mapping, volume rendering, other effects requiring
> interpolated volume queries
>
>   support: OpenGL 1.2 core
>
>
>
> http://www.khronos.org/registry/gles/extensions/OES/OES_texture_npot.txt
>
>   usecase: odd-sized textures requring mipmapping and other repeat modes
> then clamp to edge
>
>   support: OpenGL 2.0 core
>
>
>
>
>
> Non Ratified Extensions
>
> =============================
>
>
>
> http://www.khronos.org/registry/gles/extensions/EXT/EXT_shadow_samplers.txt
>
>   usecase: shadow mapping
>
>   support: OpenGL 2.0 core
>
>   status: complete
>
>
>
> http://www.khronos.org/registry/gles/extensions/EXT/blend_minmax.txt
>
>   usecase: postprocessing mathematics, distance field merging, medical
> imaging
>
>   support: OpenGL 1.2 core
>
>   status: unspecified
>
>   unresolved issues: 1, regarding FUNC prefix "Is this too ugly?"
>
>
>
> http://www.khronos.org/registry/gles/extensions/EXT/EXT_occlusion_query_boolean.txt
>
>   usecase: speedup of large scene rendering, virtual/mega texturing
>
>   support:  OpenGL 1.5 core
>
>   status: complete
>
>
>
> http://www.khronos.org/registry/gles/extensions/EXT/EXT_frag_depth.txt
>
>   usecase: impostors, parallax mapping, raymarching
>
>   support: GLSL 1.1
>
>   status:  Draft
>
>   unresolved issues: 0
>
>
>
> http://www.khronos.org/registry/gles/extensions/EXT/texture_filter_anisotropic.txt
>
>  usecase: higher quality texture filtering for oblique angles
>
>  support: http://www.opengl.org/registry/specs/EXT/texture_filter_anisotropic.txt
>
>  status: unspecified
>
>  unresolved issues: 1, regarding 3D texture anisotropic filtering
>
>
>
> http://www.khronos.org/registry/gles/extensions/EXT/EXT_separate_shader_objects.txt
>
>  usecase: mix&match of shaders, easier uniform usage.
>
>  support: GL_ARB_separate_shader_objects, OpenGL 4.1
>
>  status: Complete
>
>
>
> http://www.khronos.org/registry/gles/extensions/EXT/EXT_shader_texture_lod.txt
>
>  usecase: precise control over texture lookup LOD factor in fragment shaders
>
>  support: GL_ARB_shader_texture_lod, GLSL 1.3
>
>  status: Draft
>
>  unresolved issues: unspecified
>
>
>
>
>
> Vendor Extensions
>
> =============================
>
>
>
> http://www.khronos.org/registry/gles/extensions/NV/GL_NV_fbo_color_attachments.txt
>
>   usecase: deferred rendering, postprocessing, depth peeling, other multi
> output computations
>
>   support: GL_ARB_framebuffer_object, OpenGL 3.0, GLSL 1.1
>
>   status: Complete
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>

-----------------------------------------------------------
You are currently subscribed to public_webgl@khronos.org.
To unsubscribe, send an email to majordomo@khronos.org with
the following command in the body of your email:
unsubscribe public_webgl
-----------------------------------------------------------