Browse Source

doc: adapted GL function/extension to Khronos domain move.

Followup to previous commit -- links to opengl.org are now redirected to
khronos.org and the extension links have the same format for both GL and
GLES. That allows me to remove some of the Doxygen aliases and use just
a single set of the functions for both GL and GLES.
pull/197/head
Vladimír Vondruš 9 years ago
parent
commit
3b3f71faa9
  1. 13
      Doxyfile
  2. 9
      doc/coding-style.dox
  3. 12
      doc/opengl-mapping.dox
  4. 218
      doc/opengl-support.dox
  5. 26
      src/Magnum/AbstractFramebuffer.h
  6. 4
      src/Magnum/AbstractObject.cpp
  7. 4
      src/Magnum/AbstractObject.h
  8. 14
      src/Magnum/AbstractQuery.h
  9. 24
      src/Magnum/AbstractShaderProgram.h
  10. 14
      src/Magnum/AbstractTexture.h
  11. 4
      src/Magnum/Attribute.h
  12. 32
      src/Magnum/Buffer.h
  13. 4
      src/Magnum/BufferTexture.h
  14. 4
      src/Magnum/BufferTextureFormat.h
  15. 8
      src/Magnum/Context.h
  16. 30
      src/Magnum/CubeMapTexture.h
  17. 22
      src/Magnum/CubeMapTextureArray.h
  18. 52
      src/Magnum/DebugOutput.h
  19. 4
      src/Magnum/DebugTools/BufferData.h
  20. 24
      src/Magnum/DefaultFramebuffer.h
  21. 100
      src/Magnum/Framebuffer.h
  22. 52
      src/Magnum/Mesh.h
  23. 16
      src/Magnum/MeshView.h
  24. 16
      src/Magnum/MultisampleTexture.h
  25. 280
      src/Magnum/PixelFormat.h
  26. 8
      src/Magnum/PixelStorage.h
  27. 4
      src/Magnum/PrimitiveQuery.h
  28. 22
      src/Magnum/Renderbuffer.h
  29. 20
      src/Magnum/RenderbufferFormat.h
  30. 84
      src/Magnum/Renderer.h
  31. 2
      src/Magnum/SampleQuery.h
  32. 18
      src/Magnum/Sampler.h
  33. 56
      src/Magnum/Shader.h
  34. 6
      src/Magnum/Shaders/MeshVisualizer.h
  35. 2
      src/Magnum/Text/DistanceFieldGlyphCache.h
  36. 2
      src/Magnum/Text/GlyphCache.h
  37. 6
      src/Magnum/Text/Renderer.h
  38. 34
      src/Magnum/Texture.h
  39. 20
      src/Magnum/TextureArray.h
  40. 320
      src/Magnum/TextureFormat.h
  41. 2
      src/Magnum/TextureTools/DistanceField.h
  42. 4
      src/Magnum/TimeQuery.h
  43. 12
      src/Magnum/TransformFeedback.h
  44. 2
      src/MagnumPlugins/TgaImporter/TgaImporter.h

13
Doxyfile

@ -245,11 +245,9 @@ ALIASES = \
"todoc=@xrefitem todoc \"Documentation todo\" \"Documentation-related todo list\"" \
"fn_gl{1}=<a href=\"http://www.khronos.org/registry/OpenGL-Refpages/gl4/html/gl\1.xhtml\">gl\1()</a>" \
"fn_gl2{2}=<a href=\"http://www.khronos.org/registry/OpenGL-Refpages/gl4/html/gl\2.xhtml\">gl\1()</a>" \
"fn_gl_extension{3}=<a href=\"http://www.opengl.org/registry/specs/\2/\3.txt\">gl\1<b></b>\2()</a>" \
"fn_gl_extension2{3}=<a href=\"http://www.opengl.org/registry/specs/\2/\2_\3.txt\">gl\1<b></b>\2()</a>" \
"fn_gles_extension{3}=<a href=\"http://www.khronos.org/registry/gles/extensions/\2/\2_\3.txt\">gl\1<b></b>\2()</a>" \
"fn_gl_extension{3}=<a href=\"https://www.khronos.org/registry/OpenGL/extensions/\2/\2_\3.txt\">gl\1<b></b>\2()</a>" \
"def_gl{1}=`GL_\1`" \
"def_gl_extension{3}=<a href=\"http://www.opengl.org/registry/specs/\2/\3.txt\">GL_\1_\2</a>" \
"def_gl_extension{3}=<a href=\"https://www.khronos.org/registry/OpenGL/extensions/\2/\2_\3.txt\">GL_\1_\2</a>" \
"deprecated_gl=@xrefitem opengl-deprecated \"Deprecated OpenGL API\" \"Deprecated OpenGL API list\"" \
"requires_gl30=@xrefitem requires-gl30 \"Requires OpenGL 3.0\" \"Functionality requiring OpenGL 3.0\"" \
"requires_gl31=@xrefitem requires-gl31 \"Requires OpenGL 3.1\" \"Functionality requiring OpenGL 3.1\"" \
@ -263,9 +261,8 @@ ALIASES = \
"requires_gl45=@xrefitem requires-gl45 \"Requires OpenGL 4.5\" \"Functionality requiring OpenGL 4.5\"" \
"requires_extension=@xrefitem requires-extension \"Requires OpenGL extension\" \"Functionality requiring specific OpenGL extension\"" \
"requires_gl=@xrefitem requires-gl \"Requires desktop OpenGL\" \"Functionality requiring desktop OpenGL\"" \
"extension{2}=<a href=\"http://www.opengl.org/registry/specs/\1/\2.txt\"><tt>\1_\2</tt></a>" \
"extension2{2}=<a href=\"http://www.opengl.org/registry/specs/\1/\1_\2.txt\"><tt>\1_\2</tt></a>" \
"extension3{3}=<a href=\"http://www.opengl.org/registry/specs/\1/\3.txt\"><tt>\1_\2</tt></a>" \
"extension{2}=<a href=\"https://www.khronos.org/registry/OpenGL/extensions/\1/\1_\2.txt\"><tt>\1_\2</tt></a>" \
"extension2{3}=<a href=\"https://www.khronos.org/registry/OpenGL/extensions/\1/\3.txt\"><tt>\1_\2</tt></a>" \
"requires_gles20=@xrefitem requires-gles20 \"Requires OpenGL ES 2.0 / WebGL 1.0\" \"Functionality requiring OpenGL ES 2.0 or WebGL 1.0\"" \
"requires_gles30=@xrefitem requires-gles30 \"Requires OpenGL ES 3.0\" \"Functionality requiring OpenGL ES 3.0\"" \
"requires_gles31=@xrefitem requires-gles31 \"Requires OpenGL ES 3.1\" \"Functionality requiring OpenGL ES 3.1\"" \
@ -273,8 +270,6 @@ ALIASES = \
"requires_gles=@xrefitem requires-gles \"Requires OpenGL ES or desktop OpenGL\" \"Functionality requiring OpenGL ES or desktop OpenGL\"" \
"requires_webgl20=@xrefitem requires-webgl20 \"Requires WebGL 2.0\" \"Functionality requiring WebGL 2.0\"" \
"requires_webgl_extension=@xrefitem requires-webgl-extension \"Requires WebGL extension\" \"Functionality requiring specific WebGL extension\"" \
"es_extension{2}=<a href=\"http://www.khronos.org/registry/gles/extensions/\1/\1_\2.txt\"><tt>\1_\2</tt></a>" \
"es_extension2{3}=<a href=\"http://www.khronos.org/registry/gles/extensions/\1/\3.txt\"><tt>\1_\2</tt></a>" \
"webgl_extension{2}=<a href=\"https://www.khronos.org/registry/webgl/extensions/\1_\2/\"><tt>\1_\2</tt></a>" \
"fn_al{1}=`al\1()`" \
"fn_alc{1}=`alc\1()`" \

9
doc/coding-style.dox

@ -129,14 +129,13 @@ with @c \@extension command:
It produces link to the specification of the extension in OpenGL registry:
> @extension{ARB,timer_query}
Similarly for OpenGL ES extensions there is @c \@es_extension command. Some
extensions have slightly different URL, with command @c \@es_extension2 you can
specify extension filename, if the previous command gives 404 error. For example
With command @c \@extension2 you can specify extension filename, if the
previous command gives 404 error. For example
@code
@es_extension2{NV,read_buffer_front,GL_NV_read_buffer}
@extension2{NV,read_buffer_front,GL_NV_read_buffer}
@endcode
produces this link:
> @es_extension2{NV,read_buffer_front,GL_NV_read_buffer}
> @extension2{NV,read_buffer_front,GL_NV_read_buffer}
@subsubsection coding-style-documentation-commands-ref_gl Links to related OpenGL functions and definitions

12
doc/opengl-mapping.dox

@ -114,7 +114,7 @@ OpenGL function | Matching API
--------------------------------------- | ------------
@fn_gl{DebugMessageCallback} | @ref DebugOutput::setCallback()
@fn_gl{DebugMessageControl} | @ref DebugOutput::setEnabled()
@fn_gl{DebugMessageInsert}, \n @fn_gl_extension2{InsertEventMarker,EXT,debug_marker}, \n @fn_gl_extension{StringMarker,GREMEDY,string_marker} | @ref DebugMessage::insert()
@fn_gl{DebugMessageInsert}, \n @fn_gl_extension{InsertEventMarker,EXT,debug_marker}, \n @fn_gl_extension{StringMarker,GREMEDY,string_marker} | @ref DebugMessage::insert()
@fn_gl{DepthFunc} | @ref Renderer::setDepthFunction()
@fn_gl{DepthMask} | @ref Renderer::setDepthMask()
@fn_gl{DepthRange} | |
@ -237,7 +237,7 @@ OpenGL function | Matching API
--------------------------------------- | ------------
@fn_gl{InvalidateBufferData} | @ref Buffer::invalidateData()
@fn_gl{InvalidateBufferSubData} | @ref Buffer::invalidateSubData()
@fn_gl{InvalidateFramebuffer}, \n `glInvalidateNamedFramebufferData()`, \n @fn_gles_extension{DiscardFramebuffer,EXT,discard_framebuffer} | @ref DefaultFramebuffer::invalidate(), \n @ref Framebuffer::invalidate()
@fn_gl{InvalidateFramebuffer}, \n `glInvalidateNamedFramebufferData()`, \n @fn_gl_extension{DiscardFramebuffer,EXT,discard_framebuffer} | @ref DefaultFramebuffer::invalidate(), \n @ref Framebuffer::invalidate()
@fn_gl{InvalidateSubFramebuffer}, \n `glInvalidateNamedFramebufferSubData()` | @ref DefaultFramebuffer::invalidate(), \n @ref Framebuffer::invalidate()
@fn_gl{InvalidateTexImage} | @ref Texture::invalidateImage(), \n @ref TextureArray::invalidateImage(), \n @ref CubeMapTexture::invalidateImage(), \n @ref CubeMapTextureArray::invalidateImage(), \n @ref RectangleTexture::invalidateImage(), \n @ref MultisampleTexture::invalidateImage()
@fn_gl{InvalidateTexSubImage} | @ref Texture::invalidateSubImage(), \n @ref TextureArray::invalidateSubImage(), \n @ref CubeMapTexture::invalidateSubImage(), \n @ref CubeMapTextureArray::invalidateSubImage(), \n @ref RectangleTexture::invalidateSubImage(), \n @ref MultisampleTexture::invalidateSubImage()
@ -273,7 +273,7 @@ OpenGL function | Matching API
OpenGL function | Matching API
--------------------------------------- | ------------
@fn_gl{ObjectLabel}, \n @fn_gl{ObjectPtrLabel}, \n @fn_gl_extension2{LabelObject,EXT,debug_label} | @ref AbstractShaderProgram::setLabel(), \n @ref AbstractQuery::setLabel(), \n @ref AbstractTexture::setLabel(), \n @ref Buffer::setLabel(), \n @ref Framebuffer::setLabel(), \n @ref Mesh::setLabel(), \n @ref Renderbuffer::setLabel(), \n @ref Shader::setLabel()
@fn_gl{ObjectLabel}, \n @fn_gl{ObjectPtrLabel}, \n @fn_gl_extension{LabelObject,EXT,debug_label} | @ref AbstractShaderProgram::setLabel(), \n @ref AbstractQuery::setLabel(), \n @ref AbstractTexture::setLabel(), \n @ref Buffer::setLabel(), \n @ref Framebuffer::setLabel(), \n @ref Mesh::setLabel(), \n @ref Renderbuffer::setLabel(), \n @ref Shader::setLabel()
@subsection opengl-mapping-functions-p P
@ -286,13 +286,13 @@ OpenGL function | Matching API
@fn_gl{PointSize} | @ref Renderer::setPointSize()
@fn_gl{PolygonMode} | @ref Renderer::setPolygonMode()
@fn_gl{PolygonOffset} | @ref Renderer::setPolygonOffset()
@fn_gles_extension{PrimitiveBoundingBox,EXT,primitive_bounding_box} | |
@fn_gl_extension{PrimitiveBoundingBox,EXT,primitive_bounding_box} | |
@fn_gl{PrimitiveRestartIndex} | |
@fn_gl{ProgramBinary} | |
@fn_gl{ProgramParameter} | @ref AbstractShaderProgram::setRetrievableBinary(), \n @ref AbstractShaderProgram::setSeparable()
@fn_gl{ProvokingVertex} | @ref Renderer::setProvokingVertex()
@fn_gl{PushDebugGroup}, \n @fn_gl_extension2{PushGroupMarker,EXT,debug_marker} | @ref DebugGroup::push()
@fn_gl{PopDebugGroup}, \n @fn_gl_extension2{PopGroupMarker,EXT,debug_marker} | @ref DebugGroup::pop()
@fn_gl{PushDebugGroup}, \n @fn_gl_extension{PushGroupMarker,EXT,debug_marker} | @ref DebugGroup::push()
@fn_gl{PopDebugGroup}, \n @fn_gl_extension{PopGroupMarker,EXT,debug_marker} | @ref DebugGroup::pop()
@subsection opengl-mapping-functions-q Q

218
doc/opengl-support.dox

@ -232,7 +232,7 @@ GLSL 4.50 | done
Extension | Status
------------------------------------------- | ------
@extension{ARB,robustness} | done
@extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} | done
@extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} | done
@extension{KHR,texture_compression_astc_hdr} | done
@extension{ARB,robustness_isolation} | done
@extension{ARB,bindless_texture} | |
@ -246,7 +246,7 @@ Extension | Status
@extension{ARB,sparse_buffer} | |
@extension{ARB,transform_feedback_overflow_query} | done
@extension{KHR,blend_equation_advanced} | done
@extension3{KHR,blend_equation_advanced_coherent,blend_equation_advanced} | done
@extension2{KHR,blend_equation_advanced_coherent,blend_equation_advanced} | done
@extension{KHR,no_error} | done
@subsection opengl-support-extensions-vendor Vendor OpenGL extensions
@ -267,8 +267,8 @@ Extension | Status
@extension{EXT,direct_state_access} | done for implemented functionality
@extension{EXT,texture_sRGB_decode} | done
@extension{EXT,shader_integer_mix} | done (shading language only)
@extension2{EXT,debug_label} | missing pipeline and sampler label
@extension2{EXT,debug_marker} | done
@extension{EXT,debug_label} | missing pipeline and sampler label
@extension{EXT,debug_marker} | done
@extension{GREMEDY,string_marker} | done
@subsection opengl-support-es20 OpenGL ES 2.0
@ -290,119 +290,119 @@ supported. ESSL 3.10 is supported.
Extension | Status
------------------------------------------- | ------
@es_extension{ANGLE,framebuffer_blit} | done
@es_extension{ANGLE,framebuffer_multisample} | done
@es_extension{ANGLE,instanced_arrays} | done
@es_extension{ANGLE,depth_texture} | done
@es_extension{APPLE,framebuffer_multisample} | done (ES 3.0 subset)
@es_extension{APPLE,texture_max_level} | done
@es_extension{ARM,rgba8} | done
@es_extension{EXT,texture_type_2_10_10_10_REV} | done
@es_extension{EXT,discard_framebuffer} | done
@es_extension2{EXT,blend_minmax,blend_minmax} | done
@es_extension{EXT,shader_texture_lod} | done (shading language only)
@es_extension{EXT,unpack_subimage} | done
@es_extension{EXT,occlusion_query_boolean} | done
@es_extension{EXT,shadow_samplers} | done
@es_extension{EXT,texture_rg} | done
@es_extension{EXT,sRGB} | done
@es_extension{EXT,texture_storage} | done
@es_extension{EXT,map_buffer_range} | done
@es_extension{EXT,draw_buffers} | done
@es_extension{EXT,instanced_arrays} | done
@es_extension2{EXT,draw_instanced,draw_instanced} | done
@es_extension{NV,draw_buffers} | done
@es_extension{NV,fbo_color_attachments} | done
@es_extension{NV,read_buffer} | done
@es_extension{NV,pack_subimage} | done
@es_extension{NV,draw_instanced} | done
@es_extension{NV,framebuffer_blit} | done
@es_extension{NV,framebuffer_multisample} | done
@es_extension{NV,instanced_arrays} | done
@es_extension{NV,shadow_samplers_array} | done (shading language only)
@es_extension{NV,shadow_samplers_cube} | done (shading language only)
@es_extension{OES,depth24} | done
@es_extension{OES,element_index_uint} | done
@es_extension{OES,fbo_render_mipmap} | done
@es_extension{OES,rgb8_rgba8} | done (desktop-compatible subset)
@es_extension{OES,texture_3D} | done
@es_extension2{OES,texture_half_float_linear,OES_texture_float_linear} | done
@es_extension{OES,texture_float_linear} | done
@es_extension2{OES,texture_half_float,OES_texture_float} | done
@es_extension{OES,texture_float} | done
@es_extension{OES,texture_npot} | done (nothing to do)
@es_extension{OES,vertex_half_float} | done
@es_extension{OES,packed_depth_stencil} | done
@es_extension{OES,depth_texture} | done
@es_extension{OES,standard_derivatives} | done
@es_extension{OES,vertex_array_object} | done
@es_extension{OES,required_internalformat} | done (desktop-compatible subset)
@es_extension{OES,surfaceless_context} | done
@extension{ANGLE,framebuffer_blit} | done
@extension{ANGLE,framebuffer_multisample} | done
@extension{ANGLE,instanced_arrays} | done
@extension{ANGLE,depth_texture} | done
@extension{APPLE,framebuffer_multisample} | done (ES 3.0 subset)
@extension{APPLE,texture_max_level} | done
@extension{ARM,rgba8} | done
@extension{EXT,texture_type_2_10_10_10_REV} | done
@extension{EXT,discard_framebuffer} | done
@extension2{EXT,blend_minmax,blend_minmax} | done
@extension{EXT,shader_texture_lod} | done (shading language only)
@extension{EXT,unpack_subimage} | done
@extension{EXT,occlusion_query_boolean} | done
@extension{EXT,shadow_samplers} | done
@extension{EXT,texture_rg} | done
@extension{EXT,sRGB} | done
@extension{EXT,texture_storage} | done
@extension{EXT,map_buffer_range} | done
@extension{EXT,draw_buffers} | done
@extension{EXT,instanced_arrays} | done
@extension2{EXT,draw_instanced,draw_instanced} | done
@extension{NV,draw_buffers} | done
@extension{NV,fbo_color_attachments} | done
@extension{NV,read_buffer} | done
@extension{NV,pack_subimage} | done
@extension{NV,draw_instanced} | done
@extension{NV,framebuffer_blit} | done
@extension{NV,framebuffer_multisample} | done
@extension{NV,instanced_arrays} | done
@extension{NV,shadow_samplers_array} | done (shading language only)
@extension{NV,shadow_samplers_cube} | done (shading language only)
@extension{OES,depth24} | done
@extension{OES,element_index_uint} | done
@extension{OES,fbo_render_mipmap} | done
@extension{OES,rgb8_rgba8} | done (desktop-compatible subset)
@extension{OES,texture_3D} | done
@extension2{OES,texture_half_float_linear,OES_texture_float_linear} | done
@extension{OES,texture_float_linear} | done
@extension2{OES,texture_half_float,OES_texture_float} | done
@extension{OES,texture_float} | done
@extension{OES,texture_npot} | done (nothing to do)
@extension{OES,vertex_half_float} | done
@extension{OES,packed_depth_stencil} | done
@extension{OES,depth_texture} | done
@extension{OES,standard_derivatives} | done
@extension{OES,vertex_array_object} | done
@extension{OES,required_internalformat} | done (desktop-compatible subset)
@extension{OES,surfaceless_context} | done
@subsection opengl-support-es-extensions OpenGL ES extensions
@todo @es_extension{NV,non_square_matrices}
@todo @extension{NV,non_square_matrices}
@todo Support also IMG_multisampled_render_to_texture? It has different enum
values (!)
Extension | Status
------------------------------------------- | ------
@es_extension{ANDROID,extension_pack_es31a} | done (nothing to do)
@es_extension{APPLE,texture_format_BGRA8888} | done
@es_extension{ARM,shader_framebuffer_fetch} | missing renderer setup and limit query
@es_extension{ARM,shader_framebuffer_fetch_depth_stencil} | done (shading language only)
@es_extension{CHROMIUM,map_sub} (NaCl only) | only buffer mapping
@es_extension{EXT,texture_filter_anisotropic} | done
@es_extension{EXT,texture_format_BGRA8888} | done
@es_extension{EXT,read_format_bgra} | done
@es_extension2{EXT,multi_draw_arrays,multi_draw_arrays} | done
@es_extension{EXT,debug_label} | see above
@es_extension{EXT,debug_marker} | done
@es_extension{EXT,separate_shader_objects} | only direct uniform binding
@es_extension{EXT,multisampled_render_to_texture} | only renderbuffer storage
@es_extension{EXT,robustness} | done
@es_extension{EXT,shader_framebuffer_fetch} | missing limit query
@es_extension{EXT,disjoint_timer_query} | only time elapsed query
@es_extension{EXT,texture_sRGB_decode} | done
@es_extension{EXT,sRGB_write_control} | done
@es_extension2{EXT,texture_compression_s3tc,texture_compression_s3tc} | done
@es_extension{EXT,shader_integer_mix} | done (shading language only)
@es_extension{EXT,copy_image} | |
@es_extension{EXT,draw_buffers_indexed} | |
@es_extension{EXT,geometry_shader} | missing some ES-specific limit queries
@es_extension{EXT,gpu_shader5} | done (shading language only)
@es_extension{EXT,shader_io_blocks} | done (shading language only)
@es_extension{EXT,tessellation_shader} | see above
@es_extension{EXT,texture_border_clamp} | done
@es_extension{EXT,texture_buffer} | done
@es_extension{EXT,texture_cube_map_array} | done
@es_extension{EXT,primitive_bounding_box} | |
@es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} | done
@es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} | done
@es_extension{KHR,debug} | see above
@es_extension2{KHR,blend_equation_advanced,blend_equation_advanced} | done
@es_extension2{KHR,blend_equation_advanced_coherent,blend_equation_advanced} | done
@es_extension{KHR,robustness} | |
@es_extension{KHR,robust_buffer_access_behavior} | done (nothing to do)
@es_extension{KHR,context_flush_control} | |
@es_extension2{KHR,no_error,no_error} | done
@es_extension2{NV,read_buffer_front,NV_read_buffer} | done
@es_extension2{NV,read_depth,NV_read_depth_stencil} | done
@es_extension2{NV,read_stencil,NV_read_depth_stencil} | done
@es_extension{NV,read_depth_stencil} | done
@es_extension{NV,texture_border_clamp} | done
@es_extension{NV,shader_noperspective_interpolation} | done (shading language only)
@es_extension{NV,polygon_mode} | done
@es_extension{OES,depth32} | done
@es_extension{OES,mapbuffer} | done
@es_extension{OES,stencil1} | done
@es_extension{OES,stencil4} | done
@es_extension{OES,sample_shading} | |
@es_extension{OES,sample_variables} | done (shading language only)
@es_extension{OES,shader_image_atomic} | done (shading language only)
@es_extension{OES,shader_multisample_interpolation} | |
@es_extension{OES,texture_stencil8} | done
@es_extension{OES,texture_storage_multisample_2d_array} | done
@extension{ANDROID,extension_pack_es31a} | done (nothing to do)
@extension{APPLE,texture_format_BGRA8888} | done
@extension{ARM,shader_framebuffer_fetch} | missing renderer setup and limit query
@extension{ARM,shader_framebuffer_fetch_depth_stencil} | done (shading language only)
@extension{CHROMIUM,map_sub} (NaCl only) | only buffer mapping
@extension{EXT,texture_filter_anisotropic} | done
@extension{EXT,texture_format_BGRA8888} | done
@extension{EXT,read_format_bgra} | done
@extension2{EXT,multi_draw_arrays,multi_draw_arrays} | done
@extension{EXT,debug_label} | see above
@extension{EXT,debug_marker} | done
@extension{EXT,separate_shader_objects} | only direct uniform binding
@extension{EXT,multisampled_render_to_texture} | only renderbuffer storage
@extension{EXT,robustness} | done
@extension{EXT,shader_framebuffer_fetch} | missing limit query
@extension{EXT,disjoint_timer_query} | only time elapsed query
@extension{EXT,texture_sRGB_decode} | done
@extension{EXT,sRGB_write_control} | done
@extension2{EXT,texture_compression_s3tc,texture_compression_s3tc} | done
@extension{EXT,shader_integer_mix} | done (shading language only)
@extension{EXT,copy_image} | |
@extension{EXT,draw_buffers_indexed} | |
@extension{EXT,geometry_shader} | missing some ES-specific limit queries
@extension{EXT,gpu_shader5} | done (shading language only)
@extension{EXT,shader_io_blocks} | done (shading language only)
@extension{EXT,tessellation_shader} | see above
@extension{EXT,texture_border_clamp} | done
@extension{EXT,texture_buffer} | done
@extension{EXT,texture_cube_map_array} | done
@extension{EXT,primitive_bounding_box} | |
@extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} | done
@extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} | done
@extension{KHR,debug} | see above
@extension2{KHR,blend_equation_advanced,blend_equation_advanced} | done
@extension2{KHR,blend_equation_advanced_coherent,blend_equation_advanced} | done
@extension{KHR,robustness} | |
@extension{KHR,robust_buffer_access_behavior} | done (nothing to do)
@extension{KHR,context_flush_control} | |
@extension2{KHR,no_error,no_error} | done
@extension2{NV,read_buffer_front,NV_read_buffer} | done
@extension2{NV,read_depth,NV_read_depth_stencil} | done
@extension2{NV,read_stencil,NV_read_depth_stencil} | done
@extension{NV,read_depth_stencil} | done
@extension{NV,texture_border_clamp} | done
@extension{NV,shader_noperspective_interpolation} | done (shading language only)
@extension{NV,polygon_mode} | done
@extension{OES,depth32} | done
@extension{OES,mapbuffer} | done
@extension{OES,stencil1} | done
@extension{OES,stencil4} | done
@extension{OES,sample_shading} | |
@extension{OES,sample_variables} | done (shading language only)
@extension{OES,shader_image_atomic} | done (shading language only)
@extension{OES,shader_multisample_interpolation} | |
@extension{OES,texture_stencil8} | done
@extension{OES,texture_storage_multisample_2d_array} | done
@subsection opengl-support-webgl10 WebGL 1.0

26
src/Magnum/AbstractFramebuffer.h

@ -66,8 +66,8 @@ typedef Containers::EnumSet<FramebufferClear> FramebufferClearMask;
@see @ref AbstractFramebuffer, @ref FramebufferBlitMask
@requires_gl30 Extension @extension{ARB,framebuffer_object}
@requires_gles30 Extension @es_extension{ANGLE,framebuffer_blit} or
@es_extension{NV,framebuffer_blit} in OpenGL ES 2.0.
@requires_gles30 Extension @extension{ANGLE,framebuffer_blit} or
@extension{NV,framebuffer_blit} in OpenGL ES 2.0.
@requires_webgl20 Framebuffer blit is not available in WebGL 1.0.
*/
enum class FramebufferBlit: GLbitfield {
@ -81,8 +81,8 @@ enum class FramebufferBlit: GLbitfield {
@see @ref AbstractFramebuffer::blit()
@requires_gl30 Extension @extension{ARB,framebuffer_object}
@requires_gles30 Extension @es_extension{ANGLE,framebuffer_blit} or
@es_extension{NV,framebuffer_blit} in OpenGL ES 2.0.
@requires_gles30 Extension @extension{ANGLE,framebuffer_blit} or
@extension{NV,framebuffer_blit} in OpenGL ES 2.0.
@requires_webgl20 Framebuffer blit is not available in WebGL 1.0.
*/
#ifndef DOXYGEN_GENERATING_OUTPUT
@ -97,8 +97,8 @@ typedef Containers::EnumSet<FramebufferBlit> FramebufferBlitMask;
@see @ref AbstractFramebuffer::blit()
@requires_gl30 Extension @extension{ARB,framebuffer_object}
@requires_gles30 Extension @es_extension{ANGLE,framebuffer_blit} or
@es_extension{NV,framebuffer_blit} in OpenGL ES 2.0.
@requires_gles30 Extension @extension{ANGLE,framebuffer_blit} or
@extension{NV,framebuffer_blit} in OpenGL ES 2.0.
@requires_webgl20 Framebuffer blit is not available in WebGL 1.0.
*/
enum class FramebufferBlitFilter: GLenum {
@ -191,8 +191,8 @@ class MAGNUM_EXPORT AbstractFramebuffer {
* @brief Max supported draw buffer count
*
* The result is cached, repeated queries don't result in repeated
* OpenGL calls. If neither @es_extension{EXT,draw_buffers} nor
* @es_extension{NV,draw_buffers} is available in OpenGL ES 2.0 and
* OpenGL calls. If neither @extension{EXT,draw_buffers} nor
* @extension{NV,draw_buffers} is available in OpenGL ES 2.0 and
* @webgl_extension{WEBGL,draw_buffers} is not available in WebGL 1.0,
* returns `0`.
* @see @ref DefaultFramebuffer::mapForDraw(), @ref Framebuffer::mapForDraw(),
@ -234,8 +234,8 @@ class MAGNUM_EXPORT AbstractFramebuffer {
* before the operation (if not already).
* @see @fn_gl2{BlitNamedFramebuffer,BlitFramebuffer}, eventually
* @fn_gl{BlitFramebuffer}
* @requires_gles30 Extension @es_extension{ANGLE,framebuffer_blit} or
* @es_extension{NV,framebuffer_blit} in OpenGL ES 2.0.
* @requires_gles30 Extension @extension{ANGLE,framebuffer_blit} or
* @extension{NV,framebuffer_blit} in OpenGL ES 2.0.
* @requires_webgl20 Framebuffer blit is not available in WebGL 1.0.
* @todo NaCl exports `BlitFramebufferEXT` (although no such extension
* exists for ES)
@ -602,7 +602,7 @@ class MAGNUM_EXPORT AbstractFramebuffer {
* @fn_gl_extension{CopyTextureSubImage3D,EXT,direct_state_access},
* eventually @fn_gl{ActiveTexture}, @fn_gl{BindTexture} and
* @fn_gl{CopyTexSubImage3D}
* @requires_gles30 Extension @es_extension{OES,texture_3D} in OpenGL
* @requires_gles30 Extension @extension{OES,texture_3D} in OpenGL
* ES 2.0.
* @requires_webgl20 Only 2D textures are available in WebGL 1.0.
*/
@ -677,8 +677,8 @@ class MAGNUM_EXPORT AbstractFramebuffer {
* @fn_gl{CopyTexSubImage3D}
* @requires_gl40 Extension @extension{ARB,texture_cube_map_array}
* @requires_gles30 Not defined in OpenGL ES 2.0.
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension{EXT,texture_cube_map_array}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension{EXT,texture_cube_map_array}
* @requires_gles Cube map texture arrays are not available in WebGL.
*/
void copySubImage(const Range2Di& rectangle, CubeMapTextureArray& texture, Int level, const Vector3i& offset);

4
src/Magnum/AbstractObject.cpp

@ -90,8 +90,8 @@ namespace {
* @todo Shouldn't ES2's KHR_debug have `GL_TRANSFORM_FEEDBACK_KHR`
* instead of `GL_TRANSFORM_FEEDBACK`? (it's a new enum in 2.0)
* NaCl extension header doesn't have it at all. Also the
* original @es_extension{EXT,debug_label} mentions it only
* for ES3 (i.e. no mention of @es_extension{EXT,transform_feedback})
* original @extension{EXT,debug_label} mentions it only
* for ES3 (i.e. no mention of @extension{EXT,transform_feedback})
*/
#ifndef CORRADE_TARGET_NACL
case GL_TRANSFORM_FEEDBACK:

4
src/Magnum/AbstractObject.h

@ -89,8 +89,8 @@ class MAGNUM_EXPORT AbstractObject {
*
* The result is cached, repeated queries don't result in repeated
* OpenGL calls. If OpenGL 4.3 is not supported and @extension{KHR,debug}
* desktop or ES extension (covered also by @es_extension{ANDROID,extension_pack_es31a})
* is not available, returns `0`. Note that @extension2{EXT,debug_label}
* desktop or ES extension (covered also by @extension{ANDROID,extension_pack_es31a})
* is not available, returns `0`. Note that @extension{EXT,debug_label}
* has no such limit.
* @see @ref AbstractQuery::setLabel(), @ref AbstractShaderProgram::setLabel(),
* @ref AbstractTexture::setLabel(), @ref Buffer::setLabel(),

14
src/Magnum/AbstractQuery.h

@ -87,11 +87,11 @@ class MAGNUM_EXPORT AbstractQuery: public AbstractObject {
*
* The result is *not* cached, repeated queries will result in repeated
* OpenGL calls. If OpenGL 4.3 is not supported and neither
* @extension{KHR,debug} (covered also by @es_extension{ANDROID,extension_pack_es31a})
* nor @extension2{EXT,debug_label} desktop or ES extension is
* @extension{KHR,debug} (covered also by @extension{ANDROID,extension_pack_es31a})
* nor @extension{EXT,debug_label} desktop or ES extension is
* available, this function returns empty string.
* @see @fn_gl{GetObjectLabel} with @def_gl{QUERY} or
* @fn_gl_extension2{GetObjectLabel,EXT,debug_label} with
* @fn_gl_extension{GetObjectLabel,EXT,debug_label} with
* @def_gl{QUERY_OBJECT_EXT}
* @requires_gles Debug output is not available in WebGL.
*/
@ -102,11 +102,11 @@ class MAGNUM_EXPORT AbstractQuery: public AbstractObject {
* @return Reference to self (for method chaining)
*
* Default is empty string. If OpenGL 4.3 is not supported and neither
* @extension{KHR,debug} (covered also by @es_extension{ANDROID,extension_pack_es31a})
* nor @extension2{EXT,debug_label} desktop or ES extension is
* @extension{KHR,debug} (covered also by @extension{ANDROID,extension_pack_es31a})
* nor @extension{EXT,debug_label} desktop or ES extension is
* available, this function does nothing.
* @see @ref maxLabelLength(), @fn_gl{ObjectLabel} with
* @def_gl{QUERY} or @fn_gl_extension2{LabelObject,EXT,debug_label}
* @def_gl{QUERY} or @fn_gl_extension{LabelObject,EXT,debug_label}
* with @def_gl{QUERY_OBJECT_EXT}
* @requires_gles Debug output is not available in WebGL.
*/
@ -137,7 +137,7 @@ class MAGNUM_EXPORT AbstractQuery: public AbstractObject {
* @see @fn_gl{GetQueryObject} with @def_gl{QUERY_RESULT}
* @requires_gl33 Extension @extension{ARB,timer_query} for result
* type @ref Magnum::UnsignedLong "UnsignedLong" and @ref Magnum::Long "Long"
* @requires_es_extension Extension @es_extension{EXT,disjoint_timer_query}
* @requires_es_extension Extension @extension{EXT,disjoint_timer_query}
* for result types @ref Magnum::Int "Int", @ref Magnum::UnsignedLong "UnsignedLong"
* and @ref Magnum::Long "Long".
* @requires_gles Only @ref Magnum::UnsignedInt "UnsignedInt" result

24
src/Magnum/AbstractShaderProgram.h

@ -198,14 +198,14 @@ bindFragmentDataLocationIndexed(NormalOutput, 1, "normal");
instead.
@requires_gles30 Multiple fragment shader outputs are not available in OpenGL
ES 2.0, similar functionality is available in extension
@es_extension{EXT,draw_buffers} or @es_extension{NV,draw_buffers}.
@extension{EXT,draw_buffers} or @extension{NV,draw_buffers}.
@requires_webgl20 Explicit location specification of input attributes is not
supported in WebGL 1.0, use @ref bindAttributeLocation() instead.
@requires_webgl20 Multiple fragment shader outputs are not available in WebGL
1.0, similar functionality is available in extension
@webgl_extension{WEBGL,draw_buffers}.
@todo @es_extension{EXT,separate_shader_objects} supports explicit attrib
@todo @extension{EXT,separate_shader_objects} supports explicit attrib
location
@anchor AbstractShaderProgram-uniform-location
@ -467,7 +467,7 @@ cached, so repeated queries don't result in repeated @fn_gl{Get} calls. See
also @ref Context::resetState() and @ref Context::State::Shaders.
If extension @extension{ARB,separate_shader_objects} (part of OpenGL 4.1),
@extension{EXT,direct_state_access} desktop extension, @es_extension{EXT,separate_shader_objects}
@extension{EXT,direct_state_access} desktop extension, @extension{EXT,separate_shader_objects}
OpenGL ES extension or OpenGL ES 3.1 is available, uniform setting functions
use DSA functions to avoid unnecessary calls to @fn_gl{UseProgram}. See
@ref setUniform() documentation for more information.
@ -738,11 +738,11 @@ class MAGNUM_EXPORT AbstractShaderProgram: public AbstractObject {
*
* The result is *not* cached, repeated queries will result in repeated
* OpenGL calls. If OpenGL 4.3 is not supported and neither
* @extension{KHR,debug} (covered also by @es_extension{ANDROID,extension_pack_es31a})
* nor @extension2{EXT,debug_label} desktop or ES extension is
* @extension{KHR,debug} (covered also by @extension{ANDROID,extension_pack_es31a})
* nor @extension{EXT,debug_label} desktop or ES extension is
* available, this function returns empty string.
* @see @fn_gl{GetObjectLabel} with @def_gl{PROGRAM} or
* @fn_gl_extension2{GetObjectLabel,EXT,debug_label} with
* @fn_gl_extension{GetObjectLabel,EXT,debug_label} with
* @def_gl{PROGRAM_OBJECT_EXT}
* @requires_gles Debug output is not available in WebGL.
*/
@ -753,11 +753,11 @@ class MAGNUM_EXPORT AbstractShaderProgram: public AbstractObject {
* @return Reference to self (for method chaining)
*
* Default is empty string. If OpenGL 4.3 is not supported and neither
* @extension{KHR,debug} (covered also by @es_extension{ANDROID,extension_pack_es31a})
* nor @extension2{EXT,debug_label} desktop or ES extension is
* @extension{KHR,debug} (covered also by @extension{ANDROID,extension_pack_es31a})
* nor @extension{EXT,debug_label} desktop or ES extension is
* available, this function does nothing.
* @see @ref maxLabelLength(), @fn_gl{ObjectLabel} with
* @def_gl{PROGRAM} or @fn_gl_extension2{LabelObject,EXT,debug_label}
* @def_gl{PROGRAM} or @fn_gl_extension{LabelObject,EXT,debug_label}
* with @def_gl{PROGRAM_OBJECT_EXT}
* @requires_gles Debug output is not available in WebGL.
*/
@ -843,7 +843,7 @@ class MAGNUM_EXPORT AbstractShaderProgram: public AbstractObject {
* Initially disabled.
* @see @fn_gl{ProgramParameter} with @def_gl{PROGRAM_SEPARABLE}
* @requires_gl41 Extension @extension{ARB,separate_shader_objects}
* @requires_es_extension Extension @es_extension{EXT,separate_shader_objects}
* @requires_es_extension Extension @extension{EXT,separate_shader_objects}
* @requires_gles Separate shader objects are not supported in WebGL.
*/
void setSeparable(bool enabled) {
@ -935,7 +935,7 @@ class MAGNUM_EXPORT AbstractShaderProgram: public AbstractObject {
* for more information.
* @requires_gl30 Extension @extension{EXT,gpu_shader4}
* @requires_gl Use explicit location specification in OpenGL ES 3.0 or
* WebGL 2.0 and `gl_FragData[n]` provided by @es_extension{NV,draw_buffers}
* WebGL 2.0 and `gl_FragData[n]` provided by @extension{NV,draw_buffers}
* in OpenGL ES 2.0 and @webgl_extension{WEBGL,draw_buffers} in
* WebGL 1.0.
*/
@ -1085,7 +1085,7 @@ class MAGNUM_EXPORT AbstractShaderProgram: public AbstractObject {
*
* If neither @extension{ARB,separate_shader_objects} (part of OpenGL
* 4.1) nor @extension{EXT,direct_state_access} desktop extension nor
* @es_extension{EXT,separate_shader_objects} OpenGL ES extension nor
* @extension{EXT,separate_shader_objects} OpenGL ES extension nor
* OpenGL ES 3.1 is available, the shader is marked for use before the
* operation.
* @see @ref setUniform(Int, const T&), @ref uniformLocation(),

14
src/Magnum/AbstractTexture.h

@ -115,7 +115,7 @@ and then set data using @ref Texture::setSubImage() "setSubImage()".
Function @ref Texture::setStorage() "setStorage()" creates immutable texture
storage, removing the need for additional consistency checks and memory
reallocations when updating the data later. If OpenGL 4.2, @extension{ARB,texture_storage},
OpenGL ES 3.0 or @es_extension{EXT,texture_storage} in OpenGL ES 2.0 is not
OpenGL ES 3.0 or @extension{EXT,texture_storage} in OpenGL ES 2.0 is not
available, the feature is emulated with sequence of @ref Texture::setImage() "setImage()"
calls.
@ -347,11 +347,11 @@ class MAGNUM_EXPORT AbstractTexture: public AbstractObject {
*
* The result is *not* cached, repeated queries will result in repeated
* OpenGL calls. If OpenGL 4.3 is not supported and neither
* @extension{KHR,debug} (covered also by @es_extension{ANDROID,extension_pack_es31a})
* nor @extension2{EXT,debug_label} desktop or ES extension is
* @extension{KHR,debug} (covered also by @extension{ANDROID,extension_pack_es31a})
* nor @extension{EXT,debug_label} desktop or ES extension is
* available, this function returns empty string.
* @see @fn_gl{GetObjectLabel} or
* @fn_gl_extension2{GetObjectLabel,EXT,debug_label} with
* @fn_gl_extension{GetObjectLabel,EXT,debug_label} with
* @def_gl{TEXTURE}
* @requires_gles Debug output is not available in WebGL.
*/
@ -362,11 +362,11 @@ class MAGNUM_EXPORT AbstractTexture: public AbstractObject {
* @return Reference to self (for method chaining)
*
* Default is empty string. If OpenGL 4.3 is not supported and neither
* @extension{KHR,debug} (covered also by @es_extension{ANDROID,extension_pack_es31a})
* nor @extension2{EXT,debug_label} desktop or ES extension is
* @extension{KHR,debug} (covered also by @extension{ANDROID,extension_pack_es31a})
* nor @extension{EXT,debug_label} desktop or ES extension is
* available, this function does nothing.
* @see @ref maxLabelLength(), @fn_gl{ObjectLabel} or
* @fn_gl_extension2{LabelObject,EXT,debug_label} with
* @fn_gl_extension{LabelObject,EXT,debug_label} with
* @def_gl{TEXTURE}
* @requires_gles Debug output is not available in WebGL.
*/

4
src/Magnum/Attribute.h

@ -166,7 +166,7 @@ template<UnsignedInt location, class T> class Attribute {
/**
* Half float. Only for float attribute types.
* @requires_gl30 Extension @extension{ARB,half_float_vertex}
* @requires_gles30 Extension @es_extension{OES,vertex_half_float}
* @requires_gles30 Extension @extension{OES,vertex_half_float}
* in OpenGL ES 2.0
* @requires_webgl20 Half float vertex attributes are not available
* in WebGL 1.0.
@ -204,7 +204,7 @@ template<UnsignedInt location, class T> class Attribute {
/**
* Unsigned 2.10.10.10 packed integer. Only for four-component
* float vector attribute type.
* @todo How about (incompatible) @es_extension{OES,vertex_type_10_10_10_2}?
* @todo How about (incompatible) @extension{OES,vertex_type_10_10_10_2}?
* @requires_gl33 Extension @extension{ARB,vertex_type_2_10_10_10_rev}
* @requires_gles30 Packed attributes are not available in OpenGL
* ES 2.0.

32
src/Magnum/Buffer.h

@ -497,8 +497,8 @@ class MAGNUM_EXPORT Buffer: public AbstractObject {
* @brief Memory mapping access
*
* @see @ref map(MapAccess), @ref mapSub()
* @requires_es_extension Extension @es_extension{OES,mapbuffer} or
* @es_extension{CHROMIUM,map_sub}
* @requires_es_extension Extension @extension{OES,mapbuffer} or
* @extension{CHROMIUM,map_sub}
* @requires_gles Buffer mapping is not available in WebGL.
* @deprecated_gl Prefer to use @ref map(GLintptr, GLsizeiptr, MapFlags)
* instead, as it has more complete set of features.
@ -533,7 +533,7 @@ class MAGNUM_EXPORT Buffer: public AbstractObject {
*
* @see @ref MapFlags, @ref map(GLintptr, GLsizeiptr, MapFlags)
* @requires_gl30 Extension @extension{ARB,map_buffer_range}
* @requires_gles30 Extension @es_extension{EXT,map_buffer_range} in
* @requires_gles30 Extension @extension{EXT,map_buffer_range} in
* OpenGL ES 2.0.
* @requires_gles Buffer mapping is not available in WebGL.
*/
@ -601,7 +601,7 @@ class MAGNUM_EXPORT Buffer: public AbstractObject {
*
* @see @ref map(GLintptr, GLsizeiptr, MapFlags)
* @requires_gl30 Extension @extension{ARB,map_buffer_range}
* @requires_gles30 Extension @es_extension{EXT,map_buffer_range} in
* @requires_gles30 Extension @extension{EXT,map_buffer_range} in
* OpenGL ES 2.0.
* @requires_gles Buffer mapping is not available in WebGL.
*/
@ -920,11 +920,11 @@ class MAGNUM_EXPORT Buffer: public AbstractObject {
*
* The result is *not* cached, repeated queries will result in repeated
* OpenGL calls. If OpenGL 4.3 is not supported and neither
* @extension{KHR,debug} (covered also by @es_extension{ANDROID,extension_pack_es31a})
* nor @extension2{EXT,debug_label} desktop or ES extension is
* @extension{KHR,debug} (covered also by @extension{ANDROID,extension_pack_es31a})
* nor @extension{EXT,debug_label} desktop or ES extension is
* available, this function returns empty string.
* @see @fn_gl{GetObjectLabel} with @def_gl{BUFFER} or
* @fn_gl_extension2{GetObjectLabel,EXT,debug_label} with
* @fn_gl_extension{GetObjectLabel,EXT,debug_label} with
* @def_gl{BUFFER_OBJECT_EXT}
* @requires_gles Debug output is not available in WebGL.
*/
@ -935,11 +935,11 @@ class MAGNUM_EXPORT Buffer: public AbstractObject {
* @return Reference to self (for method chaining)
*
* Default is empty string. If OpenGL 4.3 is not supported and neither
* @extension{KHR,debug} (covered also by @es_extension{ANDROID,extension_pack_es31a})
* nor @extension2{EXT,debug_label} desktop or ES extension is
* @extension{KHR,debug} (covered also by @extension{ANDROID,extension_pack_es31a})
* nor @extension{EXT,debug_label} desktop or ES extension is
* available, this function does nothing.
* @see @ref maxLabelLength(), @fn_gl{ObjectLabel} with @def_gl{BUFFER}
* or @fn_gl_extension2{LabelObject,EXT,debug_label} with
* or @fn_gl_extension{LabelObject,EXT,debug_label} with
* @def_gl{BUFFER_OBJECT_EXT}
* @requires_gles Debug output is not available in WebGL.
*/
@ -1188,7 +1188,7 @@ class MAGNUM_EXPORT Buffer: public AbstractObject {
* @fn_gl2{MapNamedBuffer,MapBuffer},
* @fn_gl_extension{MapNamedBuffer,EXT,direct_state_access},
* eventually @fn_gl{BindBuffer} and @fn_gl{MapBuffer}
* @requires_es_extension Extension @es_extension{OES,mapbuffer} in
* @requires_es_extension Extension @extension{OES,mapbuffer} in
* OpenGL ES 2.0, use @ref map(GLintptr, GLsizeiptr, MapFlags) in
* OpenGL ES 3.0 instead.
* @requires_gles Buffer mapping is not available in WebGL.
@ -1216,7 +1216,7 @@ class MAGNUM_EXPORT Buffer: public AbstractObject {
* @fn_gl_extension{MapBufferSubData,CHROMIUM,map_sub}
* @requires_gles20 Available only in NaCl build. Use
* @ref map(GLintptr, GLsizeiptr, MapFlags) elsewhere.
* @requires_es_extension Extension @es_extension{CHROMIUM,map_sub}
* @requires_es_extension Extension @extension{CHROMIUM,map_sub}
* @requires_gles Buffer mapping is not available in WebGL.
* @deprecated_gl Prefer to use @ref map(GLintptr, GLsizeiptr, MapFlags)
* instead, as it has more complete set of features.
@ -1247,7 +1247,7 @@ class MAGNUM_EXPORT Buffer: public AbstractObject {
* @fn_gl_extension{MapNamedBufferRange,EXT,direct_state_access},
* eventually @fn_gl{BindBuffer} and @fn_gl{MapBufferRange}
* @requires_gl30 Extension @extension{ARB,map_buffer_range}
* @requires_gles30 Extension @es_extension{EXT,map_buffer_range} in
* @requires_gles30 Extension @extension{EXT,map_buffer_range} in
* OpenGL ES 2.0.
* @requires_gles Buffer mapping is not available in WebGL.
*/
@ -1276,7 +1276,7 @@ class MAGNUM_EXPORT Buffer: public AbstractObject {
* @fn_gl_extension{FlushMappedNamedBufferRange,EXT,direct_state_access},
* eventually @fn_gl{BindBuffer} and @fn_gl{FlushMappedBufferRange}
* @requires_gl30 Extension @extension{ARB,map_buffer_range}
* @requires_gles30 Extension @es_extension{EXT,map_buffer_range} in
* @requires_gles30 Extension @extension{EXT,map_buffer_range} in
* OpenGL ES 2.0.
* @requires_gles Buffer mapping is not available in WebGL.
*/
@ -1297,7 +1297,7 @@ class MAGNUM_EXPORT Buffer: public AbstractObject {
* @see @ref setTargetHint(), @fn_gl2{UnmapNamedBuffer,UnmapBuffer},
* @fn_gl_extension{UnmapNamedBuffer,EXT,direct_state_access},
* eventually @fn_gl{BindBuffer} and @fn_gl{UnmapBuffer}
* @requires_gles30 Extension @es_extension{OES,mapbuffer} in OpenGL
* @requires_gles30 Extension @extension{OES,mapbuffer} in OpenGL
* ES 2.0.
* @requires_gles Buffer mapping is not available in WebGL.
*/
@ -1312,7 +1312,7 @@ class MAGNUM_EXPORT Buffer: public AbstractObject {
* @see @fn_gl_extension{UnmapBufferSubData,CHROMIUM,map_sub}
* @requires_gles20 Available only in NaCl build. Use
* @ref map(GLintptr, GLsizeiptr, MapFlags) elsewhere.
* @requires_es_extension Extension @es_extension{CHROMIUM,map_sub}
* @requires_es_extension Extension @extension{CHROMIUM,map_sub}
* @requires_gles Buffer mapping is not available in WebGL.
*/
void unmapSub();

4
src/Magnum/BufferTexture.h

@ -83,8 +83,8 @@ and respective function documentation for more information.
@ref CubeMapTextureArray, @ref RectangleTexture, @ref MultisampleTexture
@requires_gl31 Extension @extension{ARB,texture_buffer_object}
@requires_gles30 Not defined in OpenGL ES 2.0.
@requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
@es_extension{EXT,texture_buffer}
@requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
@extension{EXT,texture_buffer}
@requires_gles Texture buffers are not available in WebGL.
*/
class MAGNUM_EXPORT BufferTexture: public AbstractTexture {

4
src/Magnum/BufferTextureFormat.h

@ -42,8 +42,8 @@ namespace Magnum {
@see @ref BufferTexture
@requires_gl31 Extension @extension{ARB,texture_buffer_object}
@requires_gles30 Not defined in OpenGL ES 2.0.
@requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
@es_extension{EXT,texture_buffer}
@requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
@extension{EXT,texture_buffer}
@requires_gles Texture buffers are not available in WebGL.
*/
enum class BufferTextureFormat: GLenum {

8
src/Magnum/Context.h

@ -127,8 +127,8 @@ class MAGNUM_EXPORT Context {
/**
* Debug context
* @requires_gl43 Extension @extension{KHR,debug}
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,debug,debug}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,debug,debug}
*/
#ifndef MAGNUM_TARGET_GLES
Debug = GL_CONTEXT_FLAG_DEBUG_BIT,
@ -139,7 +139,7 @@ class MAGNUM_EXPORT Context {
/**
* Context without error reporting
* @requires_extension Extension @extension{KHR,no_error}
* @requires_es_extension Extension @es_extension2{KHR,no_error,no_error}
* @requires_es_extension Extension @extension2{KHR,no_error,no_error}
*/
NoError = GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR,
@ -147,7 +147,7 @@ class MAGNUM_EXPORT Context {
/**
* Context with robust access
* @requires_extension Extension @extension{ARB,robustness}
* @requires_es_extension Extension @es_extension{EXT,robustness}
* @requires_es_extension Extension @extension{EXT,robustness}
* @todo In ES available under glGetIntegerv(CONTEXT_ROBUST_ACCESS_EXT),
* how to make it compatible?
*/

30
src/Magnum/CubeMapTexture.h

@ -251,7 +251,7 @@ class MAGNUM_EXPORT CubeMapTexture: public AbstractTexture {
* @return Reference to self (for method chaining)
*
* See @ref Texture::setMaxLevel() for more information.
* @requires_gles30 Extension @es_extension{APPLE,texture_max_level},
* @requires_gles30 Extension @extension{APPLE,texture_max_level},
* otherwise the max level is always set to largest possible value
* in OpenGL ES 2.0.
* @requires_webgl20 Always set to largest possible value in WebGL 1.0.
@ -349,9 +349,9 @@ class MAGNUM_EXPORT CubeMapTexture: public AbstractTexture {
*
* See @ref Texture::setBorderColor(const Color4&) for more
* information.
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension{EXT,texture_border_clamp} or
* @es_extension{NV,texture_border_clamp}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension{EXT,texture_border_clamp} or
* @extension{NV,texture_border_clamp}
* @requires_gles Border clamp is not available in WebGL.
*/
CubeMapTexture& setBorderColor(const Color4& color) {
@ -369,8 +369,8 @@ class MAGNUM_EXPORT CubeMapTexture: public AbstractTexture {
* @requires_gl30 Extension @extension{EXT,texture_integer}
* @requires_gles30 Not defined in OpenGL ES 2.0.
* @requires_es_extension Extension
* @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension{EXT,texture_border_clamp}
* @extension{ANDROID,extension_pack_es31a}/
* @extension{EXT,texture_border_clamp}
* @requires_gles Border clamp is not available in WebGL.
*/
CubeMapTexture& setBorderColor(const Vector4ui& color) {
@ -382,8 +382,8 @@ class MAGNUM_EXPORT CubeMapTexture: public AbstractTexture {
* @requires_gl30 Extension @extension{EXT,texture_integer}
* @requires_gles30 Not defined in OpenGL ES 2.0.
* @requires_es_extension Extension
* @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension{EXT,texture_border_clamp}
* @extension{ANDROID,extension_pack_es31a}/
* @extension{EXT,texture_border_clamp}
* @requires_gles Border clamp is not available in WebGL.
*/
CubeMapTexture& setBorderColor(const Vector4i& color) {
@ -412,9 +412,9 @@ class MAGNUM_EXPORT CubeMapTexture: public AbstractTexture {
* See @ref Texture::setSRGBDecode() for more information.
* @requires_extension Extension @extension{EXT,texture_sRGB_decode}
* @requires_es_extension OpenGL ES 3.0 or extension
* @es_extension{EXT,sRGB} and
* @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{EXT,texture_sRGB_decode,texture_sRGB_decode}
* @extension{EXT,sRGB} and
* @extension{ANDROID,extension_pack_es31a}/
* @extension2{EXT,texture_sRGB_decode,texture_sRGB_decode}
* @requires_gles SRGB decode is not available in WebGL.
*/
CubeMapTexture& setSRGBDecode(bool decode) {
@ -445,8 +445,8 @@ class MAGNUM_EXPORT CubeMapTexture: public AbstractTexture {
* @return Reference to self (for method chaining)
*
* See @ref Texture::setCompareMode() for more information.
* @requires_gles30 Extension @es_extension{EXT,shadow_samplers} and
* @es_extension{NV,shadow_samplers_cube} in OpenGL ES 2.0.
* @requires_gles30 Extension @extension{EXT,shadow_samplers} and
* @extension{NV,shadow_samplers_cube} in OpenGL ES 2.0.
* @requires_webgl20 Depth texture comparison is not available in WebGL
* 1.0.
*/
@ -460,8 +460,8 @@ class MAGNUM_EXPORT CubeMapTexture: public AbstractTexture {
* @return Reference to self (for method chaining)
*
* See @ref Texture::setCompareFunction() for more information.
* @requires_gles30 Extension @es_extension{EXT,shadow_samplers} and
* @es_extension{NV,shadow_samplers_cube} in OpenGL ES 2.0.
* @requires_gles30 Extension @extension{EXT,shadow_samplers} and
* @extension{NV,shadow_samplers_cube} in OpenGL ES 2.0.
* @requires_webgl20 Depth texture comparison is not available in WebGL
* 1.0.
*/

22
src/Magnum/CubeMapTextureArray.h

@ -81,8 +81,8 @@ the six sides of the cube map, fourth part is layer in the array. See
@ref MultisampleTexture
@requires_gl40 Extension @extension{ARB,texture_cube_map_array}
@requires_gles30 Not defined in OpenGL ES 2.0.
@requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
@es_extension{EXT,texture_cube_map_array}
@requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
@extension{EXT,texture_cube_map_array}
@requires_gles Cube map texture arrays are not available in WebGL.
*/
class MAGNUM_EXPORT CubeMapTextureArray: public AbstractTexture {
@ -321,9 +321,9 @@ class MAGNUM_EXPORT CubeMapTextureArray: public AbstractTexture {
*
* See @ref Texture::setBorderColor(const Color4&) for more
* information.
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension{EXT,texture_border_clamp} or
* @es_extension{NV,texture_border_clamp}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension{EXT,texture_border_clamp} or
* @extension{NV,texture_border_clamp}
*/
CubeMapTextureArray& setBorderColor(const Color4& color) {
AbstractTexture::setBorderColor(color);
@ -337,8 +337,8 @@ class MAGNUM_EXPORT CubeMapTextureArray: public AbstractTexture {
* See @ref Texture::setBorderColor(const Vector4ui&) for more
* information.
* @requires_gl30 Extension @extension{EXT,texture_integer}
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension{EXT,texture_border_clamp}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension{EXT,texture_border_clamp}
*/
CubeMapTextureArray& setBorderColor(const Vector4ui& color) {
AbstractTexture::setBorderColor(color);
@ -347,8 +347,8 @@ class MAGNUM_EXPORT CubeMapTextureArray: public AbstractTexture {
/** @overload
* @requires_gl30 Extension @extension{EXT,texture_integer}
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension{EXT,texture_border_clamp}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension{EXT,texture_border_clamp}
*/
CubeMapTextureArray& setBorderColor(const Vector4i& color) {
AbstractTexture::setBorderColor(color);
@ -372,8 +372,8 @@ class MAGNUM_EXPORT CubeMapTextureArray: public AbstractTexture {
*
* See @ref Texture::setSRGBDecode() for more information.
* @requires_extension Extension @extension{EXT,texture_sRGB_decode}
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{EXT,texture_sRGB_decode,texture_sRGB_decode}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{EXT,texture_sRGB_decode,texture_sRGB_decode}
*/
CubeMapTextureArray& setSRGBDecode(bool decode) {
AbstractTexture::setSRGBDecode(decode);

52
src/Magnum/DebugOutput.h

@ -59,8 +59,8 @@ stream in various graphics debuggers, such as Apitrace or gDEBugger.
## Basic usage
Support for debug output is provided by OpenGL 4.3 or @extension{KHR,debug}
(desktop/ES extension, covered also by @es_extension{ANDROID,extension_pack_es31a}).
Subset of the functionality is provided also by @extension2{EXT,debug_marker}
(desktop/ES extension, covered also by @extension{ANDROID,extension_pack_es31a}).
Subset of the functionality is provided also by @extension{EXT,debug_marker}
(desktop/ES extensions) or @extension{GREMEDY,string_marker} (desktop only
extension).
@ -108,12 +108,12 @@ possibly also other messages) will be printed on standard output:
> ...\n
> Debug output: application debug group leave (42): Scene rendering
If only @extension2{EXT,debug_marker} or @extension{GREMEDY,string_marker} are
If only @extension{EXT,debug_marker} or @extension{GREMEDY,string_marker} are
supported, only user-inserted messages and debug groups are supported and they
can be seen only through graphics debugger.
If OpenGL 4.3 is not supported and neither @extension{KHR,debug} nor
@extension2{EXT,debug_marker} nor @extension{GREMEDY,string_marker} are
@extension{EXT,debug_marker} nor @extension{GREMEDY,string_marker} are
available, all the functions are essentially a no-op.
Besides inserting messages into GL command stream you can also annotate OpenGL
@ -301,7 +301,7 @@ class MAGNUM_EXPORT DebugOutput {
*
* The result is cached, repeated queries don't result in repeated
* OpenGL calls. If OpenGL 4.3 is not supported and @extension{KHR,debug}
* desktop or ES extension (covered also by @es_extension{ANDROID,extension_pack_es31a})
* desktop or ES extension (covered also by @extension{ANDROID,extension_pack_es31a})
* is not available, returns `0`.
* @see @fn_gl{Get} with @def_gl{MAX_DEBUG_LOGGED_MESSAGES}
*/
@ -312,7 +312,7 @@ class MAGNUM_EXPORT DebugOutput {
*
* The result is cached, repeated queries don't result in repeated
* OpenGL calls. If OpenGL 4.3 is not supported and @extension{KHR,debug}
* desktop or ES extension (covered also by @es_extension{ANDROID,extension_pack_es31a})
* desktop or ES extension (covered also by @extension{ANDROID,extension_pack_es31a})
* is not available, returns `0`.
* @see @fn_gl{Get} with @def_gl{MAX_DEBUG_MESSAGE_LENGTH}
*/
@ -328,7 +328,7 @@ class MAGNUM_EXPORT DebugOutput {
* for more information.
*
* If OpenGL 4.3 is not supported and @extension{KHR,debug} desktop or
* ES extension (covered also by @es_extension{ANDROID,extension_pack_es31a})
* ES extension (covered also by @extension{ANDROID,extension_pack_es31a})
* is not available, this function does nothing.
* @see @ref Renderer::Feature::DebugOutput, @fn_gl{DebugMessageControl}
*/
@ -382,7 +382,7 @@ class MAGNUM_EXPORT DebugOutput {
* The messages are sent to the callback only if
* @ref Renderer::Feature::DebugOutput is enabled. If OpenGL 4.3 is not
* supported and @extension{KHR,debug} desktop or ES extension (covered
* also by @es_extension{ANDROID,extension_pack_es31a}) is not
* also by @extension{ANDROID,extension_pack_es31a}) is not
* available, this function does nothing.
* @see @ref setDefaultCallback(),
* @ref Renderer::Feature::DebugOutputSynchronous,
@ -438,7 +438,7 @@ gDEBugger.
See @ref DebugOutput for introduction.
If OpenGL 4.3 is supported or @extension{KHR,debug} desktop or ES extension
(covered also by @es_extension{ANDROID,extension_pack_es31a}) is available and
(covered also by @extension{ANDROID,extension_pack_es31a}) is available and
default debug output callback is enabled for given kind of messages, the
inserted message will be printed on standard output in the following form:
@ -449,11 +449,11 @@ DebugMessage::insert(DebugMessage::Source::Application, DebugMessage::Type::Mark
> Debug output: application marker (1337): Hello from OpenGL command stream!
If only @extension2{EXT,debug_marker} or @extension{GREMEDY,string_marker} are
If only @extension{EXT,debug_marker} or @extension{GREMEDY,string_marker} are
available, the message can be seen only through graphics debugger.
If OpenGL 4.3 is not supported and neither @extension{KHR,debug} nor
@extension2{EXT,debug_marker} nor @extension{GREMEDY,string_marker} are
@extension{EXT,debug_marker} nor @extension{GREMEDY,string_marker} are
available, the function is essentially a no-op.
## Performance notes
@ -656,16 +656,16 @@ class MAGNUM_EXPORT DebugMessage {
* @param string The actual message
*
* If OpenGL 4.3 is not supported and neither @extension{KHR,debug}
* (covered also by @es_extension{ANDROID,extension_pack_es31a}) nor
* @extension2{EXT,debug_marker} (desktop or ES extensions) nor
* (covered also by @extension{ANDROID,extension_pack_es31a}) nor
* @extension{EXT,debug_marker} (desktop or ES extensions) nor
* @extension{GREMEDY,string_marker} (desktop only extension) are
* available, this function does nothing.
*
* If @extension{KHR,debug} is not available and only @extension2{EXT,debug_marker}
* If @extension{KHR,debug} is not available and only @extension{EXT,debug_marker}
* or @extension{GREMEDY,string_marker} are available, only @p string
* is used and all other parameters are ignored.
* @see @ref DebugOutput::maxMessageLength(), @fn_gl{DebugMessageInsert},
* @fn_gl_extension2{InsertEventMarker,EXT,debug_marker} or
* @fn_gl_extension{InsertEventMarker,EXT,debug_marker} or
* @fn_gl_extension{StringMarker,GREMEDY,string_marker}
*/
static void insert(Source source, Type type, UnsignedInt id, DebugOutput::Severity severity, const std::string& string) {
@ -736,7 +736,7 @@ group.pop();
@endcode
If OpenGL 4.3 is supported or @extension{KHR,debug} desktop or ES extension
(covered also by @es_extension{ANDROID,extension_pack_es31a}) is available and
(covered also by @extension{ANDROID,extension_pack_es31a}) is available and
the default debug output callback is enabled for these kinds of messages, the
group entering and leaving will be printed on standard output in the following
form:
@ -744,11 +744,11 @@ form:
> Debug output: application debug group enter (42): Scene rendering\n
> Debug output: application debug group leave (42): Scene rendering
If only @extension2{EXT,debug_marker} is available, the group can be seen only
If only @extension{EXT,debug_marker} is available, the group can be seen only
through graphics debugger.
If OpenGL 4.3 is not supported and neither @extension{KHR,debug} nor
@extension2{EXT,debug_marker} are available, the functions are essentially a
@extension{EXT,debug_marker} are available, the functions are essentially a
no-op.
@attention To avoid accidental debug group stack overflow/underflow, you cannot
@ -807,7 +807,7 @@ class MAGNUM_EXPORT DebugGroup {
*
* The result is cached, repeated queries don't result in repeated
* OpenGL calls. If OpenGL 4.3 is not supported and @extension{KHR,debug}
* desktop or ES extension (covered also by @es_extension{ANDROID,extension_pack_es31a})
* desktop or ES extension (covered also by @extension{ANDROID,extension_pack_es31a})
* is not available, returns `0`.
* @see @fn_gl{Get} with @def_gl{MAX_DEBUG_GROUP_STACK_DEPTH}
*/
@ -851,14 +851,14 @@ class MAGNUM_EXPORT DebugGroup {
* @ref DebugOutput::Severity::Notification.
*
* If OpenGL 4.3 is not supported and neither @extension{KHR,debug}
* (covered also by @es_extension{ANDROID,extension_pack_es31a}) nor
* @extension2{EXT,debug_marker} is available, this function does
* (covered also by @extension{ANDROID,extension_pack_es31a}) nor
* @extension{EXT,debug_marker} is available, this function does
* nothing. If @extension{KHR,debug} is not available and only
* @extension2{EXT,debug_marker} is available, only @p message is used
* @extension{EXT,debug_marker} is available, only @p message is used
* and all other parameters are ignored.
* @see @ref pop(), @ref maxStackDepth(), @ref DebugOutput::maxMessageLength(),
* @ref Renderer::Error::StackOverflow, @fn_gl{PushDebugGroup} or
* @fn_gl_extension2{PushGroupMarker,EXT,debug_marker}
* @fn_gl_extension{PushGroupMarker,EXT,debug_marker}
*/
void push(Source source, UnsignedInt id, const std::string& message) {
pushInternal(source, id, {message.data(), message.size()});
@ -880,12 +880,12 @@ class MAGNUM_EXPORT DebugGroup {
* @ref DebugOutput::Severity::Notification.
*
* If OpenGL 4.3 is not supported and neither @extension{KHR,debug}
* (covered also by @es_extension{ANDROID,extension_pack_es31a}) nor
* @extension2{EXT,debug_marker} is available, this function does
* (covered also by @extension{ANDROID,extension_pack_es31a}) nor
* @extension{EXT,debug_marker} is available, this function does
* nothing.
* @see @ref push(), @ref Renderer::Error::StackUnderflow,
* @fn_gl{PopDebugGroup} or
* @fn_gl_extension2{PopGroupMarker,EXT,debug_marker}
* @fn_gl_extension{PopGroupMarker,EXT,debug_marker}
*/
void pop();

4
src/Magnum/DebugTools/BufferData.h

@ -48,7 +48,7 @@ namespace Implementation {
Emulates @ref Buffer::subData() call on platforms that don't support it (such
as OpenGL ES) by using @ref Buffer::map().
@requires_gles30 Extension @es_extension{EXT,map_buffer_range} in OpenGL ES
@requires_gles30 Extension @extension{EXT,map_buffer_range} in OpenGL ES
2.0.
@requires_gles Buffer mapping is not available in WebGL.
*/
@ -63,7 +63,7 @@ template<class T> Containers::Array<T> inline bufferSubData(Buffer& buffer, GLin
Emulates @ref Buffer::data() call on platforms that don't support it (such as
OpenGL ES) by using @ref Buffer::map().
@requires_gles30 Extension @es_extension{EXT,map_buffer_range} in OpenGL ES
@requires_gles30 Extension @extension{EXT,map_buffer_range} in OpenGL ES
2.0.
@requires_gles Buffer mapping is not available in WebGL.
*/

24
src/Magnum/DefaultFramebuffer.h

@ -96,7 +96,7 @@ class MAGNUM_EXPORT DefaultFramebuffer: public AbstractFramebuffer {
#ifndef MAGNUM_TARGET_WEBGL
/**
* The default framebuffer does not exist.
* @requires_gles30 Extension @es_extension{OES,surfaceless_context}
* @requires_gles30 Extension @extension{OES,surfaceless_context}
* in OpenGL ES 2.0.
* @requires_gles Surfaceless context is not available in WebGL.
*/
@ -112,7 +112,7 @@ class MAGNUM_EXPORT DefaultFramebuffer: public AbstractFramebuffer {
* @brief Draw attachment
*
* @see @ref mapForDraw()
* @requires_gles30 Extension @es_extension{EXT,draw_buffers} in OpenGL
* @requires_gles30 Extension @extension{EXT,draw_buffers} in OpenGL
* ES 2.0.
* @requires_webgl20 Extension @webgl_extension{WEBGL,draw_buffers} in
* WebGL 1.0.
@ -168,7 +168,7 @@ class MAGNUM_EXPORT DefaultFramebuffer: public AbstractFramebuffer {
* @brief Read attachment
*
* @see @ref mapForRead()
* @requires_gles30 Extension @es_extension2{NV,read_buffer,GL_NV_read_buffer}
* @requires_gles30 Extension @extension2{NV,read_buffer,GL_NV_read_buffer}
* in OpenGL ES 2.0.
* @requires_webgl20 Framebuffer read mapping is not available in WebGL
* 1.0.
@ -226,7 +226,7 @@ class MAGNUM_EXPORT DefaultFramebuffer: public AbstractFramebuffer {
/**
* Read from front buffer.
* @requires_es_extension Extension @es_extension2{NV,read_buffer_front,GL_NV_read_buffer}
* @requires_es_extension Extension @extension2{NV,read_buffer_front,GL_NV_read_buffer}
* @requires_gles Reading from front buffer is not available in
* WebGL.
*/
@ -250,7 +250,7 @@ class MAGNUM_EXPORT DefaultFramebuffer: public AbstractFramebuffer {
*
* @see @ref invalidate()
* @requires_gl43 Extension @extension{ARB,invalidate_subdata}
* @requires_gles30 Extension @es_extension{EXT,discard_framebuffer} in
* @requires_gles30 Extension @extension{EXT,discard_framebuffer} in
* OpenGL ES 2.0.
* @requires_webgl20 Framebuffer invalidation is not available in WebGL
* 1.0.
@ -333,8 +333,8 @@ class MAGNUM_EXPORT DefaultFramebuffer: public AbstractFramebuffer {
* already).
*
* The @p target parameter is ignored on OpenGL ES 2.0 if none of
* @es_extension{APPLE,framebuffer_multisample}, @es_extension{ANGLE,framebuffer_blit}
* or @es_extension{NV,framebuffer_blit} is available and also on WebGL
* @extension{APPLE,framebuffer_multisample}, @extension{ANGLE,framebuffer_blit}
* or @extension{NV,framebuffer_blit} is available and also on WebGL
* 1.0.
* @see @fn_gl2{CheckNamedFramebufferStatus,CheckFramebufferStatus},
* @fn_gl_extension{CheckNamedFramebufferStatus,EXT,direct_state_access},
@ -364,7 +364,7 @@ class MAGNUM_EXPORT DefaultFramebuffer: public AbstractFramebuffer {
* @ref mapForRead(), @fn_gl2{NamedFramebufferDrawBuffers,DrawBuffers},
* @fn_gl_extension{FramebufferDrawBuffers,EXT,direct_state_access},
* eventually @fn_gl{BindFramebuffer} and @fn_gl{DrawBuffers}
* @requires_gles30 Extension @es_extension{EXT,draw_buffers} in OpenGL
* @requires_gles30 Extension @extension{EXT,draw_buffers} in OpenGL
* ES 2.0.
* @requires_webgl20 Extension @webgl_extension{WEBGL,draw_buffers} in
* WebGL 1.0.
@ -387,7 +387,7 @@ class MAGNUM_EXPORT DefaultFramebuffer: public AbstractFramebuffer {
* @fn_gl_extension{FramebufferDrawBuffer,EXT,direct_state_access},
* eventually @fn_gl{BindFramebuffer} and @fn_gl{DrawBuffer} or
* @fn_gl{DrawBuffers} in OpenGL ES 3.0
* @requires_gles30 Extension @es_extension{EXT,draw_buffers} in OpenGL
* @requires_gles30 Extension @extension{EXT,draw_buffers} in OpenGL
* ES 2.0.
* @requires_webgl20 Extension @webgl_extension{WEBGL,draw_buffers} in
* WebGL 1.0.
@ -407,7 +407,7 @@ class MAGNUM_EXPORT DefaultFramebuffer: public AbstractFramebuffer {
* @see @ref mapForDraw(), @fn_gl2{NamedFramebufferReadBuffer,ReadBuffer},
* @fn_gl_extension{FramebufferReadBuffer,EXT,direct_state_access},
* eventually @fn_gl{BindFramebuffer} and @fn_gl{ReadBuffer}
* @requires_gles30 Extension @es_extension2{NV,read_buffer,GL_NV_read_buffer}
* @requires_gles30 Extension @extension2{NV,read_buffer,GL_NV_read_buffer}
* in OpenGL ES 2.0.
* @requires_webgl20 Framebuffer read mapping is not available in WebGL
* 1.0.
@ -419,14 +419,14 @@ class MAGNUM_EXPORT DefaultFramebuffer: public AbstractFramebuffer {
* @param attachments Attachments to invalidate
*
* If extension @extension{ARB,invalidate_subdata} (part of OpenGL
* 4.3), extension @es_extension{EXT,discard_framebuffer} in OpenGL ES
* 4.3), extension @extension{EXT,discard_framebuffer} in OpenGL ES
* 2.0 or OpenGL ES 3.0 is not available, this function does nothing.
* If @extension{ARB,direct_state_access} (part of OpenGL 4.5) is not
* available, the framebuffer is bound before the operation (if not
* already).
* @see @fn_gl2{InvalidateNamedFramebufferData,InvalidateFramebuffer},
* eventually @fn_gl{InvalidateFramebuffer} or
* @fn_gles_extension{DiscardFramebuffer,EXT,discard_framebuffer}
* @fn_gl_extension{DiscardFramebuffer,EXT,discard_framebuffer}
* on OpenGL ES 2.0
* @requires_webgl20 Framebuffer invalidation is not available in WebGL
* 1.0.

100
src/Magnum/Framebuffer.h

@ -115,9 +115,9 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
* @see @ref mapForDraw(), @ref attachRenderbuffer(),
* @ref attachTexture(), @ref attachCubeMapTexture(),
* @ref attachTextureLayer()
* @requires_gles30 Extension @es_extension{EXT,draw_buffers} or
* @es_extension{NV,draw_buffers} for @ref mapForDraw() and
* extension @es_extension{NV,fbo_color_attachments} for `attach*()`
* @requires_gles30 Extension @extension{EXT,draw_buffers} or
* @extension{NV,draw_buffers} for @ref mapForDraw() and
* extension @extension{NV,fbo_color_attachments} for `attach*()`
* in OpenGL ES 2.0.
* @requires_webgl20 Extension @webgl_extension{WEBGL,draw_buffers} in
* WebGL 1.0.
@ -144,8 +144,8 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
* @brief Draw attachment
*
* @see @ref mapForDraw()
* @requires_gles30 Extension @es_extension{EXT,draw_buffers} or
* @es_extension{NV,draw_buffers} in OpenGL ES 2.0.
* @requires_gles30 Extension @extension{EXT,draw_buffers} or
* @extension{NV,draw_buffers} in OpenGL ES 2.0.
* @requires_webgl20 Extension @webgl_extension{WEBGL,draw_buffers} in
* WebGL 1.0.
*/
@ -172,8 +172,8 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
*
* @see @ref attachRenderbuffer(), @ref attachTexture(),
* @ref attachCubeMapTexture(), @ref attachTextureLayer()
* @requires_gles30 Extension @es_extension{EXT,draw_buffers} or
* @es_extension{NV,fbo_color_attachments} in OpenGL ES 2.0.
* @requires_gles30 Extension @extension{EXT,draw_buffers} or
* @extension{NV,fbo_color_attachments} in OpenGL ES 2.0.
* @requires_webgl20 Extension @webgl_extension{WEBGL,draw_buffers} in
* WebGL 1.0.
*/
@ -217,7 +217,7 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
*
* @see @ref invalidate()
* @requires_gl43 Extension @extension{ARB,invalidate_subdata}
* @requires_gles30 Extension @es_extension{EXT,discard_framebuffer} in
* @requires_gles30 Extension @extension{EXT,discard_framebuffer} in
* OpenGL ES 2.0.
* @requires_webgl20 Framebuffer invalidation is not available in WebGL
* 1.0.
@ -283,10 +283,10 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
/**
* Sample count or locations are not the same for all attached
* images.
* @requires_gles30 Extension @es_extension{ANGLE,framebuffer_multisample},
* @es_extension{APPLE,framebuffer_multisample},
* @es_extension{EXT,multisampled_render_to_texture} or
* @es_extension{NV,framebuffer_multisample} in OpenGL ES 2.0.
* @requires_gles30 Extension @extension{ANGLE,framebuffer_multisample},
* @extension{APPLE,framebuffer_multisample},
* @extension{EXT,multisampled_render_to_texture} or
* @extension{NV,framebuffer_multisample} in OpenGL ES 2.0.
* @requires_webgl20 Multisample framebuffers are not available in
* WebGL 1.0.
*/
@ -312,8 +312,8 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
* @brief Max supported color attachment count
*
* The result is cached, repeated queries don't result in repeated
* OpenGL calls. If neither @es_extension{EXT,draw_buffers} nor
* @es_extension{NV,fbo_color_attachments} extension is available in
* OpenGL calls. If neither @extension{EXT,draw_buffers} nor
* @extension{NV,fbo_color_attachments} extension is available in
* OpenGL ES 2.0 and @webgl_extension{WEBGL,draw_buffers} is not
* available in WebGL 1.0, returns `0`.
* @see @ref mapForDraw(), @fn_gl{Get} with @def_gl{MAX_COLOR_ATTACHMENTS}
@ -402,11 +402,11 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
*
* The result is *not* cached, repeated queries will result in repeated
* OpenGL calls. If OpenGL 4.3 is not supported and neither
* @extension{KHR,debug} (covered also by @es_extension{ANDROID,extension_pack_es31a})
* nor @extension2{EXT,debug_label} desktop or ES extension is
* @extension{KHR,debug} (covered also by @extension{ANDROID,extension_pack_es31a})
* nor @extension{EXT,debug_label} desktop or ES extension is
* available, this function returns empty string.
* @see @fn_gl{GetObjectLabel} or
* @fn_gl_extension2{GetObjectLabel,EXT,debug_label} with
* @fn_gl_extension{GetObjectLabel,EXT,debug_label} with
* @def_gl{FRAMEBUFFER}
* @requires_gles Debug output is not available in WebGL.
*/
@ -417,11 +417,11 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
* @return Reference to self (for method chaining)
*
* Default is empty string. If OpenGL 4.3 is not supported and neither
* @extension{KHR,debug} (covered also by @es_extension{ANDROID,extension_pack_es31a})
* nor @extension2{EXT,debug_label} desktop or ES extension is
* @extension{KHR,debug} (covered also by @extension{ANDROID,extension_pack_es31a})
* nor @extension{EXT,debug_label} desktop or ES extension is
* available, this function does nothing.
* @see @ref maxLabelLength(), @fn_gl{ObjectLabel} or
* @fn_gl_extension2{LabelObject,EXT,debug_label} with
* @fn_gl_extension{LabelObject,EXT,debug_label} with
* @def_gl{FRAMEBUFFER}
* @requires_gles Debug output is not available in WebGL.
*/
@ -445,8 +445,8 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
* already).
*
* The @p target parameter is ignored on OpenGL ES 2.0 if none of
* @es_extension{APPLE,framebuffer_multisample}, @es_extension{ANGLE,framebuffer_blit}
* or @es_extension{NV,framebuffer_blit} is available and also on WebGL
* @extension{APPLE,framebuffer_multisample}, @extension{ANGLE,framebuffer_blit}
* or @extension{NV,framebuffer_blit} is available and also on WebGL
* 1.0.
* @see @fn_gl2{CheckNamedFramebufferStatus,CheckFramebufferStatus},
* @fn_gl_extension{CheckNamedFramebufferStatus,EXT,direct_state_access},
@ -476,8 +476,8 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
* @fn_gl2{NamedFramebufferDrawBuffers,DrawBuffers},
* @fn_gl_extension{FramebufferDrawBuffers,EXT,direct_state_access},
* eventually @fn_gl{BindFramebuffer} and @fn_gl{DrawBuffers}
* @requires_gles30 Extension @es_extension{EXT,draw_buffers} or
* @es_extension{NV,draw_buffers} in OpenGL ES 2.0.
* @requires_gles30 Extension @extension{EXT,draw_buffers} or
* @extension{NV,draw_buffers} in OpenGL ES 2.0.
* @requires_webgl20 Extension @webgl_extension{WEBGL,draw_buffers} in
* WebGL 1.0.
*/
@ -500,8 +500,8 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
* @fn_gl_extension{FramebufferDrawBuffer,EXT,direct_state_access},
* eventually @fn_gl{BindFramebuffer} and @fn_gl{DrawBuffer} (or
* @fn_gl{DrawBuffers} in OpenGL ES)
* @requires_gles30 Extension @es_extension{EXT,draw_buffers} or
* @es_extension{NV,draw_buffers} in OpenGL ES 2.0.
* @requires_gles30 Extension @extension{EXT,draw_buffers} or
* @extension{NV,draw_buffers} in OpenGL ES 2.0.
* @requires_webgl20 Extension @webgl_extension{WEBGL,draw_buffers} in
* WebGL 1.0.
*/
@ -520,7 +520,7 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
* @see @ref mapForDraw(), @fn_gl2{NamedFramebufferReadBuffer,ReadBuffer},
* @fn_gl_extension{FramebufferReadBuffer,EXT,direct_state_access},
* eventually @fn_gl{BindFramebuffer} and @fn_gl{ReadBuffer}
* @requires_gles30 Extension @es_extension2{NV,read_buffer,GL_NV_read_buffer}
* @requires_gles30 Extension @extension2{NV,read_buffer,GL_NV_read_buffer}
* in OpenGL ES 2.0.
* @requires_webgl20 Framebuffer read mapping is not available in WebGL
* 1.0.
@ -532,14 +532,14 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
* @param attachments Attachments to invalidate
*
* If extension @extension{ARB,invalidate_subdata} (part of OpenGL
* 4.3), extension @es_extension{EXT,discard_framebuffer} in OpenGL ES
* 4.3), extension @extension{EXT,discard_framebuffer} in OpenGL ES
* 2.0 or OpenGL ES 3.0 is not available, this function does nothing.
* If @extension{ARB,direct_state_access} (part of OpenGL 4.5) is not
* available, the framebuffer is bound before the operation (if not
* already).
* @see @fn_gl2{InvalidateNamedFramebufferData,InvalidateFramebuffer},
* eventually @fn_gl{InvalidateFramebuffer} or
* @fn_gles_extension{DiscardFramebuffer,EXT,discard_framebuffer}
* @fn_gl_extension{DiscardFramebuffer,EXT,discard_framebuffer}
* on OpenGL ES 2.0
* @requires_webgl20 Framebuffer invalidation is not available in WebGL
* 1.0.
@ -624,7 +624,7 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
* @fn_gl_extension{NamedFramebufferTexture2D,EXT,direct_state_access},
* eventually @fn_gl{BindFramebuffer} and
* @fn_gl2{FramebufferTexture2D,FramebufferTexture}
* @requires_gles30 Extension @es_extension{OES,fbo_render_mipmap} to
* @requires_gles30 Extension @extension{OES,fbo_render_mipmap} to
* render to @p level different than `0` in OpenGL ES 2.0.
* @requires_webgl20 Extension @webgl_extension{OES,fbo_render_mipmap}
* to render to @p level different than `0` in WebGL 1.0.
@ -666,7 +666,7 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
* @fn_gl2{NamedFramebufferTextureLayer,FramebufferTextureLayer},
* @fn_gl_extension{NamedFramebufferTexture2D,EXT,direct_state_access},
* eventually @fn_gl{BindFramebuffer} and @fn_gl2{FramebufferTexture2D,FramebufferTexture}
* @requires_gles30 Extension @es_extension{OES,fbo_render_mipmap} to
* @requires_gles30 Extension @extension{OES,fbo_render_mipmap} to
* render to @p level different than `0` in OpenGL ES 2.0.
* @requires_webgl20 Extension @webgl_extension{OES,fbo_render_mipmap}
* to render to @p level different than `0` in WebGL 1.0.
@ -689,11 +689,11 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
* @see @ref detach(), @fn_gl2{NamedFramebufferTextureLayer,FramebufferTextureLayer},
* @fn_gl_extension{NamedFramebufferTextureLayer,EXT,direct_state_access},
* eventually @fn_gl{BindFramebuffer} and @fn_gl2{FramebufferTextureLayer,FramebufferTexture}
* or @fn_gles_extension{FramebufferTexture3D,OES,texture_3D} in
* or @fn_gl_extension{FramebufferTexture3D,OES,texture_3D} in
* OpenGL ES 2.0
* @requires_gles30 Extension @es_extension{OES,texture_3D} in OpenGL
* @requires_gles30 Extension @extension{OES,texture_3D} in OpenGL
* ES 2.0.
* @requires_gles30 Extension @es_extension{OES,fbo_render_mipmap} to
* @requires_gles30 Extension @extension{OES,fbo_render_mipmap} to
* render to @p level different than `0` in OpenGL ES 2.0.
* @requires_webgl20 Only 2D textures are available in WebGL 1.0.
*/
@ -722,8 +722,8 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
/** @overload
* @requires_gl40 Extension @extension{ARB,texture_cube_map_array}
* @requires_gles30 Not defined in OpenGL ES 2.0.
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension{EXT,texture_cube_map_array}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension{EXT,texture_cube_map_array}
* @requires_gles Cube map texture arrays are not available in WebGL.
*/
Framebuffer& attachTextureLayer(BufferAttachment attachment, CubeMapTextureArray& texture, Int level, Int layer);
@ -732,8 +732,8 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
* @requires_gl32 Extension @extension{ARB,texture_multisample}
* @requires_gles30 Multisample 2D array textures are not defined in
* OpenGL ES 2.0.
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension{OES,texture_storage_multisample_2d_array}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension{OES,texture_storage_multisample_2d_array}
* @requires_gles Multisample textures are not available in WebGL.
*/
Framebuffer& attachTextureLayer(BufferAttachment attachment, MultisampleTexture2DArray& texture, Int layer);
@ -758,8 +758,8 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
* eventually @fn_gl{BindFramebuffer} and @fn_gl{FramebufferTexture}
* @requires_gl32 Extension @extension{ARB,geometry_shader4}
* @requires_gles30 Not defined in OpenGL ES 2.0.
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension{EXT,geometry_shader}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension{EXT,geometry_shader}
* @requires_gles Geometry shaders are not available in WebGL.
*/
Framebuffer& attachLayeredTexture(BufferAttachment attachment, Texture3D& texture, Int level);
@ -776,8 +776,8 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
/** @overload
* @requires_gl32 Extension @extension{ARB,geometry_shader4}
* @requires_gles30 Not defined in OpenGL ES 2.0.
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension{EXT,geometry_shader}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension{EXT,geometry_shader}
* @requires_gles Geometry shaders are not available in WebGL.
*/
Framebuffer& attachLayeredTexture(BufferAttachment attachment, Texture2DArray& texture, Int level);
@ -786,8 +786,8 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
* @overload
* @requires_gl32 Extension @extension{ARB,geometry_shader4}
* @requires_gles30 Not defined in OpenGL ES 2.0.
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension{EXT,geometry_shader}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension{EXT,geometry_shader}
* @requires_gles Geometry shaders are not available in WebGL.
*/
Framebuffer& attachLayeredTexture(BufferAttachment attachment, CubeMapTexture& texture, Int level);
@ -795,9 +795,9 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
/** @overload
* @requires_gl40 Extension @extension{ARB,texture_cube_map_array}
* @requires_gles30 Not defined in OpenGL ES 2.0.
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension{EXT,geometry_shader} and
* @es_extension{EXT,texture_cube_map_array}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension{EXT,geometry_shader} and
* @extension{EXT,texture_cube_map_array}
* @requires_gles Geometry shaders are not available in WebGL.
*/
Framebuffer& attachLayeredTexture(BufferAttachment attachment, CubeMapTextureArray& texture, Int level);
@ -806,9 +806,9 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
* @requires_gl32 Extension @extension{ARB,geometry_shader4} and
* @extension{ARB,texture_multisample}
* @requires_gles30 Not defined in OpenGL ES 2.0.
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension{EXT,geometry_shader} and
* @es_extension{OES,texture_storage_multisample_2d_array}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension{EXT,geometry_shader} and
* @extension{OES,texture_storage_multisample_2d_array}
* @requires_gles Geometry shaders are not available in WebGL.
*/
Framebuffer& attachLayeredTexture(BufferAttachment attachment, MultisampleTexture2DArray& texture);

52
src/Magnum/Mesh.h

@ -324,7 +324,7 @@ layout, see @ref addVertexBuffer() documentation for details.
## Performance optimizations
If @extension{ARB,vertex_array_object} (part of OpenGL 3.0), OpenGL ES 3.0,
WebGL 2.0, @es_extension{OES,vertex_array_object} in OpenGL ES 2.0 or
WebGL 2.0, @extension{OES,vertex_array_object} in OpenGL ES 2.0 or
@webgl_extension{OES,vertex_array_object} in WebGL 1.0 is supported, VAOs are
used instead of binding the buffers and specifying vertex attribute pointers
in each @ref draw() call. The engine tracks currently bound VAO and currently
@ -358,7 +358,7 @@ class MAGNUM_EXPORT Mesh: public AbstractObject {
/**
* Unsigned int
* @requires_gles30 Extension @es_extension{OES,element_index_uint}
* @requires_gles30 Extension @extension{OES,element_index_uint}
* in OpenGL ES 2.0.
* @requires_webgl20 Extension @webgl_extension{OES,element_index_uint}
* in WebGL 1.0.
@ -438,7 +438,7 @@ class MAGNUM_EXPORT Mesh: public AbstractObject {
* different behavior.
* @see @ref release()
* @requires_gl30 Extension @extension{ARB,vertex_array_object}
* @requires_gles30 Extension @es_extension{OES,vertex_array_object} in
* @requires_gles30 Extension @extension{OES,vertex_array_object} in
* OpenGL ES 2.0.
* @requires_webgl20 Extension @webgl_extension{OES,vertex_array_object}
* in WebGL 1.0.
@ -457,7 +457,7 @@ class MAGNUM_EXPORT Mesh: public AbstractObject {
* @param primitive Primitive type
*
* If @extension{ARB,vertex_array_object} (part of OpenGL 3.0), OpenGL
* ES 3.0, WebGL 2.0, @es_extension{OES,vertex_array_object} in OpenGL
* ES 3.0, WebGL 2.0, @extension{OES,vertex_array_object} in OpenGL
* ES 2.0 or @webgl_extension{OES,vertex_array_object} in WebGL 1.0 is
* available, vertex array object is created. If @extension{ARB,direct_state_access}
* (part of OpenGL 4.5) is not available, the vertex array object is
@ -491,7 +491,7 @@ class MAGNUM_EXPORT Mesh: public AbstractObject {
* @brief Destructor
*
* If @extension{ARB,vertex_array_object} (part of OpenGL 3.0), OpenGL
* ES 3.0, WebGL 2.0, @es_extension{OES,vertex_array_object} in OpenGL
* ES 3.0, WebGL 2.0, @extension{OES,vertex_array_object} in OpenGL
* ES 2.0 or @webgl_extension{OES,vertex_array_object} in WebGL 1.0 is
* available, associated vertex array object is deleted.
* @see @ref wrap(), @ref release(), @fn_gl{DeleteVertexArrays}
@ -508,7 +508,7 @@ class MAGNUM_EXPORT Mesh: public AbstractObject {
* @brief OpenGL vertex array ID
*
* If neither @extension{ARB,vertex_array_object} (part of OpenGL 3.0)
* nor OpenGL ES 3.0 / WebGL 2.0 nor @es_extension{OES,vertex_array_object}
* nor OpenGL ES 3.0 / WebGL 2.0 nor @extension{OES,vertex_array_object}
* in OpenGL ES 2.0 / @webgl_extension{OES,vertex_array_object} in
* WebGL 1.0 is available, returns `0`.
*/
@ -522,7 +522,7 @@ class MAGNUM_EXPORT Mesh: public AbstractObject {
* equivalent to moved-from state.
* @see @ref wrap()
* @requires_gl30 Extension @extension{ARB,vertex_array_object}
* @requires_gles30 Extension @es_extension{OES,vertex_array_object} in
* @requires_gles30 Extension @extension{OES,vertex_array_object} in
* OpenGL ES 2.0.
* @requires_webgl20 Extension @webgl_extension{OES,vertex_array_object}
* in WebGL 1.0.
@ -535,11 +535,11 @@ class MAGNUM_EXPORT Mesh: public AbstractObject {
*
* The result is *not* cached, repeated queries will result in repeated
* OpenGL calls. If OpenGL 4.3 is not supported and neither
* @extension{KHR,debug} (covered also by @es_extension{ANDROID,extension_pack_es31a})
* nor @extension2{EXT,debug_label} desktop or ES extension is
* @extension{KHR,debug} (covered also by @extension{ANDROID,extension_pack_es31a})
* nor @extension{EXT,debug_label} desktop or ES extension is
* available, this function returns empty string.
* @see @fn_gl{GetObjectLabel} with @def_gl{VERTEX_ARRAY} or
* @fn_gl_extension2{GetObjectLabel,EXT,debug_label} with
* @fn_gl_extension{GetObjectLabel,EXT,debug_label} with
* @def_gl{VERTEX_ARRAY_OBJECT_EXT}
* @requires_gles Debug output is not available in WebGL.
*/
@ -550,11 +550,11 @@ class MAGNUM_EXPORT Mesh: public AbstractObject {
* @return Reference to self (for method chaining)
*
* Default is empty string. If OpenGL 4.3 is not supported and neither
* @extension{KHR,debug} (covered also by @es_extension{ANDROID,extension_pack_es31a})
* nor @extension2{EXT,debug_label} desktop or ES extension is
* @extension{KHR,debug} (covered also by @extension{ANDROID,extension_pack_es31a})
* nor @extension{EXT,debug_label} desktop or ES extension is
* available, this function does nothing.
* @see @ref maxLabelLength(), @fn_gl{ObjectLabel} with
* @def_gl{VERTEX_ARRAY} or @fn_gl_extension2{LabelObject,EXT,debug_label}
* @def_gl{VERTEX_ARRAY} or @fn_gl_extension{LabelObject,EXT,debug_label}
* with @def_gl{VERTEX_ARRAY_OBJECT_EXT}
* @requires_gles Debug output is not available in WebGL.
*/
@ -655,9 +655,9 @@ class MAGNUM_EXPORT Mesh: public AbstractObject {
* @ref draw(AbstractShaderProgram&)
* @requires_gl42 Extension @extension{ARB,transform_feedback_instanced}
* if using @ref draw(AbstractShaderProgram&, TransformFeedback&, UnsignedInt)
* @requires_gles30 Extension @es_extension{ANGLE,instanced_arrays},
* @es_extension2{EXT,draw_instanced,draw_instanced} or
* @es_extension{NV,draw_instanced} in OpenGL ES 2.0.
* @requires_gles30 Extension @extension{ANGLE,instanced_arrays},
* @extension2{EXT,draw_instanced,draw_instanced} or
* @extension{NV,draw_instanced} in OpenGL ES 2.0.
* @requires_webgl20 Extension @webgl_extension{ANGLE,instanced_arrays}
* in WebGL 1.0.
*/
@ -735,7 +735,7 @@ class MAGNUM_EXPORT Mesh: public AbstractObject {
* @endcode
*
* If @extension{ARB,vertex_array_object} (part of OpenGL 3.0), OpenGL
* ES 3.0, WebGL 2.0, @es_extension{OES,vertex_array_object} in OpenGL
* ES 3.0, WebGL 2.0, @extension{OES,vertex_array_object} in OpenGL
* ES 2.0 or @webgl_extension{OES,vertex_array_object} in WebGL 1.0 is
* available, the vertex array object is used to hold the parameters.
*
@ -770,7 +770,7 @@ class MAGNUM_EXPORT Mesh: public AbstractObject {
* @ref addVertexBuffer().
*
* If @extension{ARB,vertex_array_object} (part of OpenGL 3.0), OpenGL
* ES 3.0, WebGL 2.0, @es_extension{OES,vertex_array_object} in OpenGL
* ES 3.0, WebGL 2.0, @extension{OES,vertex_array_object} in OpenGL
* ES 2.0 or @webgl_extension{OES,vertex_array_object} in WebGL 1.0 is
* available, the vertex array object is used to hold the parameters.
*
@ -783,9 +783,9 @@ class MAGNUM_EXPORT Mesh: public AbstractObject {
* @fn_gl_extension{VertexArrayVertexAttribOffset,EXT,direct_state_access},
* @fn_gl_extension{VertexArrayVertexAttribDivisor,EXT,direct_state_access}
* @requires_gl33 Extension @extension{ARB,instanced_arrays}
* @requires_gles30 Extension @es_extension{ANGLE,instanced_arrays},
* @es_extension{EXT,instanced_arrays} or
* @es_extension{NV,instanced_arrays} in OpenGL ES 2.0.
* @requires_gles30 Extension @extension{ANGLE,instanced_arrays},
* @extension{EXT,instanced_arrays} or
* @extension{NV,instanced_arrays} in OpenGL ES 2.0.
* @requires_webgl20 Extension @webgl_extension{ANGLE,instanced_arrays}
* in WebGL 1.0.
*/
@ -812,7 +812,7 @@ class MAGNUM_EXPORT Mesh: public AbstractObject {
* functionality is not available there.
*
* If @extension{ARB,vertex_array_object} (part of OpenGL 3.0), OpenGL
* ES 3.0, WebGL 2.0, @es_extension{OES,vertex_array_object} in OpenGL
* ES 3.0, WebGL 2.0, @extension{OES,vertex_array_object} in OpenGL
* ES 2.0 or @webgl_extension{OES,vertex_array_object} in WebGL 1.0 is
* available, the vertex array object is used to hold the parameters.
*
@ -848,7 +848,7 @@ class MAGNUM_EXPORT Mesh: public AbstractObject {
* commands are issued. See also
* @ref AbstractShaderProgram-rendering-workflow "AbstractShaderProgram documentation"
* for more information. If @extension{ARB,vertex_array_object} (part
* of OpenGL 3.0), OpenGL ES 3.0, WebGL 2.0, @es_extension{OES,vertex_array_object}
* of OpenGL 3.0), OpenGL ES 3.0, WebGL 2.0, @extension{OES,vertex_array_object}
* in OpenGL ES 2.0 or @webgl_extension{OES,vertex_array_object} in
* WebGL 1.0 is available, the associated vertex array object is bound
* instead of setting up the mesh from scratch.
@ -872,9 +872,9 @@ class MAGNUM_EXPORT Mesh: public AbstractObject {
* @ref instanceCount() is more than `1`.
* @requires_gl42 Extension @extension{ARB,base_instance} if
* @ref baseInstance() is not `0`.
* @requires_gles30 Extension @es_extension{ANGLE,instanced_arrays},
* @es_extension{EXT,instanced_arrays} or
* @es_extension{NV,instanced_arrays} in OpenGL ES 2.0 if
* @requires_gles30 Extension @extension{ANGLE,instanced_arrays},
* @extension{EXT,instanced_arrays} or
* @extension{NV,instanced_arrays} in OpenGL ES 2.0 if
* @ref instanceCount() is more than `1`.
* @requires_webgl20 Extension @webgl_extension{ANGLE,instanced_arrays}
* in WebGL 1.0 if @ref instanceCount() is more than `1`.

16
src/Magnum/MeshView.h

@ -63,12 +63,12 @@ class MAGNUM_EXPORT MeshView {
/**
* @brief Draw multiple meshes at once
*
* In OpenGL ES, if @es_extension2{EXT,multi_draw_arrays,multi_draw_arrays}
* In OpenGL ES, if @extension2{EXT,multi_draw_arrays,multi_draw_arrays}
* is not present, the functionality is emulated using sequence of
* @ref draw(AbstractShaderProgram&) calls.
*
* If @extension{ARB,vertex_array_object} (part of OpenGL 3.0), OpenGL
* ES 3.0, WebGL 2.0, @es_extension{OES,vertex_array_object} in OpenGL
* ES 3.0, WebGL 2.0, @extension{OES,vertex_array_object} in OpenGL
* ES 2.0 or @webgl_extension{OES,vertex_array_object} in WebGL 1.0 is
* available, the associated vertex array object is bound instead of
* setting up the mesh from scratch.
@ -186,9 +186,9 @@ class MAGNUM_EXPORT MeshView {
* @ref draw(AbstractShaderProgram&)
* @requires_gl42 Extension @extension{ARB,transform_feedback_instanced}
* if using @ref draw(AbstractShaderProgram&, TransformFeedback&, UnsignedInt)
* @requires_gles30 Extension @es_extension{ANGLE,instanced_arrays},
* @es_extension2{EXT,draw_instanced,draw_instanced} or
* @es_extension{NV,draw_instanced} in OpenGL ES 2.0.
* @requires_gles30 Extension @extension{ANGLE,instanced_arrays},
* @extension2{EXT,draw_instanced,draw_instanced} or
* @extension{NV,draw_instanced} in OpenGL ES 2.0.
* @requires_webgl20 Extension @webgl_extension{ANGLE,instanced_arrays}
* in WebGL 1.0.
*/
@ -229,9 +229,9 @@ class MAGNUM_EXPORT MeshView {
* @ref instanceCount() is more than `1`.
* @requires_gl42 Extension @extension{ARB,base_instance} if
* @ref baseInstance() is not `0`.
* @requires_gles30 Extension @es_extension{ANGLE,instanced_arrays},
* @es_extension{EXT,instanced_arrays} or
* @es_extension{NV,instanced_arrays} in OpenGL ES 2.0 if
* @requires_gles30 Extension @extension{ANGLE,instanced_arrays},
* @extension{EXT,instanced_arrays} or
* @extension{NV,instanced_arrays} in OpenGL ES 2.0 if
* @ref instanceCount() is more than `1`.
* @requires_webgl20 Extension @webgl_extension{ANGLE,instanced_arrays}
* in WebGL 1.0 if @ref instanceCount() is more than `1`.

16
src/Magnum/MultisampleTexture.h

@ -95,8 +95,8 @@ Note that multisample textures don't support compressed formats.
older.
@requires_gles30 Multisample 2D array textures are not defined in OpenGL ES
2.0.
@requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
@es_extension{OES,texture_storage_multisample_2d_array} for multisample 2D
@requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
@extension{OES,texture_storage_multisample_2d_array} for multisample 2D
array textures.
@requires_gles Multisample textures are not available in WebGL.
*/
@ -202,8 +202,8 @@ template<UnsignedInt dimensions> class MultisampleTexture: public AbstractTextur
* @ref AbstractShaderProgram::maxImageUnits(),
* @fn_gl{BindImageTexture}
* @requires_gl42 Extension @extension{ARB,shader_image_load_store}
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension{OES,texture_storage_multisample_2d_array} for
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension{OES,texture_storage_multisample_2d_array} for
* multisample 2D array textures.
*/
#ifndef DOXYGEN_GENERATING_OUTPUT
@ -228,8 +228,8 @@ template<UnsignedInt dimensions> class MultisampleTexture: public AbstractTextur
* @ref AbstractShaderProgram::maxImageUnits(),
* @fn_gl{BindImageTexture}
* @requires_gl42 Extension @extension{ARB,shader_image_load_store}
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension{OES,texture_storage_multisample_2d_array} for
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension{OES,texture_storage_multisample_2d_array} for
* multisample 2D array textures.
*/
#ifndef DOXYGEN_GENERATING_OUTPUT
@ -339,8 +339,8 @@ typedef MultisampleTexture<2> MultisampleTexture2D;
@requires_gl32 Extension @extension{ARB,texture_multisample}
@requires_gles30 Not defined in OpenGL ES 2.0.
@requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
@es_extension{OES,texture_storage_multisample_2d_array}
@requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
@extension{OES,texture_storage_multisample_2d_array}
@requires_gles Multisample textures are not available in WebGL.
*/
typedef MultisampleTexture<3> MultisampleTexture2DArray;

280
src/Magnum/PixelFormat.h

@ -57,9 +57,9 @@ enum class PixelFormat: GLenum {
/**
* Floating-point red channel.
* @requires_gles30 For texture data only, extension
* @es_extension{EXT,texture_rg} in OpenGL ES 2.0.
* @extension{EXT,texture_rg} in OpenGL ES 2.0.
* @requires_es_extension For framebuffer reading, extension
* @es_extension{EXT,texture_rg}
* @extension{EXT,texture_rg}
* @requires_webgl20 For texture data only. Not available in WebGL 1.0, see
* @ref PixelFormat::Luminance for an alternative.
*/
@ -103,9 +103,9 @@ enum class PixelFormat: GLenum {
* Floating-point red and green channel.
* @requires_gl30 Extension @extension{ARB,texture_rg} and @extension{EXT,texture_integer}
* @requires_gles30 For texture data only, extension
* @es_extension{EXT,texture_rg} in OpenGL ES 2.0.
* @extension{EXT,texture_rg} in OpenGL ES 2.0.
* @requires_es_extension For framebuffer reading, extension
* @es_extension{EXT,texture_rg}
* @extension{EXT,texture_rg}
* @requires_webgl20 For texture data only. Not available in WebGL 1.0, see
* @ref PixelFormat::LuminanceAlpha for and alternative.
*/
@ -149,9 +149,9 @@ enum class PixelFormat: GLenum {
#ifndef MAGNUM_TARGET_WEBGL
/**
* Floating-point BGRA.
* @requires_es_extension Extension @es_extension{EXT,read_format_bgra}
* for framebuffer reading, extension @es_extension{APPLE,texture_format_BGRA8888}
* or @es_extension{EXT,texture_format_BGRA8888} for texture data.
* @requires_es_extension Extension @extension{EXT,read_format_bgra}
* for framebuffer reading, extension @extension{APPLE,texture_format_BGRA8888}
* or @extension{EXT,texture_format_BGRA8888} for texture data.
* @requires_gles Only RGBA component ordering is available in WebGL.
*/
#ifndef MAGNUM_TARGET_GLES
@ -249,10 +249,10 @@ enum class PixelFormat: GLenum {
/**
* Depth component.
* @requires_gles30 For texture data only, extension @es_extension{OES,depth_texture}
* or @es_extension{ANGLE,depth_texture} in OpenGL ES 2.0.
* @requires_gles30 For texture data only, extension @extension{OES,depth_texture}
* or @extension{ANGLE,depth_texture} in OpenGL ES 2.0.
* @requires_es_extension For framebuffer reading only, extension
* @es_extension2{NV,read_depth,GL_NV_read_depth_stencil}.
* @extension2{NV,read_depth,GL_NV_read_depth_stencil}.
* @requires_webgl20 For texture data only, extension
* @webgl_extension{WEBGL,depth_texture} in WebGL 1.0.
*/
@ -263,10 +263,10 @@ enum class PixelFormat: GLenum {
* Stencil index.
* @requires_gl44 Extension @extension{ARB,texture_stencil8} for texture
* data, otherwise for framebuffer reading only.
* @requires_es_extension Extension @es_extension2{NV,read_stencil,GL_NV_read_depth_stencil},
* @requires_es_extension Extension @extension2{NV,read_stencil,GL_NV_read_depth_stencil},
* for framebuffer reading only.
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension{OES,texture_stencil8}, for texture data only.
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension{OES,texture_stencil8}, for texture data only.
* @requires_gles Stencil index is not available in WebGL.
*/
#ifndef MAGNUM_TARGET_GLES
@ -279,10 +279,10 @@ enum class PixelFormat: GLenum {
/**
* Depth and stencil.
* @requires_gl30 Extension @extension{ARB,framebuffer_object}
* @requires_gles30 For texture data only, extension @es_extension{OES,packed_depth_stencil}
* @requires_gles30 For texture data only, extension @extension{OES,packed_depth_stencil}
* in OpenGL ES 2.0.
* @requires_es_extension For framebuffer reading only, extension
* @es_extension2{NV,read_depth_stencil,GL_NV_read_depth_stencil}
* @extension2{NV,read_depth_stencil,GL_NV_read_depth_stencil}
* @requires_webgl20 For texture data only, extension
* @webgl_extension{WEBGL,depth_texture} in WebGL 1.0.
*/
@ -331,8 +331,8 @@ enum class PixelType: GLenum {
/**
* Each component unsigned short.
* @requires_gles30 For texture data only, extension @es_extension{OES,depth_texture}
* or @es_extension{ANGLE,depth_texture} in OpenGL ES 2.0.
* @requires_gles30 For texture data only, extension @extension{OES,depth_texture}
* or @extension{ANGLE,depth_texture} in OpenGL ES 2.0.
* @requires_gl Can't be used for framebuffer reading in OpenGL ES or
* WebGL.
* @requires_webgl20 For texture data only, extension
@ -356,7 +356,7 @@ enum class PixelType: GLenum {
/**
* Each component unsigned int.
* @requires_gles30 In OpenGL ES 2.0 for texture data only, using extension
* @es_extension{OES,depth_texture} or @es_extension{ANGLE,depth_texture}
* @extension{OES,depth_texture} or @extension{ANGLE,depth_texture}
* @requires_webgl20 In WebGL 1.0 for texture data only, using extension
* @webgl_extension{WEBGL,depth_texture}
*/
@ -378,7 +378,7 @@ enum class PixelType: GLenum {
* @see @ref Half, @ref Math::packHalf(), @ref Math::unpackHalf()
* @requires_gl30 Extension @extension{ARB,half_float_pixel}
* @requires_gles30 For texture data only, extension
* @es_extension2{OES,texture_half_float,OES_texture_float} in OpenGL
* @extension2{OES,texture_half_float,OES_texture_float} in OpenGL
* ES 2.0.
* @requires_webgl20 For texture data only, extension
* @webgl_extension{OES,texture_half_float} in WebGL 1.0.
@ -391,7 +391,7 @@ enum class PixelType: GLenum {
/**
* Each component float.
* @requires_gles30 For texture data only, extension @es_extension{OES,texture_float}
* @requires_gles30 For texture data only, extension @extension{OES,texture_float}
* in OpenGL ES 2.0.
* @requires_webgl20 For texture data only, extension @webgl_extension{OES,texture_float}
* in WebGL 1.0.
@ -437,7 +437,7 @@ enum class PixelType: GLenum {
/**
* ABGR, unsigned short, each component 4bit.
* @requires_es_extension For framebuffer reading only, extension
* @es_extension{EXT,read_format_bgra}
* @extension{EXT,read_format_bgra}
* @requires_gles Only RGBA component ordering is available in WebGL.
*/
#ifndef MAGNUM_TARGET_GLES
@ -457,7 +457,7 @@ enum class PixelType: GLenum {
/**
* ABGR, unsigned short, each RGB component 5bit, alpha component 1bit.
* @requires_es_extension For framebuffer reading only, extension
* @es_extension{EXT,read_format_bgra}
* @extension{EXT,read_format_bgra}
* @requires_gles Not available in WebGL.
*/
#ifndef MAGNUM_TARGET_GLES
@ -495,7 +495,7 @@ enum class PixelType: GLenum {
* ABGR, unsigned int, each RGB component 10bit, alpha component 2bit.
* @requires_gles30 Can't be used for framebuffer reading in OpenGL ES 2.0.
* @requires_gles30 For texture data only, extension
* @es_extension{EXT,texture_type_2_10_10_10_REV} in OpenGL ES 2.0.
* @extension{EXT,texture_type_2_10_10_10_REV} in OpenGL ES 2.0.
* Not available in WebGL 1.0.
* @requires_webgl20 Only RGBA component ordering is available in WebGL
* 1.0.
@ -531,7 +531,7 @@ enum class PixelType: GLenum {
* Unsigned int, depth component 24bit, stencil index 8bit.
* @requires_gl30 Extension @extension{ARB,framebuffer_object}
* @requires_gles30 For texture data only, extension
* @es_extension{OES,packed_depth_stencil} in OpenGL ES 2.0.
* @extension{OES,packed_depth_stencil} in OpenGL ES 2.0.
* @requires_webgl20 For texture data only, extension
* @webgl_extension{WEBGL,depth_texture} in WebGL 1.0.
*/
@ -766,7 +766,7 @@ enum class CompressedPixelFormat: GLenum {
* S3TC DXT1 compressed RGB. **Available only for 2D, 2D array, cube map
* and cube map array textures.**
* @requires_extension Extension @extension{EXT,texture_compression_s3tc}
* @requires_es_extension Extension @es_extension2{EXT,texture_compression_s3tc,texture_compression_s3tc}
* @requires_es_extension Extension @extension2{EXT,texture_compression_s3tc,texture_compression_s3tc}
* @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_s3tc}
*/
RGBS3tcDxt1 = GL_COMPRESSED_RGB_S3TC_DXT1_EXT,
@ -775,7 +775,7 @@ enum class CompressedPixelFormat: GLenum {
* S3TC DXT1 compressed RGBA. **Available only for 2D, 2D array, cube map
* and cube map array textures.**
* @requires_extension Extension @extension{EXT,texture_compression_s3tc}
* @requires_es_extension Extension @es_extension2{EXT,texture_compression_s3tc,texture_compression_s3tc}
* @requires_es_extension Extension @extension2{EXT,texture_compression_s3tc,texture_compression_s3tc}
* @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_s3tc}
*/
RGBAS3tcDxt1 = GL_COMPRESSED_RGBA_S3TC_DXT1_EXT,
@ -784,7 +784,7 @@ enum class CompressedPixelFormat: GLenum {
* S3TC DXT3 compressed RGBA. **Available only for 2D, 2D array, cube map
* and cube map array textures.**
* @requires_extension Extension @extension{EXT,texture_compression_s3tc}
* @requires_es_extension Extension @es_extension2{EXT,texture_compression_s3tc,texture_compression_s3tc}
* @requires_es_extension Extension @extension2{EXT,texture_compression_s3tc,texture_compression_s3tc}
* @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_s3tc}
*/
RGBAS3tcDxt3 = GL_COMPRESSED_RGBA_S3TC_DXT3_EXT,
@ -793,7 +793,7 @@ enum class CompressedPixelFormat: GLenum {
* S3TC DXT5 compressed RGBA. **Available only for 2D, 2D array, cube map
* and cube map array textures.**
* @requires_extension Extension @extension{EXT,texture_compression_s3tc}
* @requires_es_extension Extension @es_extension2{EXT,texture_compression_s3tc,texture_compression_s3tc}
* @requires_es_extension Extension @extension2{EXT,texture_compression_s3tc,texture_compression_s3tc}
* @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_s3tc}
*/
RGBAS3tcDxt5 = GL_COMPRESSED_RGBA_S3TC_DXT5_EXT,
@ -802,12 +802,12 @@ enum class CompressedPixelFormat: GLenum {
/**
* ASTC compressed RGBA with 4x4 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -816,12 +816,12 @@ enum class CompressedPixelFormat: GLenum {
/**
* ASTC compressed sRGB with alpha with 4x4 blocks. **Available only on 2D,
* 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -830,12 +830,12 @@ enum class CompressedPixelFormat: GLenum {
/**
* ASTC compressed RGBA with 5x4 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -844,12 +844,12 @@ enum class CompressedPixelFormat: GLenum {
/**
* ASTC compressed sRGB with alpha with 5x4 blocks. **Available only on 2D,
* 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -858,12 +858,12 @@ enum class CompressedPixelFormat: GLenum {
/**
* ASTC compressed RGBA with 5x5 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -872,12 +872,12 @@ enum class CompressedPixelFormat: GLenum {
/**
* ASTC compressed sRGB with alpha with 5x5 blocks. **Available only on 2D,
* 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -886,12 +886,12 @@ enum class CompressedPixelFormat: GLenum {
/**
* ASTC compressed RGBA with 6x5 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -900,12 +900,12 @@ enum class CompressedPixelFormat: GLenum {
/**
* ASTC compressed sRGB with alpha with 6x5 blocks. **Available only on 2D,
* 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -914,12 +914,12 @@ enum class CompressedPixelFormat: GLenum {
/**
* ASTC compressed RGBA with 6x6 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -928,12 +928,12 @@ enum class CompressedPixelFormat: GLenum {
/**
* ASTC compressed sRGB with alpha with 6x6 blocks. **Available only on 2D,
* 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -942,12 +942,12 @@ enum class CompressedPixelFormat: GLenum {
/**
* ASTC compressed RGBA with 8x5 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -956,12 +956,12 @@ enum class CompressedPixelFormat: GLenum {
/**
* ASTC compressed sRGB with alpha with 8x5 blocks. **Available only on 2D,
* 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -970,12 +970,12 @@ enum class CompressedPixelFormat: GLenum {
/**
* ASTC compressed RGBA with 8x6 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -984,12 +984,12 @@ enum class CompressedPixelFormat: GLenum {
/**
* ASTC compressed sRGB with alpha with 8x6 blocks. **Available only on 2D,
* 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -998,12 +998,12 @@ enum class CompressedPixelFormat: GLenum {
/**
* ASTC compressed RGBA with 8x8 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -1012,12 +1012,12 @@ enum class CompressedPixelFormat: GLenum {
/**
* ASTC compressed sRGB with alpha with 8x8 blocks. **Available only on 2D,
* 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -1026,12 +1026,12 @@ enum class CompressedPixelFormat: GLenum {
/**
* ASTC compressed RGBA with 10x5 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -1040,12 +1040,12 @@ enum class CompressedPixelFormat: GLenum {
/**
* ASTC compressed sRGB with alpha with 10x5 blocks. **Available only on
* 2D, 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -1054,12 +1054,12 @@ enum class CompressedPixelFormat: GLenum {
/**
* ASTC compressed RGBA with 10x6 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -1068,12 +1068,12 @@ enum class CompressedPixelFormat: GLenum {
/**
* ASTC compressed sRGB with alpha with 10x6 blocks. **Available only on
* 2D, 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -1082,12 +1082,12 @@ enum class CompressedPixelFormat: GLenum {
/**
* ASTC compressed RGBA with 10x8 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -1096,12 +1096,12 @@ enum class CompressedPixelFormat: GLenum {
/**
* ASTC compressed sRGB with alpha with 10x8 blocks. **Available only on
* 2D, 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -1110,12 +1110,12 @@ enum class CompressedPixelFormat: GLenum {
/**
* ASTC compressed RGBA with 10x10 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -1124,12 +1124,12 @@ enum class CompressedPixelFormat: GLenum {
/**
* ASTC compressed sRGB with alpha with 10x10 blocks. **Available only on
* 2D, 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -1138,12 +1138,12 @@ enum class CompressedPixelFormat: GLenum {
/**
* ASTC compressed RGBA with 12x10 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -1152,12 +1152,12 @@ enum class CompressedPixelFormat: GLenum {
/**
* ASTC compressed sRGB with alpha with 12x10 blocks. **Available only on
* 2D, 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -1166,12 +1166,12 @@ enum class CompressedPixelFormat: GLenum {
/**
* ASTC compressed RGBA with 12x12 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -1180,12 +1180,12 @@ enum class CompressedPixelFormat: GLenum {
/**
* ASTC compressed sRGB with alpha with 12x12 blocks. **Available only on
* 2D, 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/

8
src/Magnum/PixelStorage.h

@ -131,8 +131,8 @@ class MAGNUM_EXPORT PixelStorage {
/**
* @brief Row length
*
* @requires_gles30 Extension @es_extension{EXT,unpack_subimage}/
* @es_extension{NV,pack_subimage} in OpenGL ES 2.0.
* @requires_gles30 Extension @extension{EXT,unpack_subimage}/
* @extension{NV,pack_subimage} in OpenGL ES 2.0.
* @requires_webgl20 Row length specification is not available in WebGL
* 1.0.
*/
@ -145,8 +145,8 @@ class MAGNUM_EXPORT PixelStorage {
* actual image is used. Default is `0`.
* @see @fn_gl{PixelStore} with @def_gl{UNPACK_ROW_LENGTH}/
* @def_gl{PACK_ROW_LENGTH}
* @requires_gles30 Extension @es_extension{EXT,unpack_subimage}/
* @es_extension{NV,pack_subimage} in OpenGL ES 2.0.
* @requires_gles30 Extension @extension{EXT,unpack_subimage}/
* @extension{NV,pack_subimage} in OpenGL ES 2.0.
* @requires_webgl20 Row length specification is not available in WebGL
* 1.0.
*/

4
src/Magnum/PrimitiveQuery.h

@ -76,8 +76,8 @@ class MAGNUM_EXPORT PrimitiveQuery: public AbstractQuery {
* @ref result<UnsignedInt>() or @ref result<Int>() to retrieve the
* result.
* @requires_gles30 Not defined in OpenGL ES 2.0.
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension{EXT,geometry_shader}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension{EXT,geometry_shader}
* @requires_gles Geometry shaders are not available in WebGL.
*/
#ifndef MAGNUM_TARGET_GLES

22
src/Magnum/Renderbuffer.h

@ -80,8 +80,8 @@ class MAGNUM_EXPORT Renderbuffer: public AbstractObject {
*
* The result is cached, repeated queries don't result in repeated
* OpenGL calls. If neither OpenGL ES 3.0 nor ES extension
* @es_extension{ANGLE,framebuffer_multisample} /
* @es_extension{NV,framebuffer_multisample} is available, returns `0`.
* @extension{ANGLE,framebuffer_multisample} /
* @extension{NV,framebuffer_multisample} is available, returns `0`.
* @see @ref setStorageMultisample(), @fn_gl{Get} with @def_gl{MAX_SAMPLES}
* @requires_webgl20 Multisample framebuffers are not available in
* WebGL 1.0.
@ -170,11 +170,11 @@ class MAGNUM_EXPORT Renderbuffer: public AbstractObject {
*
* The result is *not* cached, repeated queries will result in repeated
* OpenGL calls. If OpenGL 4.3 is not supported and neither
* @extension{KHR,debug} (covered also by @es_extension{ANDROID,extension_pack_es31a})
* nor @extension2{EXT,debug_label} desktop or ES extension is
* @extension{KHR,debug} (covered also by @extension{ANDROID,extension_pack_es31a})
* nor @extension{EXT,debug_label} desktop or ES extension is
* available, this function returns empty string.
* @see @fn_gl{GetObjectLabel} or
* @fn_gl_extension2{GetObjectLabel,EXT,debug_label} with
* @fn_gl_extension{GetObjectLabel,EXT,debug_label} with
* @def_gl{RENDERBUFFER}
* @requires_gles Debug output is not available in WebGL.
*/
@ -185,11 +185,11 @@ class MAGNUM_EXPORT Renderbuffer: public AbstractObject {
* @return Reference to self (for method chaining)
*
* Default is empty string. If OpenGL 4.3 is not supported and neither
* @extension{KHR,debug} (covered also by @es_extension{ANDROID,extension_pack_es31a})
* nor @extension2{EXT,debug_label} desktop or ES extension is
* @extension{KHR,debug} (covered also by @extension{ANDROID,extension_pack_es31a})
* nor @extension{EXT,debug_label} desktop or ES extension is
* available, this function does nothing.
* @see @ref maxLabelLength(), @fn_gl{ObjectLabel} or
* @fn_gl_extension2{LabelObject,EXT,debug_label} with
* @fn_gl_extension{LabelObject,EXT,debug_label} with
* @def_gl{RENDERBUFFER}
* @requires_gles Debug output is not available in WebGL.
*/
@ -233,11 +233,11 @@ class MAGNUM_EXPORT Renderbuffer: public AbstractObject {
* @fn_gl2{NamedRenderbufferStorageMultisample,RenderbufferStorageMultisample},
* @fn_gl_extension{NamedRenderbufferStorageMultisample,EXT,direct_state_access},
* eventually @fn_gl{BindRenderbuffer} and @fn_gl{RenderbufferStorageMultisample}
* @requires_gles30 Extension @es_extension{ANGLE,framebuffer_multisample}
* or @es_extension{NV,framebuffer_multisample} in OpenGL ES 2.0.
* @requires_gles30 Extension @extension{ANGLE,framebuffer_multisample}
* or @extension{NV,framebuffer_multisample} in OpenGL ES 2.0.
* @requires_webgl20 Multisample framebuffers are not available in
* WebGL 1.0.
* @todo How about @es_extension{APPLE,framebuffer_multisample}?
* @todo How about @extension{APPLE,framebuffer_multisample}?
* @todo NaCl has @fn_gl_extension{RenderbufferStorageMultisample,EXT,multisampled_render_to_texture}
*/
void setStorageMultisample(Int samples, RenderbufferFormat internalFormat, const Vector2i& size);

20
src/Magnum/RenderbufferFormat.h

@ -38,7 +38,7 @@ namespace Magnum {
@see @ref Renderbuffer
@requires_gl30 Extension @extension{ARB,framebuffer_object}
@todo RGB, RGB8 ES only (ES3 + @es_extension{OES,rgb8_rgba8})
@todo RGB, RGB8 ES only (ES3 + @extension{OES,rgb8_rgba8})
*/
enum class RenderbufferFormat: GLenum {
#ifndef MAGNUM_TARGET_GLES
@ -56,7 +56,7 @@ enum class RenderbufferFormat: GLenum {
/**
* Red component, normalized unsigned byte.
* @requires_gl30 Extension @extension{ARB,texture_rg}
* @requires_gles30 Extension @es_extension{EXT,texture_rg} in OpenGL ES
* @requires_gles30 Extension @extension{EXT,texture_rg} in OpenGL ES
* 2.0.
* @requires_webgl20 Not available in WebGL 1.0.
*/
@ -83,7 +83,7 @@ enum class RenderbufferFormat: GLenum {
/**
* Red and green component, each normalized unsigned byte.
* @requires_gl30 Extension @extension{ARB,texture_rg}
* @requires_gles30 Extension @es_extension{EXT,texture_rg} in OpenGL ES
* @requires_gles30 Extension @extension{EXT,texture_rg} in OpenGL ES
* 2.0.
* @requires_webgl20 Not available in WebGL 1.0.
*/
@ -107,7 +107,7 @@ enum class RenderbufferFormat: GLenum {
#if !(defined(MAGNUM_TARGET_WEBGL) && defined(MAGNUM_TARGET_GLES2))
/**
* RGBA, each component normalized unsigned byte.
* @requires_gles30 Extension @es_extension{ARM,rgba8} or @es_extension{OES,rgb8_rgba8}
* @requires_gles30 Extension @extension{ARM,rgba8} or @extension{OES,rgb8_rgba8}
* in OpenGL ES 2.0.
* @requires_webgl20 Not available in WebGL 1.0.
*/
@ -423,7 +423,7 @@ enum class RenderbufferFormat: GLenum {
/**
* sRGBA, each component normalized unsigned byte.
* @requires_gles30 Extension @es_extension{EXT,sRGB} in OpenGL ES 2.0.
* @requires_gles30 Extension @extension{EXT,sRGB} in OpenGL ES 2.0.
* @requires_webgl20 Extension @webgl_extension{EXT,sRGB} in WebGL 1.0.
*/
#ifndef MAGNUM_TARGET_GLES2
@ -450,7 +450,7 @@ enum class RenderbufferFormat: GLenum {
#if !(defined(MAGNUM_TARGET_WEBGL) && defined(MAGNUM_TARGET_GLES2))
/**
* Depth component, 24bit.
* @requires_gles30 Extension @es_extension{OES,depth24} in OpenGL ES 2.0.
* @requires_gles30 Extension @extension{OES,depth24} in OpenGL ES 2.0.
* @requires_webgl20 Only 16bit depth component is available in WebGL.
*/
#ifndef MAGNUM_TARGET_GLES2
@ -463,7 +463,7 @@ enum class RenderbufferFormat: GLenum {
#ifndef MAGNUM_TARGET_WEBGL
/**
* Depth component, 32bit.
* @requires_es_extension Extension @es_extension{OES,depth32}
* @requires_es_extension Extension @extension{OES,depth32}
* @requires_gles At most 24bit depth component is available in WebGL.
*/
#ifndef MAGNUM_TARGET_GLES
@ -499,7 +499,7 @@ enum class RenderbufferFormat: GLenum {
#ifndef MAGNUM_TARGET_WEBGL
/**
* 1-bit stencil index.
* @requires_es_extension Extension @es_extension{OES,stencil1}
* @requires_es_extension Extension @extension{OES,stencil1}
* @requires_gles Only 8bit stencil index is available in WebGL.
*/
#ifndef MAGNUM_TARGET_GLES
@ -510,7 +510,7 @@ enum class RenderbufferFormat: GLenum {
/**
* 4-bit stencil index.
* @requires_es_extension Extension @es_extension{OES,stencil4}
* @requires_es_extension Extension @extension{OES,stencil4}
* @requires_gles Only 8bit stencil index is available in WebGL.
*/
#ifndef MAGNUM_TARGET_GLES
@ -550,7 +550,7 @@ enum class RenderbufferFormat: GLenum {
#if !(defined(MAGNUM_TARGET_WEBGL) && defined(MAGNUM_TARGET_GLES2))
/**
* 24bit depth and 8bit stencil component.
* @requires_gles30 Extension @es_extension{OES,packed_depth_stencil} in
* @requires_gles30 Extension @extension{OES,packed_depth_stencil} in
* OpenGL ES 2.0.
* @requires_webgl20 Use @ref RenderbufferFormat::DepthStencil in WebGL
* 1.0 instead.

84
src/Magnum/Renderer.h

@ -80,10 +80,10 @@ class MAGNUM_EXPORT Renderer {
#ifndef MAGNUM_TARGET_WEBGL
/**
* Coherent advanced blending. Enabled by default if desktop/ES
* extension @extension3{KHR,blend_equation_advanced_coherent,blend_equation_advanced}
* extension @extension2{KHR,blend_equation_advanced_coherent,blend_equation_advanced}
* is available. See @ref blendBarrier() for more information.
* @requires_extension Extension @extension{KHR,blend_equation_advanced}
* @requires_es_extension Extension @es_extension2{KHR,blend_equation_advanced,blend_equation_advanced}
* @requires_es_extension Extension @extension2{KHR,blend_equation_advanced,blend_equation_advanced}
* @requires_gles Advanced blend equations are not available in WebGL.
*/
BlendAdvancedCoherent = GL_BLEND_ADVANCED_COHERENT_KHR,
@ -103,8 +103,8 @@ class MAGNUM_EXPORT Renderer {
* @see @ref DebugOutput, @ref Feature::DebugOutputSynchronous,
* @ref Platform::Sdl2Application::Configuration::Flag::Debug "Platform::*Application::Configuration::Flag::Debug"
* @requires_gl43 Extension @extension{KHR,debug}
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,debug,debug}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,debug,debug}
* @requires_gles Debug output is not available in WebGL.
*/
#ifndef MAGNUM_TARGET_GLES
@ -118,8 +118,8 @@ class MAGNUM_EXPORT Renderer {
* @ref Feature::DebugOutput is enabled.
* @see @ref DebugMessage
* @requires_gl43 Extension @extension{KHR,debug}
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,debug,debug}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,debug,debug}
* @requires_gles Debug output is not available in WebGL.
*/
#ifndef MAGNUM_TARGET_GLES
@ -160,7 +160,7 @@ class MAGNUM_EXPORT Renderer {
* Disabled by default on desktop GL, enabled by default on OpenGL
* ES.
* @requires_gl30 Extension @extension{ARB,framebuffer_sRGB}
* @requires_es_extension @es_extension{EXT,sRGB_write_control}. If
* @requires_es_extension @extension{EXT,sRGB_write_control}. If
* the extension is not present, there's no ability to turn
* the sRGB conversion off.
* @requires_gles WebGL has no ability to turn the sRGB conversion
@ -203,7 +203,7 @@ class MAGNUM_EXPORT Renderer {
* Offset lines
* @see @ref Feature::PolygonOffsetFill, @ref Feature::PolygonOffsetPoint,
* @ref setPolygonOffset()
* @requires_es_extension Extension @es_extension{NV,polygon_offset}
* @requires_es_extension Extension @extension{NV,polygon_offset}
* @requires_gles Only @ref Feature::PolygonOffsetFill is available
* in WebGL.
*/
@ -217,7 +217,7 @@ class MAGNUM_EXPORT Renderer {
* Offset points
* @see @ref Feature::PolygonOffsetFill, @ref Feature::PolygonOffsetLine,
* @ref setPolygonOffset()
* @requires_es_extension Extension @es_extension{NV,polygon_offset}
* @requires_es_extension Extension @extension{NV,polygon_offset}
* @requires_gles Only @ref Feature::PolygonOffsetFill is available
* in WebGL.
*/
@ -310,7 +310,7 @@ class MAGNUM_EXPORT Renderer {
enum class Hint: GLenum {
/**
* Accuracy of derivative calculation in fragment shader.
* @requires_gles30 Extension @es_extension{OES,standard_derivatives}
* @requires_gles30 Extension @extension{OES,standard_derivatives}
* in OpenGL ES 2.0.
* @requires_webgl20 Extension @webgl_extension{OES,standard_derivatives}
* in WebGL 1.0.
@ -462,7 +462,7 @@ class MAGNUM_EXPORT Renderer {
* @brief Polygon mode
*
* @see @ref setPolygonMode()
* @requires_es_extension Extension @es_extension{NV,polygon_mode}.
* @requires_es_extension Extension @extension{NV,polygon_mode}.
* Otherwise behaves always like @ref PolygonMode::Fill. See
* @ref Mesh::setPrimitive() for possible workaround.
* @requires_gles WebGL behaves always like @ref PolygonMode::Fill. See
@ -503,7 +503,7 @@ class MAGNUM_EXPORT Renderer {
*
* Initial value is @ref PolygonMode::Fill.
* @see @fn_gl{PolygonMode}
* @requires_es_extension Extension @es_extension{NV,polygon_mode}.
* @requires_es_extension Extension @extension{NV,polygon_mode}.
* Otherwise behaves always like the default. See
* @ref Mesh::setPrimitive() for possible workaround.
* @requires_gles WebGL behaves always like the default. See
@ -755,7 +755,7 @@ class MAGNUM_EXPORT Renderer {
/**
* `min(source, destination)`
* @requires_gles30 Extension @es_extension2{EXT,blend_minmax,blend_minmax}
* @requires_gles30 Extension @extension2{EXT,blend_minmax,blend_minmax}
* in OpenGL ES 2.0.
* @requires_webgl20 Extension @webgl_extension{EXT,blend_minmax}
* in WebGL 1.0.
@ -768,7 +768,7 @@ class MAGNUM_EXPORT Renderer {
/**
* `max(source, destination)`
* @requires_gles30 Extension @es_extension2{EXT,blend_minmax,blend_minmax}
* @requires_gles30 Extension @extension2{EXT,blend_minmax,blend_minmax}
* in OpenGL ES 2.0.
* @requires_webgl20 Extension @webgl_extension{EXT,blend_minmax}
* in WebGL 1.0.
@ -786,7 +786,7 @@ class MAGNUM_EXPORT Renderer {
* @ref setBlendEquation(BlendEquation).
* @see @ref blendBarrier()
* @requires_extension Extension @extension{KHR,blend_equation_advanced}
* @requires_es_extension Extension @es_extension2{KHR,blend_equation_advanced,blend_equation_advanced}
* @requires_es_extension Extension @extension2{KHR,blend_equation_advanced,blend_equation_advanced}
* @requires_gles Advanced blend equations are not available in
* WebGL.
*/
@ -798,7 +798,7 @@ class MAGNUM_EXPORT Renderer {
* @ref setBlendEquation(BlendEquation).
* @see @ref blendBarrier()
* @requires_extension Extension @extension{KHR,blend_equation_advanced}
* @requires_es_extension Extension @es_extension2{KHR,blend_equation_advanced,blend_equation_advanced}
* @requires_es_extension Extension @extension2{KHR,blend_equation_advanced,blend_equation_advanced}
* @requires_gles Advanced blend equations are not available in
* WebGL.
*/
@ -810,7 +810,7 @@ class MAGNUM_EXPORT Renderer {
* @ref setBlendEquation(BlendEquation).
* @see @ref blendBarrier()
* @requires_extension Extension @extension{KHR,blend_equation_advanced}
* @requires_es_extension Extension @es_extension2{KHR,blend_equation_advanced,blend_equation_advanced}
* @requires_es_extension Extension @extension2{KHR,blend_equation_advanced,blend_equation_advanced}
* @requires_gles Advanced blend equations are not available in
* WebGL.
*/
@ -822,7 +822,7 @@ class MAGNUM_EXPORT Renderer {
* @ref setBlendEquation(BlendEquation).
* @see @ref blendBarrier()
* @requires_extension Extension @extension{KHR,blend_equation_advanced}
* @requires_es_extension Extension @es_extension2{KHR,blend_equation_advanced,blend_equation_advanced}
* @requires_es_extension Extension @extension2{KHR,blend_equation_advanced,blend_equation_advanced}
* @requires_gles Advanced blend equations are not available in
* WebGL.
*/
@ -834,7 +834,7 @@ class MAGNUM_EXPORT Renderer {
* @ref setBlendEquation(BlendEquation).
* @see @ref blendBarrier()
* @requires_extension Extension @extension{KHR,blend_equation_advanced}
* @requires_es_extension Extension @es_extension2{KHR,blend_equation_advanced,blend_equation_advanced}
* @requires_es_extension Extension @extension2{KHR,blend_equation_advanced,blend_equation_advanced}
* @requires_gles Advanced blend equations are not available in
* WebGL.
*/
@ -846,7 +846,7 @@ class MAGNUM_EXPORT Renderer {
* @ref setBlendEquation(BlendEquation).
* @see @ref blendBarrier()
* @requires_extension Extension @extension{KHR,blend_equation_advanced}
* @requires_es_extension Extension @es_extension2{KHR,blend_equation_advanced,blend_equation_advanced}
* @requires_es_extension Extension @extension2{KHR,blend_equation_advanced,blend_equation_advanced}
* @requires_gles Advanced blend equations are not available in
* WebGL.
*/
@ -858,7 +858,7 @@ class MAGNUM_EXPORT Renderer {
* @ref setBlendEquation(BlendEquation).
* @see @ref blendBarrier()
* @requires_extension Extension @extension{KHR,blend_equation_advanced}
* @requires_es_extension Extension @es_extension2{KHR,blend_equation_advanced,blend_equation_advanced}
* @requires_es_extension Extension @extension2{KHR,blend_equation_advanced,blend_equation_advanced}
* @requires_gles Advanced blend equations are not available in
* WebGL.
*/
@ -870,7 +870,7 @@ class MAGNUM_EXPORT Renderer {
* @ref setBlendEquation(BlendEquation).
* @see @ref blendBarrier()
* @requires_extension Extension @extension{KHR,blend_equation_advanced}
* @requires_es_extension Extension @es_extension2{KHR,blend_equation_advanced,blend_equation_advanced}
* @requires_es_extension Extension @extension2{KHR,blend_equation_advanced,blend_equation_advanced}
* @requires_gles Advanced blend equations are not available in
* WebGL.
*/
@ -882,7 +882,7 @@ class MAGNUM_EXPORT Renderer {
* @ref setBlendEquation(BlendEquation).
* @see @ref blendBarrier()
* @requires_extension Extension @extension{KHR,blend_equation_advanced}
* @requires_es_extension Extension @es_extension2{KHR,blend_equation_advanced,blend_equation_advanced}
* @requires_es_extension Extension @extension2{KHR,blend_equation_advanced,blend_equation_advanced}
* @requires_gles Advanced blend equations are not available in
* WebGL.
*/
@ -894,7 +894,7 @@ class MAGNUM_EXPORT Renderer {
* @ref setBlendEquation(BlendEquation).
* @see @ref blendBarrier()
* @requires_extension Extension @extension{KHR,blend_equation_advanced}
* @requires_es_extension Extension @es_extension2{KHR,blend_equation_advanced,blend_equation_advanced}
* @requires_es_extension Extension @extension2{KHR,blend_equation_advanced,blend_equation_advanced}
* @requires_gles Advanced blend equations are not available in
* WebGL.
*/
@ -906,7 +906,7 @@ class MAGNUM_EXPORT Renderer {
* @ref setBlendEquation(BlendEquation).
* @see @ref blendBarrier()
* @requires_extension Extension @extension{KHR,blend_equation_advanced}
* @requires_es_extension Extension @es_extension2{KHR,blend_equation_advanced,blend_equation_advanced}
* @requires_es_extension Extension @extension2{KHR,blend_equation_advanced,blend_equation_advanced}
* @requires_gles Advanced blend equations are not available in
* WebGL.
*/
@ -918,7 +918,7 @@ class MAGNUM_EXPORT Renderer {
* @ref setBlendEquation(BlendEquation).
* @see @ref blendBarrier()
* @requires_extension Extension @extension{KHR,blend_equation_advanced}
* @requires_es_extension Extension @es_extension2{KHR,blend_equation_advanced,blend_equation_advanced}
* @requires_es_extension Extension @extension2{KHR,blend_equation_advanced,blend_equation_advanced}
* @requires_gles Advanced blend equations are not available in
* WebGL.
*/
@ -930,7 +930,7 @@ class MAGNUM_EXPORT Renderer {
* @ref setBlendEquation(BlendEquation).
* @see @ref blendBarrier()
* @requires_extension Extension @extension{KHR,blend_equation_advanced}
* @requires_es_extension Extension @es_extension2{KHR,blend_equation_advanced,blend_equation_advanced}
* @requires_es_extension Extension @extension2{KHR,blend_equation_advanced,blend_equation_advanced}
* @requires_gles Advanced blend equations are not available in
* WebGL.
*/
@ -942,7 +942,7 @@ class MAGNUM_EXPORT Renderer {
* @ref setBlendEquation(BlendEquation).
* @see @ref blendBarrier()
* @requires_extension Extension @extension{KHR,blend_equation_advanced}
* @requires_es_extension Extension @es_extension2{KHR,blend_equation_advanced,blend_equation_advanced}
* @requires_es_extension Extension @extension2{KHR,blend_equation_advanced,blend_equation_advanced}
* @requires_gles Advanced blend equations are not available in
* WebGL.
*/
@ -954,7 +954,7 @@ class MAGNUM_EXPORT Renderer {
* @ref setBlendEquation(BlendEquation).
* @see @ref blendBarrier()
* @requires_extension Extension @extension{KHR,blend_equation_advanced}
* @requires_es_extension Extension @es_extension2{KHR,blend_equation_advanced,blend_equation_advanced}
* @requires_es_extension Extension @extension2{KHR,blend_equation_advanced,blend_equation_advanced}
* @requires_gles Advanced blend equations are not available in
* WebGL.
*/
@ -1155,12 +1155,12 @@ class MAGNUM_EXPORT Renderer {
* touched more than once.
*
* This is needed either when desktop/ES extension
* @extension3{KHR,blend_equation_advanced_coherent,blend_equation_advanced}
* is not available or when @extension3{KHR,blend_equation_advanced_coherent,blend_equation_advanced}
* @extension2{KHR,blend_equation_advanced_coherent,blend_equation_advanced}
* is not available or when @extension2{KHR,blend_equation_advanced_coherent,blend_equation_advanced}
* is available and @ref Feature::BlendAdvancedCoherent is turned off.
* @see @ref BlendEquation, @fn_gl_extension{BlendBarrier,KHR,blend_equation_advanced}
* @requires_extension Extension @extension{KHR,blend_equation_advanced}
* @requires_es_extension Extension @es_extension2{KHR,blend_equation_advanced,blend_equation_advanced}
* @requires_es_extension Extension @extension2{KHR,blend_equation_advanced,blend_equation_advanced}
* @requires_gles Advanced blend equations are not available in WebGL.
*/
static void blendBarrier() { glBlendBarrierKHR(); }
@ -1392,8 +1392,8 @@ class MAGNUM_EXPORT Renderer {
* Given operation would cause an internal stack to underflow.
* @see @ref DebugGroup
* @requires_gl43 Extension @extension{KHR,debug}
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,debug,debug}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,debug,debug}
* @requires_gles Debug output is not available in WebGL.
*/
#ifndef MAGNUM_TARGET_GLES
@ -1406,8 +1406,8 @@ class MAGNUM_EXPORT Renderer {
* Given operation would cause an internal stack to overflow.
* @see @ref DebugGroup
* @requires_gl43 Extension @extension{KHR,debug}
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,debug,debug}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,debug,debug}
* @requires_gles Debug output is not available in WebGL.
*/
#ifndef MAGNUM_TARGET_GLES
@ -1452,7 +1452,7 @@ class MAGNUM_EXPORT Renderer {
* Graphics reset will result in context loss, cause of the reset
* can be queried with @ref graphicsResetStatus().
* @requires_extension Extension @extension{ARB,robustness}
* @requires_es_extension Extension @es_extension{EXT,robustness}
* @requires_es_extension Extension @extension{EXT,robustness}
*/
#ifndef MAGNUM_TARGET_GLES
LoseContextOnReset = GL_LOSE_CONTEXT_ON_RESET_ARB
@ -1466,7 +1466,7 @@ class MAGNUM_EXPORT Renderer {
*
* The result is cached, repeated queries don't result in repeated
* OpenGL calls. If OpenGL extension @extension{ARB,robustness} or ES
* extension @es_extension{EXT,robustness} is not available, this
* extension @extension{EXT,robustness} is not available, this
* function always returns @ref ResetNotificationStrategy::NoResetNotification.
*
* For the reset notification to work, additionally to the extension
@ -1495,7 +1495,7 @@ class MAGNUM_EXPORT Renderer {
/**
* Reset attributable to the current context has been detected.
* @requires_extension Extension @extension{ARB,robustness}
* @requires_es_extension Extension @es_extension{EXT,robustness}
* @requires_es_extension Extension @extension{EXT,robustness}
*/
#ifndef MAGNUM_TARGET_GLES
GuiltyContextReset = GL_GUILTY_CONTEXT_RESET_ARB,
@ -1506,7 +1506,7 @@ class MAGNUM_EXPORT Renderer {
/**
* Reset not attributable to the current context has been detected.
* @requires_extension Extension @extension{ARB,robustness}
* @requires_es_extension Extension @es_extension{EXT,robustness}
* @requires_es_extension Extension @extension{EXT,robustness}
*/
#ifndef MAGNUM_TARGET_GLES
InnocentContextReset = GL_INNOCENT_CONTEXT_RESET_ARB,
@ -1517,7 +1517,7 @@ class MAGNUM_EXPORT Renderer {
/**
* Reset with unknown cause has been detected.
* @requires_extension Extension @extension{ARB,robustness}
* @requires_es_extension Extension @es_extension{EXT,robustness}
* @requires_es_extension Extension @extension{EXT,robustness}
*/
#ifndef MAGNUM_TARGET_GLES
UnknownContextReset = GL_UNKNOWN_CONTEXT_RESET_ARB
@ -1530,7 +1530,7 @@ class MAGNUM_EXPORT Renderer {
* @brief Check graphics reset status
*
* Reset causes all context state to be lost. If OpenGL extension
* @extension{ARB,robustness} or ES extension @es_extension{EXT,robustness}
* @extension{ARB,robustness} or ES extension @extension{EXT,robustness}
* is not available, this function always returns @ref GraphicsResetStatus::NoError.
*
* For the reset notification to work, additionally to the extension

2
src/Magnum/SampleQuery.h

@ -76,7 +76,7 @@ q.endConditionalRender();
@endcode
@see @ref PrimitiveQuery, @ref TimeQuery
@requires_gles30 Extension @es_extension{EXT,occlusion_query_boolean} in
@requires_gles30 Extension @extension{EXT,occlusion_query_boolean} in
OpenGL ES 2.0.
@requires_webgl20 Queries are not available in WebGL 1.0.
*/

18
src/Magnum/Sampler.h

@ -54,8 +54,8 @@ class MAGNUM_EXPORT Sampler {
/**
* Linear interpolation filtering.
* @requires_gles30 Extension @es_extension{OES,texture_float_linear} /
* @es_extension2{OES,texture_half_float_linear,OES_texture_float_linear}
* @requires_gles30 Extension @extension{OES,texture_float_linear} /
* @extension2{OES,texture_half_float_linear,OES_texture_float_linear}
* for linear interpolation of textures with
* @ref TextureFormat::HalfFloat / @ref TextureFormat::Float
* in OpenGL ES 2.0.
@ -83,8 +83,8 @@ class MAGNUM_EXPORT Sampler {
/**
* Linear interpolation of nearest mip levels. **Unavailable on
* rectangle textures.**
* @requires_gles30 Extension @es_extension{OES,texture_float_linear} /
* @es_extension2{OES,texture_half_float_linear,OES_texture_float_linear}
* @requires_gles30 Extension @extension{OES,texture_float_linear} /
* @extension2{OES,texture_half_float_linear,OES_texture_float_linear}
* for linear interpolation of textures with
* @ref TextureFormat::HalfFloat / @ref TextureFormat::Float
* in OpenGL ES 2.0.
@ -121,9 +121,9 @@ class MAGNUM_EXPORT Sampler {
* Clamp to border color. Coordinates out of range will be clamped
* to border color (set with
* @ref Texture::setBorderColor() "*Texture::setBorderColor()").
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension{EXT,texture_border_clamp} or
* @es_extension{NV,texture_border_clamp}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension{EXT,texture_border_clamp} or
* @extension{NV,texture_border_clamp}
* @requires_gles Border clamp is not available in WebGL.
*/
#ifndef MAGNUM_TARGET_GLES
@ -153,7 +153,7 @@ class MAGNUM_EXPORT Sampler {
*
* @see @ref CompareFunction,
* @ref Texture::setCompareMode() "*Texture::setCompareMode()"
* @requires_gles30 Extension @es_extension{EXT,shadow_samplers} in
* @requires_gles30 Extension @extension{EXT,shadow_samplers} in
* OpenGL ES 2.0.
* @requires_webgl20 Depth texture comparison is not available in WebGL
* 1.0.
@ -178,7 +178,7 @@ class MAGNUM_EXPORT Sampler {
* @ref CompareMode::CompareRefToTexture.
* @see @ref Texture::setCompareFunction() "*Texture::setCompareFunction()",
* @ref Texture::setCompareMode() "*Texture::setCompareMode()"
* @requires_gles30 Extension @es_extension{EXT,shadow_samplers} in
* @requires_gles30 Extension @extension{EXT,shadow_samplers} in
* OpenGL ES 2.0.
* @requires_webgl20 Depth texture comparison is not available in WebGL
* 1.0.

56
src/Magnum/Shader.h

@ -72,8 +72,8 @@ class MAGNUM_EXPORT Shader: public AbstractObject {
* Tessellation control shader
* @requires_gl40 Extension @extension{ARB,tessellation_shader}
* @requires_gles30 Not defined in OpenGL ES 2.0.
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension{EXT,tessellation_shader}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension{EXT,tessellation_shader}
* @requires_gles Tessellation shaders are not available in WebGL.
*/
#ifndef MAGNUM_TARGET_GLES
@ -86,8 +86,8 @@ class MAGNUM_EXPORT Shader: public AbstractObject {
* Tessellation evaluation shader
* @requires_gl40 Extension @extension{ARB,tessellation_shader}
* @requires_gles30 Not defined in OpenGL ES 2.0.
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension{EXT,tessellation_shader}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension{EXT,tessellation_shader}
* @requires_gles Tessellation shaders are not available in WebGL.
*/
#ifndef MAGNUM_TARGET_GLES
@ -100,8 +100,8 @@ class MAGNUM_EXPORT Shader: public AbstractObject {
* Geometry shader
* @requires_gl32 Extension @extension{ARB,geometry_shader4}
* @requires_gles30 Not defined in OpenGL ES 2.0.
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension{EXT,geometry_shader}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension{EXT,geometry_shader}
* @requires_gles Geometry shaders are not available in WebGL.
*/
#ifndef MAGNUM_TARGET_GLES
@ -143,8 +143,8 @@ class MAGNUM_EXPORT Shader: public AbstractObject {
*
* The result is cached, repeated queries don't result in repeated
* OpenGL calls. If neither @extension{ARB,tessellation_shader} (part
* of OpenGL 4.0) nor @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension{EXT,tessellation_shader} ES extension is available,
* of OpenGL 4.0) nor @extension{ANDROID,extension_pack_es31a}/
* @extension{EXT,tessellation_shader} ES extension is available,
* returns `0`.
* @see @fn_gl{Get} with @def_gl{MAX_TESS_CONTROL_INPUT_COMPONENTS}
* @requires_gles30 Not defined in OpenGL ES 2.0.
@ -157,8 +157,8 @@ class MAGNUM_EXPORT Shader: public AbstractObject {
*
* The result is cached, repeated queries don't result in repeated
* OpenGL calls. If neither @extension{ARB,tessellation_shader} (part
* of OpenGL 4.0) nor @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension{EXT,tessellation_shader} ES extension is available,
* of OpenGL 4.0) nor @extension{ANDROID,extension_pack_es31a}/
* @extension{EXT,tessellation_shader} ES extension is available,
* returns `0`.
* @see @fn_gl{Get} with @def_gl{MAX_TESS_CONTROL_OUTPUT_COMPONENTS}
* @requires_gles30 Not defined in OpenGL ES 2.0.
@ -171,8 +171,8 @@ class MAGNUM_EXPORT Shader: public AbstractObject {
*
* The result is cached, repeated queries don't result in repeated
* OpenGL calls. If neither @extension{ARB,tessellation_shader} (part
* of OpenGL 4.0) nor @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension{EXT,tessellation_shader} ES extension is available,
* of OpenGL 4.0) nor @extension{ANDROID,extension_pack_es31a}/
* @extension{EXT,tessellation_shader} ES extension is available,
* returns `0`.
* @see @fn_gl{Get} with @def_gl{MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS}
* @requires_gles30 Not defined in OpenGL ES 2.0.
@ -185,8 +185,8 @@ class MAGNUM_EXPORT Shader: public AbstractObject {
*
* The result is cached, repeated queries don't result in repeated
* OpenGL calls. If neither @extension{ARB,tessellation_shader} (part
* of OpenGL 4.0) nor @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension{EXT,tessellation_shader} ES extension is available,
* of OpenGL 4.0) nor @extension{ANDROID,extension_pack_es31a}/
* @extension{EXT,tessellation_shader} ES extension is available,
* returns `0`.
* @see @fn_gl{Get} with @def_gl{MAX_TESS_EVALUATION_INPUT_COMPONENTS}
* @requires_gles30 Not defined in OpenGL ES 2.0.
@ -199,8 +199,8 @@ class MAGNUM_EXPORT Shader: public AbstractObject {
*
* The result is cached, repeated queries don't result in repeated
* OpenGL calls. If neither @extension{ARB,tessellation_shader} (part
* of OpenGL 4.0) nor @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension{EXT,tessellation_shader} ES extension is available,
* of OpenGL 4.0) nor @extension{ANDROID,extension_pack_es31a}/
* @extension{EXT,tessellation_shader} ES extension is available,
* returns `0`.
* @see @fn_gl{Get} with @def_gl{MAX_TESS_EVALUATION_OUTPUT_COMPONENTS}
* @requires_gles30 Not defined in OpenGL ES 2.0.
@ -213,8 +213,8 @@ class MAGNUM_EXPORT Shader: public AbstractObject {
*
* The result is cached, repeated queries don't result in repeated
* OpenGL calls. If neither @extension{ARB,geometry_shader4} (part of
* OpenGL 3.2) nor @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension{EXT,geometry_shader} ES extension is not available,
* OpenGL 3.2) nor @extension{ANDROID,extension_pack_es31a}/
* @extension{EXT,geometry_shader} ES extension is not available,
* returns `0`.
* @see @fn_gl{Get} with @def_gl{MAX_GEOMETRY_INPUT_COMPONENTS}
* @requires_gles30 Not defined in OpenGL ES 2.0.
@ -227,8 +227,8 @@ class MAGNUM_EXPORT Shader: public AbstractObject {
*
* The result is cached, repeated queries don't result in repeated
* OpenGL calls. If neither @extension{ARB,geometry_shader4} (part of
* OpenGL 3.2) nor @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension{EXT,geometry_shader} ES extension is not available,
* OpenGL 3.2) nor @extension{ANDROID,extension_pack_es31a}/
* @extension{EXT,geometry_shader} ES extension is not available,
* returns `0`.
* @see @fn_gl{Get} with @def_gl{MAX_GEOMETRY_OUTPUT_COMPONENTS}
* @requires_gles30 Not defined in OpenGL ES 2.0.
@ -241,8 +241,8 @@ class MAGNUM_EXPORT Shader: public AbstractObject {
*
* The result is cached, repeated queries don't result in repeated
* OpenGL calls. If neither @extension{ARB,geometry_shader4} (part of
* OpenGL 3.2) nor @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension{EXT,geometry_shader} ES extension is not available,
* OpenGL 3.2) nor @extension{ANDROID,extension_pack_es31a}/
* @extension{EXT,geometry_shader} ES extension is not available,
* returns `0`.
* @see @fn_gl{Get} with @def_gl{MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS}
* @requires_gles30 Not defined in OpenGL ES 2.0.
@ -549,11 +549,11 @@ class MAGNUM_EXPORT Shader: public AbstractObject {
*
* The result is *not* cached, repeated queries will result in repeated
* OpenGL calls. If OpenGL 4.3 is not supported and neither
* @extension{KHR,debug} (covered also by @es_extension{ANDROID,extension_pack_es31a})
* nor @extension2{EXT,debug_label} desktop or ES extension is
* @extension{KHR,debug} (covered also by @extension{ANDROID,extension_pack_es31a})
* nor @extension{EXT,debug_label} desktop or ES extension is
* available, this function returns empty string.
* @see @fn_gl{GetObjectLabel} with @def_gl{SHADER} or
* @fn_gl_extension2{GetObjectLabel,EXT,debug_label} with
* @fn_gl_extension{GetObjectLabel,EXT,debug_label} with
* @def_gl{SHADER_OBJECT_EXT}
* @requires_gles Debug output is not available in WebGL.
*/
@ -564,11 +564,11 @@ class MAGNUM_EXPORT Shader: public AbstractObject {
* @return Reference to self (for method chaining)
*
* Default is empty string. If OpenGL 4.3 is not supported and neither
* @extension{KHR,debug} (covered also by @es_extension{ANDROID,extension_pack_es31a})
* nor @extension2{EXT,debug_label} desktop or ES extension is
* @extension{KHR,debug} (covered also by @extension{ANDROID,extension_pack_es31a})
* nor @extension{EXT,debug_label} desktop or ES extension is
* available, this function does nothing.
* @see @ref maxLabelLength(), @fn_gl{ObjectLabel} with
* @def_gl{SHADER} or @fn_gl_extension2{LabelObject,EXT,debug_label}
* @def_gl{SHADER} or @fn_gl_extension{LabelObject,EXT,debug_label}
* with @def_gl{SHADER_OBJECT_EXT}
* @requires_gles Debug output is not available in WebGL.
*/

6
src/Magnum/Shaders/MeshVisualizer.h

@ -56,7 +56,7 @@ If you have geometry shaders available, you don't need to do anything else.
@requires_gl32 Extension @extension{ARB,geometry_shader4} for wireframe
rendering using geometry shaders.
@requires_es_extension Extension @es_extension{EXT,geometry_shader} for
@requires_es_extension Extension @extension{EXT,geometry_shader} for
wireframe rendering using geometry shaders.
If you don't have geometry shaders, you need to set @ref Flag::NoGeometryShader
@ -65,10 +65,10 @@ meshes (see @ref MeshTools::duplicate() for possible solution). Additionaly, if
you have OpenGL < 3.1 or OpenGL ES 2.0, you need to provide also
@ref VertexIndex attribute.
@requires_gles30 Extension @es_extension{OES,standard_derivatives} for
@requires_gles30 Extension @extension{OES,standard_derivatives} for
wireframe rendering without geometry shaders.
If using geometry shaders on OpenGL ES, @es_extension{NV,shader_noperspective_interpolation}
If using geometry shaders on OpenGL ES, @extension{NV,shader_noperspective_interpolation}
is optionally used for improving line appearance.
## Example usage

2
src/Magnum/Text/DistanceFieldGlyphCache.h

@ -65,7 +65,7 @@ class MAGNUM_TEXT_EXPORT DistanceFieldGlyphCache: public GlyphCache {
* See @ref TextureTools::distanceField() for more information about
* the parameters. Sets internal texture format to red channel only. On
* desktop OpenGL requires @extension{ARB,texture_rg} (also part of
* OpenGL ES 3.0), in ES2 uses @es_extension{EXT,texture_rg} if
* OpenGL ES 3.0), in ES2 uses @extension{EXT,texture_rg} if
* available or @ref TextureFormat::RGB as fallback.
* @todo Is Luminance format renderable anywhere? Also would it be
* possible to convert the RGB texture to Luminance after it has

2
src/Magnum/Text/GlyphCache.h

@ -87,7 +87,7 @@ class MAGNUM_TEXT_EXPORT GlyphCache {
*
* Sets internal texture format to red channel only. On desktop OpenGL
* requires @extension{ARB,texture_rg} (also part of OpenGL ES 3.0), in
* ES2 uses @es_extension{EXT,texture_rg}, if available, or
* ES2 uses @extension{EXT,texture_rg}, if available, or
* @ref TextureFormat::Luminance as fallback.
*/
explicit GlyphCache(const Vector2i& originalSize, const Vector2i& size, const Vector2i& padding = Vector2i());

6
src/Magnum/Text/Renderer.h

@ -229,9 +229,9 @@ renderer.mesh().draw(shader);
## Required OpenGL functionality
Mutable text rendering requires @extension{ARB,map_buffer_range} on desktop
OpenGL (also part of OpenGL ES 3.0). If neither @es_extension{EXT,map_buffer_range}
nor @es_extension{CHROMIUM,map_sub} is not available in ES 2.0, at least
@es_extension{OES,mapbuffer} must be supported for asynchronous buffer updates.
OpenGL (also part of OpenGL ES 3.0). If neither @extension{EXT,map_buffer_range}
nor @extension{CHROMIUM,map_sub} is not available in ES 2.0, at least
@extension{OES,mapbuffer} must be supported for asynchronous buffer updates.
There is no similar extension in WebGL, thus plain (and slow) buffer updates
are used there.

34
src/Magnum/Texture.h

@ -98,7 +98,7 @@ in shaders.
@see @ref Texture1D, @ref Texture2D, @ref Texture3D, @ref TextureArray,
@ref CubeMapTexture, @ref CubeMapTextureArray, @ref RectangleTexture,
@ref BufferTexture, @ref MultisampleTexture
@requires_gles30 Extension @es_extension{OES,texture_3D} for 3D textures in
@requires_gles30 Extension @extension{OES,texture_3D} for 3D textures in
OpenGL ES 2.0.
@requires_webgl20 3D textures are not available in WebGL 1.0.
@requires_gl 1D textures are not available in OpenGL ES or WebGL.
@ -114,7 +114,7 @@ template<UnsignedInt dimensions> class Texture: public AbstractTexture {
*
* The result is cached, repeated queries don't result in repeated
* OpenGL calls. For 3D textures in OpenGL ES 2.0, if
* @es_extension{OES,texture_3D} extension is not available, returns
* @extension{OES,texture_3D} extension is not available, returns
* zero vector.
* @see @fn_gl{Get} with @def_gl{MAX_TEXTURE_SIZE},
* @def_gl{MAX_3D_TEXTURE_SIZE}
@ -323,7 +323,7 @@ template<UnsignedInt dimensions> class Texture: public AbstractTexture {
* @fn_gl_extension{TextureParameter,EXT,direct_state_access},
* eventually @fn_gl{ActiveTexture}, @fn_gl{BindTexture} and
* @fn_gl{TexParameter} with @def_gl{TEXTURE_MAX_LEVEL}
* @requires_gles30 Extension @es_extension{APPLE,texture_max_level},
* @requires_gles30 Extension @extension{APPLE,texture_max_level},
* otherwise the max level is always set to largest possible value
* in OpenGL ES 2.0.
* @requires_webgl20 Always set to largest possible value in WebGL 1.0.
@ -486,9 +486,9 @@ template<UnsignedInt dimensions> class Texture: public AbstractTexture {
* @fn_gl_extension{TextureParameter,EXT,direct_state_access},
* eventually @fn_gl{ActiveTexture}, @fn_gl{BindTexture} and
* @fn_gl{TexParameter} with @def_gl{TEXTURE_BORDER_COLOR}
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension{EXT,texture_border_clamp} or
* @es_extension{NV,texture_border_clamp}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension{EXT,texture_border_clamp} or
* @extension{NV,texture_border_clamp}
* @requires_gles Border clamp is not available in WebGL.
*/
Texture<dimensions>& setBorderColor(const Color4& color) {
@ -514,8 +514,8 @@ template<UnsignedInt dimensions> class Texture: public AbstractTexture {
* @requires_gl30 Extension @extension{EXT,texture_integer}
* @requires_gles30 Not defined in OpenGL ES 2.0.
* @requires_es_extension Extension
* @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension{EXT,texture_border_clamp}
* @extension{ANDROID,extension_pack_es31a}/
* @extension{EXT,texture_border_clamp}
* @requires_gles Border clamp is not available in WebGL.
*/
Texture<dimensions>& setBorderColor(const Vector4ui& color) {
@ -527,8 +527,8 @@ template<UnsignedInt dimensions> class Texture: public AbstractTexture {
* @requires_gl30 Extension @extension{EXT,texture_integer}
* @requires_gles30 Not defined in OpenGL ES 2.0.
* @requires_es_extension Extension
* @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension{EXT,texture_border_clamp}
* @extension{ANDROID,extension_pack_es31a}/
* @extension{EXT,texture_border_clamp}
* @requires_gles Border clamp is not available in WebGL.
*/
Texture<dimensions>& setBorderColor(const Vector4i& color) {
@ -575,9 +575,9 @@ template<UnsignedInt dimensions> class Texture: public AbstractTexture {
* @fn_gl{TexParameter} with @def_gl{TEXTURE_SRGB_DECODE_EXT}
* @requires_extension Extension @extension{EXT,texture_sRGB_decode}
* @requires_es_extension OpenGL ES 3.0 or extension
* @es_extension{EXT,sRGB} and
* @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{EXT,texture_sRGB_decode,texture_sRGB_decode}
* @extension{EXT,sRGB} and
* @extension{ANDROID,extension_pack_es31a}/
* @extension2{EXT,texture_sRGB_decode,texture_sRGB_decode}
* @requires_gles SRGB decode is not available in WebGL.
*/
Texture<dimensions>& setSRGBDecode(bool decode) {
@ -632,7 +632,7 @@ template<UnsignedInt dimensions> class Texture: public AbstractTexture {
* @fn_gl_extension{TextureParameter,EXT,direct_state_access},
* eventually @fn_gl{ActiveTexture}, @fn_gl{BindTexture} and
* @fn_gl{TexParameter} with @def_gl{TEXTURE_COMPARE_MODE}
* @requires_gles30 Extension @es_extension{EXT,shadow_samplers} in
* @requires_gles30 Extension @extension{EXT,shadow_samplers} in
* OpenGL ES 2.0.
* @requires_webgl20 Depth texture comparison is not available in WebGL
* 1.0.
@ -657,7 +657,7 @@ template<UnsignedInt dimensions> class Texture: public AbstractTexture {
* @fn_gl_extension{TextureParameter,EXT,direct_state_access},
* eventually @fn_gl{ActiveTexture}, @fn_gl{BindTexture} and
* @fn_gl{TexParameter} with @def_gl{TEXTURE_COMPARE_FUNC}
* @requires_gles30 Extension @es_extension{EXT,shadow_samplers} in
* @requires_gles30 Extension @extension{EXT,shadow_samplers} in
* OpenGL ES 2.0.
* @requires_webgl20 Depth texture comparison is not available in WebGL
* 1.0.
@ -708,7 +708,7 @@ template<UnsignedInt dimensions> class Texture: public AbstractTexture {
* nor @extension{EXT,direct_state_access} desktop extension is
* available, the texture is bound before the operation (if not
* already). If neither @extension{ARB,texture_storage} (part of OpenGL
* 4.2), OpenGL ES 3.0 nor @es_extension{EXT,texture_storage} in OpenGL
* 4.2), OpenGL ES 3.0 nor @extension{EXT,texture_storage} in OpenGL
* ES 2.0 is available, the feature is emulated with sequence of
* @ref setImage() calls.
* @see @ref maxSize(), @ref setMaxLevel(), @fn_gl2{TextureStorage1D,TexStorage1D} /
@ -1286,7 +1286,7 @@ typedef Texture<2> Texture2D;
/**
@brief Three-dimensional texture
@requires_gles30 Extension @es_extension{OES,texture_3D} in OpenGL ES 2.0
@requires_gles30 Extension @extension{OES,texture_3D} in OpenGL ES 2.0
@requires_webgl20 3D textures are not available in WebGL 1.0.
*/
typedef Texture<3> Texture3D;

20
src/Magnum/TextureArray.h

@ -92,7 +92,7 @@ documentation for more information about usage in shaders.
@requires_webgl20 Array textures are not available in WebGL 1.0.
@requires_gl 1D array textures are not available in OpenGL ES or WebGL, only
2D ones.
@todo Fix this when @es_extension{NV,texture_array} is in ES2 extension headers
@todo Fix this when @extension{NV,texture_array} is in ES2 extension headers
*/
template<UnsignedInt dimensions> class TextureArray: public AbstractTexture {
public:
@ -328,9 +328,9 @@ template<UnsignedInt dimensions> class TextureArray: public AbstractTexture {
*
* See @ref Texture::setBorderColor(const Color4&) for more
* information.
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension{EXT,texture_border_clamp} or
* @es_extension{NV,texture_border_clamp}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension{EXT,texture_border_clamp} or
* @extension{NV,texture_border_clamp}
* @requires_gles Border clamp is not available in WebGL.
*/
TextureArray<dimensions>& setBorderColor(const Color4& color) {
@ -345,8 +345,8 @@ template<UnsignedInt dimensions> class TextureArray: public AbstractTexture {
* See @ref Texture::setBorderColor(const Vector4ui&) for more
* information.
* @requires_gl30 Extension @extension{EXT,texture_integer}
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension{EXT,texture_border_clamp}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension{EXT,texture_border_clamp}
* @requires_gles Border clamp is not available in WebGL.
*/
TextureArray<dimensions>& setBorderColor(const Vector4ui& color) {
@ -356,8 +356,8 @@ template<UnsignedInt dimensions> class TextureArray: public AbstractTexture {
/** @overload
* @requires_gl30 Extension @extension{EXT,texture_integer}
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension{EXT,texture_border_clamp}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension{EXT,texture_border_clamp}
* @requires_gles Border clamp is not available in WebGL.
*/
TextureArray<dimensions>& setBorderColor(const Vector4i& color) {
@ -384,8 +384,8 @@ template<UnsignedInt dimensions> class TextureArray: public AbstractTexture {
*
* See @ref Texture::setSRGBDecode() for more information.
* @requires_extension Extension @extension{EXT,texture_sRGB_decode}
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{EXT,texture_sRGB_decode,texture_sRGB_decode}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{EXT,texture_sRGB_decode,texture_sRGB_decode}
* @requires_gles SRGB decode is not available in WebGL.
*/
TextureArray<dimensions>& setSRGBDecode(bool decode) {

320
src/Magnum/TextureFormat.h

@ -53,7 +53,7 @@ enum class TextureFormat: GLenum {
* calls, in that case use @ref TextureFormat::R8 "TextureFormat::R8"
* instead.
* @requires_gl30 Extension @extension{ARB,texture_rg}
* @requires_gles30 Extension @es_extension{EXT,texture_rg} in OpenGL ES
* @requires_gles30 Extension @extension{EXT,texture_rg} in OpenGL ES
* 2.0.
* @requires_webgl20 Not available in WebGL 1.0, see @ref TextureFormat::Luminance
* for an alternative.
@ -69,8 +69,8 @@ enum class TextureFormat: GLenum {
/**
* Red component, normalized unsigned byte.
* @requires_gl30 Extension @extension{ARB,texture_rg}
* @requires_gles30 Extension @es_extension{EXT,texture_rg} and
* @es_extension{EXT,texture_storage} in OpenGL ES 2.0. For texture
* @requires_gles30 Extension @extension{EXT,texture_rg} and
* @extension{EXT,texture_storage} in OpenGL ES 2.0. For texture
* storage only, for image specification use @ref TextureFormat::Red
* instead.
* @requires_webgl20 Not available in WebGL 1.0, see @ref TextureFormat::Luminance
@ -90,7 +90,7 @@ enum class TextureFormat: GLenum {
* @ref Texture::setStorage() "*Texture::setStorage()" calls, in that case
* use @ref TextureFormat::RG8 "TextureFormat::RG8" instead.
* @requires_gl30 Extension @extension{ARB,texture_rg}
* @requires_gles30 Extension @es_extension{EXT,texture_rg} in OpenGL ES
* @requires_gles30 Extension @extension{EXT,texture_rg} in OpenGL ES
* 2.0.
* @requires_webgl20 Not available in WebGL 1.0, see
* @ref TextureFormat::LuminanceAlpha for an alternative.
@ -106,8 +106,8 @@ enum class TextureFormat: GLenum {
/**
* Red and green component, each normalized unsigned byte.
* @requires_gl30 Extension @extension{ARB,texture_rg}
* @requires_gles30 Extension @es_extension{EXT,texture_rg} and
* @es_extension{EXT,texture_storage} in OpenGL ES 2.0. For texture
* @requires_gles30 Extension @extension{EXT,texture_rg} and
* @extension{EXT,texture_storage} in OpenGL ES 2.0. For texture
* storage only, for image specification use @ref TextureFormat::RG
* instead.
* @requires_webgl20 Not available in WebGL 1.0, see
@ -132,8 +132,8 @@ enum class TextureFormat: GLenum {
#if !(defined(MAGNUM_TARGET_WEBGL) && defined(MAGNUM_TARGET_GLES2))
/**
* RGB, each component normalized unsigned byte.
* @requires_gles30 Extension @es_extension{OES,required_internalformat}
* (for image specification) or @es_extension{EXT,texture_storage}
* @requires_gles30 Extension @extension{OES,required_internalformat}
* (for image specification) or @extension{EXT,texture_storage}
* (for texture storage) in OpenGL ES 2.0. Use @ref TextureFormat::RGB
* otherwise.
* @requires_webgl20 Not available in WebGL 1.0, use
@ -158,8 +158,8 @@ enum class TextureFormat: GLenum {
#if !(defined(MAGNUM_TARGET_WEBGL) && defined(MAGNUM_TARGET_GLES2))
/**
* RGBA, each component normalized unsigned byte.
* @requires_gles30 Extension @es_extension{OES,required_internalformat}
* (for image specification) or @es_extension{EXT,texture_storage}
* @requires_gles30 Extension @extension{OES,required_internalformat}
* (for image specification) or @extension{EXT,texture_storage}
* (for texture storage) in OpenGL ES 2.0. Use @ref TextureFormat::RGBA
* otherwise.
* @requires_webgl20 Not available in WebGL 1.0, use
@ -644,8 +644,8 @@ enum class TextureFormat: GLenum {
/**
* RGB, normalized unsigned, red and blue component 5bit, green 6bit.
* @requires_gles30 Extension @es_extension{OES,required_internalformat}
* (for image specification) or @es_extension{EXT,texture_storage}
* @requires_gles30 Extension @extension{OES,required_internalformat}
* (for image specification) or @extension{EXT,texture_storage}
* (for texture storage) in OpenGL ES 2.0.
* @requires_webgl20 Not available in WebGL 1.0, see @ref TextureFormat::RGB
* for an alternative.
@ -655,9 +655,9 @@ enum class TextureFormat: GLenum {
#if !defined(MAGNUM_TARGET_GLES) || (defined(MAGNUM_TARGET_GLES2) && !defined(MAGNUM_TARGET_WEBGL))
/**
* RGB, each component normalized unsigned 10bit.
* @requires_es_extension Extension @es_extension{EXT,texture_type_2_10_10_10_REV}
* and either @es_extension{OES,required_internalformat} (for image
* specification) or @es_extension{EXT,texture_storage} (for texture
* @requires_es_extension Extension @extension{EXT,texture_type_2_10_10_10_REV}
* and either @extension{OES,required_internalformat} (for image
* specification) or @extension{EXT,texture_storage} (for texture
* storage) in OpenGL ES 2.0. Included for compatibility reasons only,
* use @ref TextureFormat::RGB10A2 in OpenGL ES 3.0 instead.
* @requires_gles Not available in WebGL, use @ref TextureFormat::RGB10A2
@ -703,7 +703,7 @@ enum class TextureFormat: GLenum {
* sRGB, normalized unsigned, size implementation-dependent. Not allowed in
* unemulated @ref Texture::setStorage() "*Texture::setStorage()" calls, in
* that case use @ref TextureFormat::SRGB8 "TextureFormat::SRGB8" instead.
* @requires_es_extension Extension @es_extension{EXT,sRGB} in OpenGL ES 2.0.
* @requires_es_extension Extension @extension{EXT,sRGB} in OpenGL ES 2.0.
* Use @ref TextureFormat::SRGB8 in OpenGL ES 3.0 instead.
* @requires_webgl_extension Extension @webgl_extension{EXT,sRGB} in WebGL
* 1.0. Use @ref TextureFormat::SRGB8 in WebGL 2.0 instead.
@ -736,8 +736,8 @@ enum class TextureFormat: GLenum {
/**
* RGBA, normalized unsigned, each component 4bit.
* @requires_gles30 Extension @es_extension{OES,required_internalformat}
* (for image specification) or @es_extension{EXT,texture_storage}
* @requires_gles30 Extension @extension{OES,required_internalformat}
* (for image specification) or @extension{EXT,texture_storage}
* (for texture storage) in OpenGL ES 2.0. Use @ref TextureFormat::RGBA
* otherwise.
* @requires_webgl20 Not available in WebGL 1.0, use @ref TextureFormat::RGBA
@ -747,8 +747,8 @@ enum class TextureFormat: GLenum {
/**
* RGBA, normalized unsigned, each RGB component 5bit, alpha 1bit.
* @requires_gles30 Extension @es_extension{OES,required_internalformat}
* (for image specification) or @es_extension{EXT,texture_storage}
* @requires_gles30 Extension @extension{OES,required_internalformat}
* (for image specification) or @extension{EXT,texture_storage}
* (for texture storage) in OpenGL ES 2.0. Use @ref TextureFormat::RGBA
* otherwise.
* @requires_webgl20 Not available in WebGL 1.0, use @ref TextureFormat::RGBA
@ -759,9 +759,9 @@ enum class TextureFormat: GLenum {
#if !(defined(MAGNUM_TARGET_WEBGL) && defined(MAGNUM_TARGET_GLES2))
/**
* RGBA, normalized unsigned, each RGB component 10bit, alpha 2bit.
* @requires_gles30 Extension @es_extension{EXT,texture_type_2_10_10_10_REV}
* and either @es_extension{OES,required_internalformat} (for image
* specification) or @es_extension{EXT,texture_storage} (for texture
* @requires_gles30 Extension @extension{EXT,texture_type_2_10_10_10_REV}
* and either @extension{OES,required_internalformat} (for image
* specification) or @extension{EXT,texture_storage} (for texture
* storage) in OpenGL ES 2.0.
* @requires_webgl20 Not available in WebGL 1.0.
*/
@ -797,7 +797,7 @@ enum class TextureFormat: GLenum {
* sRGBA, normalized unsigned, size implementation-dependent. Not allowed in
* unemulated @ref Texture::setStorage() "*Texture::setStorage()" calls, in
* that case use @ref TextureFormat::SRGB8Alpha8 "TextureFormat::SRGB8Alpha8" instead.
* @requires_es_extension Extension @es_extension{EXT,sRGB} in OpenGL ES
* @requires_es_extension Extension @extension{EXT,sRGB} in OpenGL ES
* 2.0. Use @ref TextureFormat::SRGB8Alpha8 in OpenGL ES 3.0 instead.
* @requires_webgl_extension Extension @webgl_extension{EXT,sRGB} in WebGL
* 1.0. Use @ref TextureFormat::SRGB8Alpha8 in WebGL 2.0 instead.
@ -1028,7 +1028,7 @@ enum class TextureFormat: GLenum {
* S3TC DXT1 compressed RGB. **Available only on 2D, 2D array, cube map and
* cube map array textures.**
* @requires_extension Extension @extension{EXT,texture_compression_s3tc}
* @requires_es_extension Extension @es_extension2{EXT,texture_compression_s3tc,texture_compression_s3tc}
* @requires_es_extension Extension @extension2{EXT,texture_compression_s3tc,texture_compression_s3tc}
* @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_s3tc}
*/
CompressedRGBS3tcDxt1 = GL_COMPRESSED_RGB_S3TC_DXT1_EXT,
@ -1037,7 +1037,7 @@ enum class TextureFormat: GLenum {
* S3TC DXT1 compressed RGBA. **Available only on 2D, 2D array, cube map
* and cube map array textures.**
* @requires_extension Extension @extension{EXT,texture_compression_s3tc}
* @requires_es_extension Extension @es_extension2{EXT,texture_compression_s3tc,texture_compression_s3tc}
* @requires_es_extension Extension @extension2{EXT,texture_compression_s3tc,texture_compression_s3tc}
* @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_s3tc}
*/
CompressedRGBAS3tcDxt1 = GL_COMPRESSED_RGBA_S3TC_DXT1_EXT,
@ -1046,7 +1046,7 @@ enum class TextureFormat: GLenum {
* S3TC DXT3 compressed RGBA. **Available only on 2D, 2D array, cube map
* and cube map array textures.**
* @requires_extension Extension @extension{EXT,texture_compression_s3tc}
* @requires_es_extension Extension @es_extension2{EXT,texture_compression_s3tc,texture_compression_s3tc}
* @requires_es_extension Extension @extension2{EXT,texture_compression_s3tc,texture_compression_s3tc}
* @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_s3tc}
*/
CompressedRGBAS3tcDxt3 = GL_COMPRESSED_RGBA_S3TC_DXT3_EXT,
@ -1055,7 +1055,7 @@ enum class TextureFormat: GLenum {
* S3TC DXT5 compressed RGBA. **Available only on 2D, 2D array, cube map
* and cube map array textures.**
* @requires_extension Extension @extension{EXT,texture_compression_s3tc}
* @requires_es_extension Extension @es_extension2{EXT,texture_compression_s3tc,texture_compression_s3tc}
* @requires_es_extension Extension @extension2{EXT,texture_compression_s3tc,texture_compression_s3tc}
* @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_s3tc}
*/
CompressedRGBAS3tcDxt5 = GL_COMPRESSED_RGBA_S3TC_DXT5_EXT,
@ -1064,12 +1064,12 @@ enum class TextureFormat: GLenum {
/**
* ASTC compressed RGBA with 4x4 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -1078,12 +1078,12 @@ enum class TextureFormat: GLenum {
/**
* ASTC compressed sRGB with alpha with 4x4 blocks. **Available only on 2D,
* 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -1092,12 +1092,12 @@ enum class TextureFormat: GLenum {
/**
* ASTC compressed RGBA with 5x4 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -1106,12 +1106,12 @@ enum class TextureFormat: GLenum {
/**
* ASTC compressed sRGB with alpha with 5x4 blocks. **Available only on 2D,
* 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -1120,12 +1120,12 @@ enum class TextureFormat: GLenum {
/**
* ASTC compressed RGBA with 5x5 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -1134,12 +1134,12 @@ enum class TextureFormat: GLenum {
/**
* ASTC compressed sRGB with alpha with 5x5 blocks. **Available only on 2D,
* 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -1148,12 +1148,12 @@ enum class TextureFormat: GLenum {
/**
* ASTC compressed RGBA with 6x5 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -1162,12 +1162,12 @@ enum class TextureFormat: GLenum {
/**
* ASTC compressed sRGB with alpha with 6x5 blocks. **Available only on 2D,
* 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -1176,12 +1176,12 @@ enum class TextureFormat: GLenum {
/**
* ASTC compressed RGBA with 6x6 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -1190,12 +1190,12 @@ enum class TextureFormat: GLenum {
/**
* ASTC compressed sRGB with alpha with 6x6 blocks. **Available only on 2D,
* 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -1204,12 +1204,12 @@ enum class TextureFormat: GLenum {
/**
* ASTC compressed RGBA with 8x5 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -1218,12 +1218,12 @@ enum class TextureFormat: GLenum {
/**
* ASTC compressed sRGB with alpha with 8x5 blocks. **Available only on 2D,
* 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -1232,12 +1232,12 @@ enum class TextureFormat: GLenum {
/**
* ASTC compressed RGBA with 8x6 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -1246,12 +1246,12 @@ enum class TextureFormat: GLenum {
/**
* ASTC compressed sRGB with alpha with 8x6 blocks. **Available only on 2D,
* 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -1260,12 +1260,12 @@ enum class TextureFormat: GLenum {
/**
* ASTC compressed RGBA with 8x8 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -1274,12 +1274,12 @@ enum class TextureFormat: GLenum {
/**
* ASTC compressed sRGB with alpha with 8x8 blocks. **Available only on 2D,
* 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -1288,12 +1288,12 @@ enum class TextureFormat: GLenum {
/**
* ASTC compressed RGBA with 10x5 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -1302,12 +1302,12 @@ enum class TextureFormat: GLenum {
/**
* ASTC compressed sRGB with alpha with 10x5 blocks. **Available only on
* 2D, 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -1316,12 +1316,12 @@ enum class TextureFormat: GLenum {
/**
* ASTC compressed RGBA with 10x6 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -1330,12 +1330,12 @@ enum class TextureFormat: GLenum {
/**
* ASTC compressed sRGB with alpha with 10x6 blocks. **Available only on
* 2D, 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -1344,12 +1344,12 @@ enum class TextureFormat: GLenum {
/**
* ASTC compressed RGBA with 10x8 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -1358,12 +1358,12 @@ enum class TextureFormat: GLenum {
/**
* ASTC compressed sRGB with alpha with 10x8 blocks. **Available only on
* 2D, 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -1372,12 +1372,12 @@ enum class TextureFormat: GLenum {
/**
* ASTC compressed RGBA with 10x10 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -1386,12 +1386,12 @@ enum class TextureFormat: GLenum {
/**
* ASTC compressed sRGB with alpha with 10x10 blocks. **Available only on
* 2D, 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -1400,12 +1400,12 @@ enum class TextureFormat: GLenum {
/**
* ASTC compressed RGBA with 12x10 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -1414,12 +1414,12 @@ enum class TextureFormat: GLenum {
/**
* ASTC compressed sRGB with alpha with 12x10 blocks. **Available only on
* 2D, 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -1428,12 +1428,12 @@ enum class TextureFormat: GLenum {
/**
* ASTC compressed RGBA with 12x12 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -1442,12 +1442,12 @@ enum class TextureFormat: GLenum {
/**
* ASTC compressed sRGB with alpha with 12x12 blocks. **Available only on
* 2D, 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
@ -1459,8 +1459,8 @@ enum class TextureFormat: GLenum {
* textures. Not allowed in unemulated @ref Texture::setStorage()
* "*Texture::setStorage()" calls, in that case use e.g.
* @ref TextureFormat::DepthComponent24 "TextureFormat::DepthComponent24" instead.
* @requires_gles30 Extension @es_extension{OES,depth_texture} or
* @es_extension{ANGLE,depth_texture} in OpenGL ES 2.0.
* @requires_gles30 Extension @extension{OES,depth_texture} or
* @extension{ANGLE,depth_texture} in OpenGL ES 2.0.
* @requires_webgl20 Extension @webgl_extension{WEBGL,depth_texture} in
* WebGL 1.0.
* @deprecated_gl Prefer to use the exactly specified version of this
@ -1471,10 +1471,10 @@ enum class TextureFormat: GLenum {
#if !(defined(MAGNUM_TARGET_WEBGL) && defined(MAGNUM_TARGET_GLES2))
/**
* Depth component, 16bit. Not supported in 3D textures.
* @requires_gles30 Extension @es_extension{OES,depth_texture} or
* @es_extension{ANGLE,depth_texture} and either
* @es_extension{OES,required_internalformat} (for image
* specification) or @es_extension{EXT,texture_storage} (for texture
* @requires_gles30 Extension @extension{OES,depth_texture} or
* @extension{ANGLE,depth_texture} and either
* @extension{OES,required_internalformat} (for image
* specification) or @extension{EXT,texture_storage} (for texture
* storage) in OpenGL ES 2.0. Use @ref TextureFormat::DepthComponent
* otherwise.
* @requires_webgl20 Not available in WebGL 1.0, use
@ -1484,8 +1484,8 @@ enum class TextureFormat: GLenum {
/**
* Depth component, 24bit. Not supported in 3D textures.
* @requires_gles30 Extension @es_extension{OES,required_internalformat},
* @es_extension{OES,depth_texture} and @es_extension{OES,depth24} in
* @requires_gles30 Extension @extension{OES,required_internalformat},
* @extension{OES,depth_texture} and @extension{OES,depth24} in
* OpenGL ES 2.0. Use @ref TextureFormat::DepthComponent otherwise.
* @requires_webgl20 Not available in WebGL 1.0, use
* @ref TextureFormat::DepthComponent instead.
@ -1500,10 +1500,10 @@ enum class TextureFormat: GLenum {
#ifndef MAGNUM_TARGET_WEBGL
/**
* Depth component, 32bit. Not supported in 3D textures.
* @requires_es_extension Extension @es_extension{OES,depth_texture} or
* @es_extension{ANGLE,depth_texture} and @es_extension{OES,depth32}
* and @es_extension{OES,required_internalformat} (for image
* specification) or @es_extension{EXT,texture_storage} (for texture
* @requires_es_extension Extension @extension{OES,depth_texture} or
* @extension{ANGLE,depth_texture} and @extension{OES,depth32}
* and @extension{OES,required_internalformat} (for image
* specification) or @extension{EXT,texture_storage} (for texture
* storage) in OpenGL ES 2.0.
* @requires_gles Not available in WebGL.
*/
@ -1530,8 +1530,8 @@ enum class TextureFormat: GLenum {
/**
* Stencil index, 8bit. Not supported in 3D textures.
* @requires_gl44 Extension @extension{ARB,texture_stencil8}
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension{OES,texture_stencil8}
* @requires_es_extension Extension @extension{ANDROID,extension_pack_es31a}/
* @extension{OES,texture_stencil8}
* @requires_gles Only available as renderbuffer format in WebGL.
*/
StencilIndex8 = GL_STENCIL_INDEX8,
@ -1544,8 +1544,8 @@ enum class TextureFormat: GLenum {
* use e.g. @ref TextureFormat::Depth24Stencil8 "TextureFormat::Depth24Stencil8"
* instead.
* @see @ref Texture::setDepthStencilMode() "*Texture::setDepthStencilMode()"
* @requires_gles30 Extension @es_extension{OES,packed_depth_stencil} or
* @es_extension{ANGLE,depth_texture} in OpenGL ES 2.0.
* @requires_gles30 Extension @extension{OES,packed_depth_stencil} or
* @extension{ANGLE,depth_texture} in OpenGL ES 2.0.
* @requires_webgl20 Extension @webgl_extension{WEBGL,depth_texture} in
* WebGL 1.0.
* @deprecated_gl Prefer to use exactly specified version of this format,
@ -1564,10 +1564,10 @@ enum class TextureFormat: GLenum {
* 24bit depth and 8bit stencil component. Not supported in 3D textures.
* @see @ref Texture::setDepthStencilMode() "*Texture::setDepthStencilMode()"
* @requires_gl30 Extension @extension{ARB,framebuffer_object}
* @requires_gles30 Extension @es_extension{OES,packed_depth_stencil} or
* @es_extension{ANGLE,depth_texture} and either
* @es_extension{OES,required_internalformat} (for image
* specification) or @es_extension{EXT,texture_storage} (for texture
* @requires_gles30 Extension @extension{OES,packed_depth_stencil} or
* @extension{ANGLE,depth_texture} and either
* @extension{OES,required_internalformat} (for image
* specification) or @extension{EXT,texture_storage} (for texture
* storage) in OpenGL ES 2.0.
* @requires_webgl20 Use @ref TextureFormat::DepthStencil in WebGL 1.0
* instead.

2
src/Magnum/TextureTools/DistanceField.h

@ -85,7 +85,7 @@ http://www.valvesoftware.com/publications/2007/SIGGRAPH2007_AlphaTestedMagnifica
@note If internal format of @p output texture is not renderable, this function
prints message to error output and does nothing. In desktop OpenGL and
OpenGL ES 3.0 it's common to render to @ref TextureFormat::R8. In OpenGL ES
2.0 you can use @ref TextureFormat::Red if @es_extension{EXT,texture_rg} is
2.0 you can use @ref TextureFormat::Red if @extension{EXT,texture_rg} is
available, if not, the smallest but still inefficient supported format is
in most cases @ref TextureFormat::RGB, rendering to @ref TextureFormat::Luminance
is not supported in most cases.

4
src/Magnum/TimeQuery.h

@ -70,12 +70,12 @@ UnsignedInt timeElapsed2 = q3.result<UnsignedInt>()-tmp;
@endcode
Using the latter results in fewer OpenGL calls when doing more measures.
@requires_gl33 Extension @extension{ARB,timer_query}
@requires_es_extension Extension @es_extension{EXT,disjoint_timer_query}
@requires_es_extension Extension @extension{EXT,disjoint_timer_query}
@requires_gles Time query is not available in WebGL.
@see @ref PrimitiveQuery, @ref SampleQuery
@todo timestamp with glGet + example usage
@todo @es_extension{EXT,disjoint_timer_query} -- GL_GPU_DISJOINT_EXT support? where?
@todo @extension{EXT,disjoint_timer_query} -- GL_GPU_DISJOINT_EXT support? where?
*/
class TimeQuery: public AbstractQuery {
public:

12
src/Magnum/TransformFeedback.h

@ -243,10 +243,10 @@ class MAGNUM_EXPORT TransformFeedback: public AbstractObject {
*
* The result is *not* cached, repeated queries will result in repeated
* OpenGL calls. If OpenGL 4.3 is not supported and neither
* @extension{KHR,debug} (covered also by @es_extension{ANDROID,extension_pack_es31a})
* nor @extension2{EXT,debug_label} desktop or ES extension is
* @extension{KHR,debug} (covered also by @extension{ANDROID,extension_pack_es31a})
* nor @extension{EXT,debug_label} desktop or ES extension is
* available, this function returns empty string.
* @see @fn_gl{GetObjectLabel} or @fn_gl_extension2{GetObjectLabel,EXT,debug_label}
* @see @fn_gl{GetObjectLabel} or @fn_gl_extension{GetObjectLabel,EXT,debug_label}
* with @def_gl{TRANSFORM_FEEDBACK}
* @requires_gles Debug output is not available in WebGL.
*/
@ -257,11 +257,11 @@ class MAGNUM_EXPORT TransformFeedback: public AbstractObject {
* @return Reference to self (for method chaining)
*
* Default is empty string. If OpenGL 4.3 is not supported and neither
* @extension{KHR,debug} (covered also by @es_extension{ANDROID,extension_pack_es31a})
* nor @extension2{EXT,debug_label} desktop or ES extension is
* @extension{KHR,debug} (covered also by @extension{ANDROID,extension_pack_es31a})
* nor @extension{EXT,debug_label} desktop or ES extension is
* available, this function does nothing.
* @see @ref maxLabelLength(), @fn_gl{ObjectLabel} or
* @fn_gl_extension2{LabelObject,EXT,debug_label} with
* @fn_gl_extension{LabelObject,EXT,debug_label} with
* @def_gl{TRANSFORM_FEEDBACK}
* @requires_gles Debug output is not available in WebGL.
*/

2
src/MagnumPlugins/TgaImporter/TgaImporter.h

@ -70,7 +70,7 @@ require extension @extension{ARB,texture_rg}. Imported images are imported with
default @ref PixelStorage parameters except for alignment, which may be changed
to `1` if the data require it.
In OpenGL ES 2.0, if @es_extension{EXT,texture_rg} is not supported and in
In OpenGL ES 2.0, if @extension{EXT,texture_rg} is not supported and in
WebGL 1.0, grayscale images use @ref PixelFormat::Luminance instead of
@ref PixelFormat::Red.
*/

Loading…
Cancel
Save