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. WEBGL_clip_cull_distance
  20. EXT_texture_norm16
  21. OES_draw_buffers_indexed
  22. WEBGL_provoking_vertex
  23. EXT_polygon_offset_clamp
  24. EXT_clip_control
  25. EXT_depth_clamp
  26. WEBGL_polygon_mode
  27. EXT_conservative_depth
  28. NV_shader_noperspective_interpolation
  29. OES_sample_variables
  30. OES_shader_multisample_interpolation
  31. WEBGL_blend_func_extended
  32. EXT_render_snorm
  33. WEBGL_render_shared_exponent
  34. WEBGL_stencil_texturing
  35. EXT_texture_mirror_clamp_to_edge
  1. EXT_clip_control
  2. EXT_color_buffer_float
  3. EXT_color_buffer_half_float
  4. EXT_conservative_depth
  5. EXT_depth_clamp
  6. EXT_disjoint_timer_query
  7. EXT_disjoint_timer_query_webgl2
  8. EXT_float_blend
  9. EXT_polygon_offset_clamp
  10. EXT_render_snorm
  11. EXT_sRGB
  12. EXT_texture_compression_bptc
  13. EXT_texture_compression_rgtc
  14. EXT_texture_mirror_clamp_to_edge
  15. EXT_texture_norm16
  16. KHR_parallel_shader_compile
  17. NV_shader_noperspective_interpolation
  18. OES_draw_buffers_indexed
  19. OES_fbo_render_mipmap
  20. OES_sample_variables
  21. OES_shader_multisample_interpolation
  22. OVR_multiview2
  23. WEBGL_blend_func_extended
  24. WEBGL_clip_cull_distance
  25. WEBGL_color_buffer_float
  26. WEBGL_compressed_texture_astc
  27. WEBGL_compressed_texture_etc
  28. WEBGL_compressed_texture_etc1
  29. WEBGL_compressed_texture_pvrtc
  30. WEBGL_compressed_texture_s3tc_srgb
  31. WEBGL_multi_draw
  32. WEBGL_polygon_mode
  33. WEBGL_provoking_vertex
  34. WEBGL_render_shared_exponent
  35. WEBGL_stencil_texturing

Draft WebGL Extensions

By Number

By Name

  1. WEBGL_blend_equation_advanced_coherent
  2. WEBGL_draw_instanced_base_vertex_base_instance
  3. WEBGL_multi_draw_instanced_base_vertex_base_instance
  4. WEBGL_shader_pixel_local_storage
  1. WEBGL_blend_equation_advanced_coherent
  2. WEBGL_draw_instanced_base_vertex_base_instance
  3. WEBGL_multi_draw_instanced_base_vertex_base_instance
  4. WEBGL_shader_pixel_local_storage

Proposed WebGL Extensions (do not implement!)

By Name

Rejected WebGL Extensions

By Name

Recent WebGL Extension Revisions

  1. EXT_render_snorm : revision 2 on
  2. OES_sample_variables : revision 2 on
  3. OES_shader_multisample_interpolation : revision 2 on
  4. EXT_texture_mirror_clamp_to_edge : revision 2 on
  5. WEBGL_render_shared_exponent : revision 2 on
  6. WEBGL_stencil_texturing : revision 2 on
  7. EXT_conservative_depth : revision 2 on
  8. NV_shader_noperspective_interpolation : revision 2 on
  9. WEBGL_blend_func_extended : revision 2 on
  10. EXT_polygon_offset_clamp : revision 3 on
Atom feed Recent Revisions