WebGL

Khronos

WebGL Extension Registry

Overview

The WebGL extension registry contains specifications for extensions to the core WebGL API. Most of these extensions are incorporated directly from the OpenGL ES or OpenGL extension registries, and refer to those extensions for their behavioral definition. Because WebGL extensions are specified as Web IDL interfaces, each specification also includes the IDL to which each implementation will comply.

An extension template is available for the submission of new proposed extensions. New extension proposals should be emailed to the public WebGL mailing list. When writing a new extension specification, it is recommended to check out the public WebGL repository. See the WebGL wiki page Using Github to contribute. The extension registry files are located under extensions/.

Each extension object is fetched from the WebGLRenderingContextBase by passing the name of the extension to the getExtension method, i.e.: context.getExtension("OES_texture_float").

Extensions which are marked as promoted to core or removed in a certain version of the WebGL API must not be supported in an implementation of that or newer version of the WebGL API.

Naming conventions

WebGL API extensions may derive from many sources, and the naming of each extension reflects its origin and intent.

Extension Development Process

Extensions move through four states during their development: proposed, draft, community approved, and Khronos ratified. Every extension should advance to Khronos ratified. If an extension cannot advance through the extension process it can be rejected.

Khronos ratified WebGL Extensions

By Number

By Name

  1. OES_texture_float
  2. OES_texture_half_float
  3. WEBGL_lose_context
  4. OES_standard_derivatives
  5. OES_vertex_array_object
  6. WEBGL_debug_renderer_info
  7. WEBGL_debug_shaders
  8. WEBGL_compressed_texture_s3tc
  9. WEBGL_depth_texture
  10. OES_element_index_uint
  11. EXT_texture_filter_anisotropic
  12. EXT_frag_depth
  13. WEBGL_draw_buffers
  14. ANGLE_instanced_arrays
  15. OES_texture_float_linear
  16. OES_texture_half_float_linear
  17. EXT_blend_minmax
  18. EXT_shader_texture_lod
  1. ANGLE_instanced_arrays
  2. EXT_blend_minmax
  3. EXT_frag_depth
  4. EXT_shader_texture_lod
  5. EXT_texture_filter_anisotropic
  6. OES_element_index_uint
  7. OES_standard_derivatives
  8. OES_texture_float
  9. OES_texture_float_linear
  10. OES_texture_half_float
  11. OES_texture_half_float_linear
  12. OES_vertex_array_object
  13. WEBGL_compressed_texture_s3tc
  14. WEBGL_debug_renderer_info
  15. WEBGL_debug_shaders
  16. WEBGL_depth_texture
  17. WEBGL_draw_buffers
  18. WEBGL_lose_context

Community approved WebGL Extensions

By Number

By Name

  1. WEBGL_compressed_texture_pvrtc
  2. EXT_color_buffer_half_float
  3. WEBGL_color_buffer_float
  4. EXT_sRGB
  5. WEBGL_compressed_texture_etc1
  6. EXT_disjoint_timer_query
  7. OES_fbo_render_mipmap
  8. WEBGL_compressed_texture_etc
  9. WEBGL_compressed_texture_astc
  10. EXT_color_buffer_float
  11. WEBGL_compressed_texture_s3tc_srgb
  12. EXT_disjoint_timer_query_webgl2
  13. EXT_float_blend
  14. OVR_multiview2
  15. KHR_parallel_shader_compile
  16. EXT_texture_compression_bptc
  17. EXT_texture_compression_rgtc
  18. WEBGL_multi_draw
  19. EXT_texture_norm16
  20. OES_draw_buffers_indexed
  21. WEBGL_provoking_vertex
  1. EXT_color_buffer_float
  2. EXT_color_buffer_half_float
  3. EXT_disjoint_timer_query
  4. EXT_disjoint_timer_query_webgl2
  5. EXT_float_blend
  6. EXT_sRGB
  7. EXT_texture_compression_bptc
  8. EXT_texture_compression_rgtc
  9. EXT_texture_norm16
  10. KHR_parallel_shader_compile
  11. OES_draw_buffers_indexed
  12. OES_fbo_render_mipmap
  13. OVR_multiview2
  14. WEBGL_color_buffer_float
  15. WEBGL_compressed_texture_astc
  16. WEBGL_compressed_texture_etc
  17. WEBGL_compressed_texture_etc1
  18. WEBGL_compressed_texture_pvrtc
  19. WEBGL_compressed_texture_s3tc_srgb
  20. WEBGL_multi_draw
  21. WEBGL_provoking_vertex

Draft WebGL Extensions

By Number

By Name

  1. WEBGL_blend_equation_advanced_coherent
  2. WEBGL_clip_cull_distance
  3. WEBGL_draw_instanced_base_vertex_base_instance
  4. WEBGL_multi_draw_instanced_base_vertex_base_instance
  5. WEBGL_shader_pixel_local_storage
  6. EXT_polygon_offset_clamp
  1. EXT_polygon_offset_clamp
  2. WEBGL_blend_equation_advanced_coherent
  3. WEBGL_clip_cull_distance
  4. WEBGL_draw_instanced_base_vertex_base_instance
  5. WEBGL_multi_draw_instanced_base_vertex_base_instance
  6. WEBGL_shader_pixel_local_storage

Proposed WebGL Extensions (do not implement!)

By Name

Rejected WebGL Extensions

By Name

Recent WebGL Extension Revisions

  1. EXT_disjoint_timer_query : revision 10 on
  2. EXT_polygon_offset_clamp : revision 2 on
  3. WEBGL_provoking_vertex : revision 5 on
  4. EXT_polygon_offset_clamp : revision 1 on
  5. WEBGL_shader_pixel_local_storage : revision 1 on
  6. EXT_color_buffer_half_float : revision 9 on
  7. WEBGL_color_buffer_float : revision 11 on
  8. EXT_sRGB : revision 5 on
  9. WEBGL_clip_cull_distance : revision 4 on
  10. WEBGL_provoking_vertex : revision 4 on
Atom feed Recent Revisions