Browse Source

GL: improve extension docs.

pull/324/head
Vladimír Vondruš 7 years ago
parent
commit
74183eb8b9
  1. 17
      doc/opengl-support.dox
  2. 5
      src/Magnum/GL/Context.h
  3. 11
      src/Magnum/GL/Extensions.h

17
doc/opengl-support.dox

@ -23,6 +23,8 @@
DEALINGS IN THE SOFTWARE.
*/
namespace Magnum {
/** @page opengl-support Support state
@brief List of (un)supported OpenGL features and extensions.
@ -37,6 +39,11 @@ The extension implementation is considered complete if all its defined types,
functions and enum values are exposed through the API, except for features
listed below in @ref opengl-unsupported-features.
All extensions from the below lists are available in the @ref GL::Extensions
namespace and it's possible to check for their availability using
@ref GL::Context::isExtensionSupported(). See its documentation for more
information.
@subsection opengl-support-21 OpenGL 2.1
The core subset of OpenGL 2.1 should be fully implemented, except for the
@ -334,6 +341,8 @@ supported. ESSL 3.10 is supported.
Features that have their equivalents implemented in desktop version are
supported. ESSL 3.20 is supported.
@m_class{m-fullwidth}
Extension | Status
------------------------------------------- | ------
@gl_extension{EXT,color_buffer_half_float} | |
@ -362,6 +371,9 @@ Extension | Status
@subsection opengl-support-es30-extensions OpenGL ES 2.0 extensions to match ES 3.0 functionality
Unless said otherwise, these are not exposed in the @ref GL::Extensions
namespace on @ref MAGNUM_TARGET_GLES2 "OpenGL ES 3.0 builds".
@m_class{m-fullwidth}
Extension | Status
@ -472,6 +484,9 @@ supported.
@subsection opengl-support-webgl20-extensions WebGL 1.0 extensions to match WebGL 2.0 functionality
Unless said otherwise, these are not available in the @ref GL::Extensions
namespace on @ref MAGNUM_TARGET_GLES2 "WebGL 2.0 builds".
@m_class{m-fullwidth}
Extension | Status
@ -585,3 +600,5 @@ See also @ref opengl-unsupported and @ref deprecated.
See also @ref opengl-deprecated.
*/
}

5
src/Magnum/GL/Context.h

@ -565,8 +565,9 @@ class MAGNUM_GL_EXPORT Context {
/**
* @brief Whether given extension is supported
*
* Extensions usable with this function are listed in @ref Extensions
* namespace in header @ref Extensions.h. Example usage:
* Extensions usable with this function are listed in the
* @ref Extensions namespace in the @ref Extensions.h header and in the
* @ref opengl-support "OpenGL support tables". Example usage:
*
* @snippet MagnumGL.cpp Context-isExtensionSupported
*

11
src/Magnum/GL/Extensions.h

@ -46,10 +46,12 @@ namespace Magnum { namespace GL {
Each extension is a @cpp struct @ce named hierarchically by prefix, vendor and
extension name taken from list at @ref opengl-support, for example
`GL::Extensions::ARB::texture_storage`. Note that desktop extensions are
available only on desktop build, OpenGL ES 2.0 extensions which are part of ES
3.0 are available only on @ref MAGNUM_TARGET_GLES2 "OpenGL ES 2.0 build",
vendor OpenGL ES extensions are available only on
`GL::Extensions::ARB::texture_storage`. Note that, unless said otherwise,
desktop extensions are available only on desktop build, OpenGL ES 2.0
extensions which are part of ES 3.0 are available only on
@ref MAGNUM_TARGET_GLES2 "OpenGL ES 2.0 builds", WebGL 1.0 extensions which are
part of WebGL 2.0 are available only on @ref MAGNUM_TARGET_GLES2 "WebGL 1.0"
builds, OpenGL ES extensions are available only on
@ref MAGNUM_TARGET_GLES "OpenGL ES builds" and WebGL extensions are available
only on @ref MAGNUM_TARGET_WEBGL "WebGL builds".
@ -254,7 +256,6 @@ namespace AMD {
_extension(171,NV,conditional_render, GL210, GL300) // #346
/* NV_draw_texture not supported */ // #430
}
/* IMPORTANT: if this line is > 329 (73 + size), don't forget to update array size in Context.h */
#elif defined(MAGNUM_TARGET_WEBGL)
namespace ANGLE {
#ifdef MAGNUM_TARGET_GLES2

Loading…
Cancel
Save