Browse Source

Removed autolink-preventing % noise and unneeded HTML from root namespace.

pull/77/head
Vladimír Vondruš 12 years ago
parent
commit
a894904cab
  1. 38
      src/Magnum/AbstractFramebuffer.h
  2. 6
      src/Magnum/AbstractQuery.h
  3. 2
      src/Magnum/AbstractResourceLoader.h
  4. 64
      src/Magnum/AbstractShaderProgram.h
  5. 8
      src/Magnum/AbstractTexture.h
  6. 2
      src/Magnum/Array.h
  7. 12
      src/Magnum/Attribute.h
  8. 86
      src/Magnum/Buffer.h
  9. 20
      src/Magnum/BufferImage.h
  10. 18
      src/Magnum/BufferTexture.h
  11. 24
      src/Magnum/Color.h
  12. 36
      src/Magnum/ColorFormat.h
  13. 26
      src/Magnum/Context.h
  14. 20
      src/Magnum/CubeMapTexture.h
  15. 10
      src/Magnum/CubeMapTextureArray.h
  16. 4
      src/Magnum/DebugMessage.h
  17. 24
      src/Magnum/DefaultFramebuffer.h
  18. 4
      src/Magnum/DimensionTraits.h
  19. 2
      src/Magnum/Extensions.h
  20. 66
      src/Magnum/Framebuffer.h
  21. 14
      src/Magnum/Image.h
  22. 14
      src/Magnum/ImageReference.h
  23. 2
      src/Magnum/Magnum.h
  24. 36
      src/Magnum/Mesh.h
  25. 12
      src/Magnum/MeshView.h
  26. 12
      src/Magnum/MultisampleTexture.h
  27. 2
      src/Magnum/PrimitiveQuery.h
  28. 16
      src/Magnum/RectangleTexture.h
  29. 14
      src/Magnum/Renderbuffer.h
  30. 88
      src/Magnum/RenderbufferFormat.h
  31. 54
      src/Magnum/Renderer.h
  32. 8
      src/Magnum/Resource.h
  33. 10
      src/Magnum/ResourceManager.h
  34. 20
      src/Magnum/SampleQuery.h
  35. 20
      src/Magnum/Sampler.h
  36. 22
      src/Magnum/Shader.h
  37. 56
      src/Magnum/Texture.h
  38. 18
      src/Magnum/TextureArray.h
  39. 164
      src/Magnum/TextureFormat.h
  40. 4
      src/Magnum/TimeQuery.h
  41. 2
      src/Magnum/Timeline.h
  42. 4
      src/Magnum/TransformFeedback.h

38
src/Magnum/AbstractFramebuffer.h

@ -60,8 +60,8 @@ typedef Containers::EnumSet<FramebufferClear,
@brief Mask for framebuffer blitting
@see @ref AbstractFramebuffer, @ref FramebufferBlitMask
@requires_gl30 %Extension @extension{ARB,framebuffer_object}
@requires_gles30 %Extension @es_extension{ANGLE,framebuffer_blit} or
@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
*/
enum class FramebufferBlit: GLbitfield {
@ -91,19 +91,19 @@ enum class FramebufferBlit: GLbitfield {
@brief Mask for framebuffer blitting
@see @ref AbstractFramebuffer::blit()
@requires_gl30 %Extension @extension{ARB,framebuffer_object}
@requires_gles30 %Extension @es_extension{ANGLE,framebuffer_blit} or
@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
*/
typedef Containers::EnumSet<FramebufferBlit,
GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT|GL_STENCIL_BUFFER_BIT> FramebufferBlitMask;
/**
@brief %Framebuffer blit filtering
@brief Framebuffer blit filtering
@see @ref AbstractFramebuffer::blit()
@requires_gl30 %Extension @extension{ARB,framebuffer_object}
@requires_gles30 %Extension @es_extension{ANGLE,framebuffer_blit} or
@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
*/
enum class FramebufferBlitFilter: GLenum {
@ -115,12 +115,12 @@ enum class FramebufferBlitFilter: GLenum {
@brief Target for binding framebuffer
@see @ref DefaultFramebuffer::bind(), @ref Framebuffer::bind()
@requires_gl30 %Extension @extension{ARB,framebuffer_object}
@requires_gl30 Extension @extension{ARB,framebuffer_object}
*/
enum class FramebufferTarget: GLenum {
/**
* For reading only.
* @requires_gles30 %Extension @es_extension{APPLE,framebuffer_multisample},
* @requires_gles30 Extension @es_extension{APPLE,framebuffer_multisample},
* @es_extension{ANGLE,framebuffer_blit} or @es_extension{NV,framebuffer_blit}
* in OpenGL ES 2.0
*/
@ -132,7 +132,7 @@ enum class FramebufferTarget: GLenum {
/**
* For drawing only.
* @requires_gles30 %Extension @es_extension{APPLE,framebuffer_multisample},
* @requires_gles30 Extension @es_extension{APPLE,framebuffer_multisample},
* @es_extension{ANGLE,framebuffer_blit} or @es_extension{NV,framebuffer_blit}
* in OpenGL ES 2.0
*/
@ -157,7 +157,7 @@ See @ref DefaultFramebuffer and @ref Framebuffer for more information.
The engine tracks currently bound framebuffer and current viewport to avoid
unnecessary calls to @fn_gl{BindFramebuffer} and @fn_gl{Viewport} when
switching framebuffers. %Framebuffer limits and implementation-defined values
switching framebuffers. Framebuffer limits and implementation-defined values
(such as @ref maxViewportSize()) are cached, so repeated queries don't result
in repeated @fn_gl{Get} calls.
@ -221,7 +221,7 @@ class MAGNUM_EXPORT AbstractFramebuffer {
* and @ref Framebuffer::mapForDraw() for specifying particular buffers
* for blitting operation.
* @see @fn_gl{BlitFramebuffer}
* @requires_gles30 %Extension @es_extension{ANGLE,framebuffer_blit} or
* @requires_gles30 Extension @es_extension{ANGLE,framebuffer_blit} or
* @es_extension{NV,framebuffer_blit} in OpenGL ES 2.0
* @todo NaCl exports `BlitFramebufferEXT` (although no such extension
* exists for ES)
@ -240,7 +240,7 @@ class MAGNUM_EXPORT AbstractFramebuffer {
* pixel-by-pixel, no interpolation is needed and thus
* @ref FramebufferBlitFilter::Nearest filtering is used by default.
* @see @fn_gl{BlitFramebuffer}
* @requires_gles30 %Extension @es_extension{ANGLE,framebuffer_blit} or
* @requires_gles30 Extension @es_extension{ANGLE,framebuffer_blit} or
* @es_extension{NV,framebuffer_blit} in OpenGL ES 2.0
*/
static void blit(AbstractFramebuffer& source, AbstractFramebuffer& destination, const Range2Di& rectangle, FramebufferBlitMask mask) {
@ -291,10 +291,10 @@ class MAGNUM_EXPORT AbstractFramebuffer {
/**
* @brief Read block of pixels from framebuffer to image
* @param offset Offset in the framebuffer
* @param size %Image size
* @param image %Image where to put the data
* @param size Image size
* @param image Image where to put the data
*
* %Image parameters like format and type of pixel data are taken from
* Image parameters like format and type of pixel data are taken from
* given image.
*
* If @extension{ARB,robustness} is available, the operation is
@ -308,9 +308,9 @@ class MAGNUM_EXPORT AbstractFramebuffer {
/**
* @brief Read block of pixels from framebuffer to buffer image
* @param offset Offset in the framebuffer
* @param size %Image size
* @param image %Buffer image where to put the data
* @param usage %Buffer usage
* @param size Image size
* @param image Buffer image where to put the data
* @param usage Buffer usage
*
* See @ref read(const Vector2i&, const Vector2i&, Image2D&) for more
* information.

6
src/Magnum/AbstractQuery.h

@ -66,7 +66,7 @@ class MAGNUM_EXPORT AbstractQuery: public AbstractObject {
GLuint id() const { return _id; }
/**
* @brief %Query label
* @brief Query label
*
* The result is *not* cached, repeated queries will result in repeated
* OpenGL calls. If OpenGL 4.3 is not supported and neither
@ -115,10 +115,10 @@ class MAGNUM_EXPORT AbstractQuery: public AbstractObject {
* @attention @ref Magnum::UnsignedLong "UnsignedLong" and @ref Magnum::Long "Long"
* result type is not available in @ref MAGNUM_TARGET_WEBGL "WebGL".
* @see @fn_gl{GetQueryObject} with @def_gl{QUERY_RESULT}
* @requires_gl33 %Extension @extension{ARB,timer_query} for result
* @requires_gl33 Extension @extension{ARB,timer_query} for result
* type @ref Magnum::UnsignedInt "UnsignedInt" and @ref Magnum::Long
* "Long"
* @requires_es_extension %Extension @es_extension{EXT,disjoint_timer_query}
* @requires_es_extension Extension @es_extension{EXT,disjoint_timer_query}
* for result types @ref Magnum::Int "Int", @ref Magnum::UnsignedLong "UnsignedLong"
* @ref Magnum::Long "Long".
*/

2
src/Magnum/AbstractResourceLoader.h

@ -132,7 +132,7 @@ template<class T> class AbstractResourceLoader {
std::size_t loadedCount() const { return _loadedCount; }
/**
* @brief %Resource name corresponding to given key
* @brief Resource name corresponding to given key
*
* If no such resource exists or the resource name is not available,
* returns empty string.

64
src/Magnum/AbstractShaderProgram.h

@ -48,7 +48,7 @@ namespace Implementation { struct ShaderProgramState; }
This class is designed to be used via subclassing. Subclasses define these
functions and properties:
- <strong>%Attribute definitions</strong> with location and type for
- **Attribute definitions** with location and type for
configuring meshes, for example:
@code
typedef Attribute<0, Vector3> Position;
@ -99,7 +99,7 @@ MyShader& setNormalMatrix(const Matrix3x3& matrix) {
return *this;
}
@endcode
- <strong>%Texture setting functions</strong> in which you bind the textures
- **Texture setting functions** in which you bind the textures
to particular texture units using @ref Texture::bind() "*Texture::bind()"
and equivalents, for example:
@code
@ -179,11 +179,11 @@ bindFragmentDataLocationIndexed(NormalOutput, 1, "normal");
@endcode
@see @ref Mesh::maxVertexAttributes(), @ref AbstractFramebuffer::maxDrawBuffers()
@requires_gl30 %Extension @extension{EXT,gpu_shader4} for using
@requires_gl30 Extension @extension{EXT,gpu_shader4} for using
@ref Magnum::AbstractShaderProgram::bindFragmentDataLocation() "bindFragmentDataLocation()".
@requires_gl33 %Extension @extension{ARB,blend_func_extended} for using
@requires_gl33 Extension @extension{ARB,blend_func_extended} for using
@ref Magnum::AbstractShaderProgram::bindFragmentDataLocationIndexed() "bindFragmentDataLocationIndexed()".
@requires_gl33 %Extension @extension{ARB,explicit_attrib_location} for
@requires_gl33 Extension @extension{ARB,explicit_attrib_location} for
explicit attribute location instead of using
@ref Magnum::AbstractShaderProgram::bindAttributeLocation() "bindAttributeLocation()",
@ref Magnum::AbstractShaderProgram::bindFragmentDataLocation() "bindFragmentDataLocation()"
@ -227,7 +227,7 @@ Int normalMatrixUniform = uniformLocation("normalMatrix");
@endcode
@see @ref maxUniformLocations()
@requires_gl43 %Extension @extension{ARB,explicit_uniform_location} for
@requires_gl43 Extension @extension{ARB,explicit_uniform_location} for
explicit uniform location instead of using
@ref Magnum::AbstractShaderProgram::uniformLocation() "uniformLocation()".
@requires_gles31 Explicit uniform location is not supported in OpenGL ES 3.0
@ -260,7 +260,7 @@ setUniform(uniformLocation("specularTexture"), 1);
@endcode
@see @ref Shader::maxTextureImageUnits()
@requires_gl42 %Extension @extension{ARB,shading_language_420pack} for explicit
@requires_gl42 Extension @extension{ARB,shading_language_420pack} for explicit
texture binding unit instead of using
@ref Magnum::AbstractShaderProgram::setUniform(Int, const T&) "setUniform(Int, Int)".
@requires_gles31 Explicit texture binding unit is not supported in OpenGL ES
@ -304,11 +304,11 @@ setTransformFeedbackOutputs({
@see @ref TransformFeedback::maxInterleavedComponents(),
@ref TransformFeedback::maxSeparateAttributes(),
@ref TransformFeedback::maxSeparateComponents()
@requires_gl40 %Extension @extension{ARB,transform_feedback3} for using
@requires_gl40 Extension @extension{ARB,transform_feedback3} for using
`gl_NextBuffer` or `gl_SkipComponents#` names in
@ref Magnum::AbstractShaderProgram::setTransformFeedbackOutputs() "setTransformFeedbackOutputs()"
function
@requires_gl44 %Extension @extension{ARB,enhanced_layouts} for explicit
@requires_gl44 Extension @extension{ARB,enhanced_layouts} for explicit
transform feedback output specification instead of using
@ref Magnum::AbstractShaderProgram::setTransformFeedbackOutputs() "setTransformFeedbackOutputs()"
@requires_gl Explicit transform feedback output specification is not available
@ -317,7 +317,7 @@ setTransformFeedbackOutputs({
@anchor AbstractShaderProgram-rendering-workflow
## Rendering workflow
Basic workflow with %AbstractShaderProgram subclasses is: instance shader
Basic workflow with AbstractShaderProgram subclasses is: instance shader
class, configure attribute binding in meshes (see @ref Mesh-configuration "Mesh documentation"
for more information) and map shader outputs to framebuffer attachments if
needed (see @ref Framebuffer-usage "Framebuffer documentation" for more
@ -333,13 +333,13 @@ mesh.draw(shader);
@endcode
@anchor AbstractShaderProgram-types
## Mapping between GLSL and %Magnum types
## Mapping between GLSL and Magnum types
See @ref types for more information, only types with GLSL equivalent can be used
(and their super- or subclasses with the same size and underlying type). See
also @ref Attribute::DataType enum for additional type options.
@requires_gl30 %Extension @extension{EXT,gpu_shader4} is required when using
@requires_gl30 Extension @extension{EXT,gpu_shader4} is required when using
integer attributes (i.e. @ref Magnum::UnsignedInt "UnsignedInt",
@ref Magnum::Int "Int", @ref Magnum::Vector2ui "Vector2ui",
@ref Magnum::Vector2i "Vector2i", @ref Magnum::Vector3ui "Vector3ui",
@ -347,7 +347,7 @@ also @ref Attribute::DataType enum for additional type options.
@ref Magnum::Vector4i "Vector4i") or unsigned integer uniforms (i.e.
@ref Magnum::UnsignedInt "UnsignedInt", @ref Magnum::Vector2ui "Vector2ui",
@ref Magnum::Vector3ui "Vector3ui" and @ref Magnum::Vector4ui "Vector4ui").
@requires_gl40 %Extension @extension{ARB,gpu_shader_fp64} is required when
@requires_gl40 Extension @extension{ARB,gpu_shader_fp64} is required when
using double uniforms (i.e. @ref Magnum::Double "Double",
@ref Magnum::Vector2d "Vector2d", @ref Magnum::Vector3d "Vector3d",
@ref Magnum::Vector4d "Vector4d", @ref Magnum::Matrix2x2d "Matrix2x2d",
@ -355,7 +355,7 @@ also @ref Attribute::DataType enum for additional type options.
@ref Magnum::Matrix2x3d "Matrix2x3d", @ref Magnum::Matrix3x2d "Matrix3x2d",
@ref Magnum::Matrix2x4d "Matrix2x4d", @ref Magnum::Matrix4x2d "Matrix4x2d",
@ref Magnum::Matrix3x4d "Matrix3x4d" and @ref Magnum::Matrix4x3d "Matrix4x3d").
@requires_gl41 %Extension @extension{ARB,vertex_attrib_64bit} is required when
@requires_gl41 Extension @extension{ARB,vertex_attrib_64bit} is required when
using double attributes (i.e. @ref Magnum::Double "Double",
@ref Magnum::Vector2d "Vector2d", @ref Magnum::Vector3d "Vector3d",
@ref Magnum::Vector4d "Vector4d", @ref Magnum::Matrix2x2d "Matrix2x2d",
@ -374,7 +374,7 @@ also @ref Attribute::DataType enum for additional type options.
@anchor AbstractShaderProgram-performance-optimization
## Performance optimizations
%Shader limits (such as @ref maxVertexAttributes()) are cached, so repeated
Shader limits (such as @ref maxVertexAttributes()) are cached, so repeated
queries don't result in repeated @fn_gl{Get} calls.
If extension @extension{ARB,separate_shader_objects} (part of OpenGL 4.1),
@ -400,10 +400,10 @@ class MAGNUM_EXPORT AbstractShaderProgram: public AbstractObject {
public:
#ifndef MAGNUM_TARGET_GLES2
/**
* @brief %Buffer mode for transform feedback
* @brief Buffer mode for transform feedback
*
* @see @ref setTransformFeedbackOutputs()
* @requires_gl30 %Extension @extension{EXT,transform_feedback}
* @requires_gl30 Extension @extension{EXT,transform_feedback}
* @requires_gles30 Transform feedback is not available in OpenGL ES
* 2.0
*/
@ -541,7 +541,7 @@ class MAGNUM_EXPORT AbstractShaderProgram: public AbstractObject {
* OpenGL calls. If extension @extension{EXT,gpu_shader4} (part of
* OpenGL 3.0) is not available, returns `0`.
* @see @fn_gl{Get} with @def_gl{MIN_PROGRAM_TEXEL_OFFSET}
* @requires_gles30 %Texture lookup with offset is not available in
* @requires_gles30 Texture lookup with offset is not available in
* OpenGL ES 2.0
*/
static Int minTexelOffset();
@ -553,7 +553,7 @@ class MAGNUM_EXPORT AbstractShaderProgram: public AbstractObject {
* OpenGL calls. If extension @extension{EXT,gpu_shader4} (part of
* OpenGL 3.0) is not available, returns `0`.
* @see @fn_gl{Get} with @def_gl{MAX_PROGRAM_TEXEL_OFFSET}
* @requires_gles30 %Texture lookup with offset is not available in
* @requires_gles30 Texture lookup with offset is not available in
* OpenGL ES 2.0
*/
static Int maxTexelOffset();
@ -591,7 +591,7 @@ class MAGNUM_EXPORT AbstractShaderProgram: public AbstractObject {
GLuint id() const { return _id; }
/**
* @brief %Shader program label
* @brief Shader program label
*
* The result is *not* cached, repeated queries will result in repeated
* OpenGL calls. If OpenGL 4.3 is not supported and neither
@ -663,7 +663,7 @@ class MAGNUM_EXPORT AbstractShaderProgram: public AbstractObject {
*
* Initially disabled.
* @see @fn_gl{ProgramParameter} with @def_gl{PROGRAM_BINARY_RETRIEVABLE_HINT}
* @requires_gl41 %Extension @extension{ARB,get_program_binary}
* @requires_gl41 Extension @extension{ARB,get_program_binary}
* @requires_gles30 Always allowed in OpenGL ES 2.0.
*/
void setRetrievableBinary(bool enabled) {
@ -676,8 +676,8 @@ 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_gl41 Extension @extension{ARB,separate_shader_objects}
* @requires_es_extension Extension @es_extension{EXT,separate_shader_objects}
*/
void setSeparable(bool enabled) {
/** @todo Remove when extension wrangler is available for ES */
@ -707,7 +707,7 @@ class MAGNUM_EXPORT AbstractShaderProgram: public AbstractObject {
/**
* @brief Bind attribute to given location
* @param location Location
* @param name %Attribute name
* @param name Attribute name
*
* Binds attribute to location which is used later for binding vertex
* buffers.
@ -741,7 +741,7 @@ class MAGNUM_EXPORT AbstractShaderProgram: public AbstractObject {
* explicitly in the shader instead of using this function. See
* @ref AbstractShaderProgram-attribute-location "class documentation"
* for more information.
* @requires_gl33 %Extension @extension{ARB,blend_func_extended}
* @requires_gl33 Extension @extension{ARB,blend_func_extended}
* @requires_gl Multiple blend function inputs are not available in
* OpenGL ES.
*/
@ -766,7 +766,7 @@ class MAGNUM_EXPORT AbstractShaderProgram: public AbstractObject {
* explicitly in the shader instead of using this function. See
* @ref AbstractShaderProgram-attribute-location "class documentation"
* for more information.
* @requires_gl30 %Extension @extension{EXT,gpu_shader4}
* @requires_gl30 Extension @extension{EXT,gpu_shader4}
* @requires_gl Use explicit location specification in OpenGL ES 3.0
* and `gl_FragData[n]` provided by @es_extension2{NV,draw_buffers,GL_NV_draw_buffers}
* in OpenGL ES 2.0.
@ -786,7 +786,7 @@ class MAGNUM_EXPORT AbstractShaderProgram: public AbstractObject {
/**
* @brief Specify shader outputs to be recorded in transform feedback
* @param outputs Names of output variables
* @param bufferMode %Buffer mode
* @param bufferMode Buffer mode
*
* Binds given output variables from vertex, geometry or tessellation
* shader to transform feedback buffer binding points. If
@ -803,8 +803,8 @@ class MAGNUM_EXPORT AbstractShaderProgram: public AbstractObject {
* outputs explicitly in the shader instead of using this
* function. See @ref AbstractShaderProgram-transform-feedback "class documentation"
* for more information.
* @requires_gl30 %Extension @extension{EXT,transform_feedback}
* @requires_gl40 %Extension @extension{ARB,transform_feedback3} for
* @requires_gl30 Extension @extension{EXT,transform_feedback}
* @requires_gl40 Extension @extension{ARB,transform_feedback3} for
* using `gl_NextBuffer` or `gl_SkipComponents#` names in
* @p outputs array
* @requires_gles30 Transform feedback is not available in OpenGL ES
@ -908,7 +908,7 @@ class MAGNUM_EXPORT AbstractShaderProgram: public AbstractObject {
#ifndef MAGNUM_TARGET_GLES2
/**
* @copydoc setUniform(Int, UnsignedInt, const Float*)
* @requires_gl30 %Extension @extension{EXT,gpu_shader4}
* @requires_gl30 Extension @extension{EXT,gpu_shader4}
* @requires_gles30 Only signed integers are available in OpenGL ES 2.0.
*/
void setUniform(Int location, UnsignedInt count, const UnsignedInt* values);
@ -920,7 +920,7 @@ class MAGNUM_EXPORT AbstractShaderProgram: public AbstractObject {
#ifndef MAGNUM_TARGET_GLES
/**
* @copydoc setUniform(Int, UnsignedInt, const Float*)
* @requires_gl40 %Extension @extension{ARB,gpu_shader_fp64}
* @requires_gl40 Extension @extension{ARB,gpu_shader_fp64}
* @requires_gl Only floats are available in OpenGL ES.
*/
void setUniform(Int location, UnsignedInt count, const Double* values);
@ -950,7 +950,7 @@ class MAGNUM_EXPORT AbstractShaderProgram: public AbstractObject {
#ifndef MAGNUM_TARGET_GLES
/**
* @copydoc setUniform(Int, UnsignedInt, const Float*)
* @requires_gl40 %Extension @extension{ARB,gpu_shader_fp64}
* @requires_gl40 Extension @extension{ARB,gpu_shader_fp64}
* @requires_gl Only floats are available in OpenGL ES.
*/
void setUniform(Int location, UnsignedInt count, const Math::RectangularMatrix<2, 2, Double>* values);

8
src/Magnum/AbstractTexture.h

@ -69,8 +69,8 @@ documentation for details.
The engine tracks currently bound textures in all available texture units to
avoid unnecessary calls to @fn_gl{ActiveTexture} and @fn_gl{BindTexture}.
%Texture configuration functions use dedicated highest available texture unit
to not affect active bindings in user units. %Texture limits and
Texture configuration functions use dedicated highest available texture unit
to not affect active bindings in user units. Texture limits and
implementation-defined values (such as @ref maxColorSamples()) are cached, so
repeated queries don't result in repeated @fn_gl{Get} calls.
@ -147,7 +147,7 @@ class MAGNUM_EXPORT AbstractTexture: public AbstractObject {
* The result is cached, repeated queries don't result in repeated
* OpenGL calls.
* @see @fn_gl{Get} with @def_gl{MAX_TEXTURE_LOD_BIAS}
* @requires_gles30 %Texture LOD bias doesn't have
* @requires_gles30 Texture LOD bias doesn't have
* implementation-defined range in OpenGL ES 2.0.
*/
static Float maxLodBias();
@ -256,7 +256,7 @@ class MAGNUM_EXPORT AbstractTexture: public AbstractObject {
AbstractTexture& operator=(AbstractTexture&& other) noexcept;
/**
* @brief %Texture label
* @brief Texture label
*
* The result is *not* cached, repeated queries will result in repeated
* OpenGL calls. If OpenGL 4.3 is not supported and neither

2
src/Magnum/Array.h

@ -37,7 +37,7 @@
namespace Magnum {
/**
@brief %Array
@brief Array
@tparam dimensions Dimension count
@tparam T Data type

12
src/Magnum/Attribute.h

@ -131,7 +131,7 @@ template<UnsignedInt location, class T> class Attribute {
* Four components with BGRA ordering. Only for four-component
* float vector type. Must be used along with @ref DataType::UnsignedByte
* and @ref DataOption::Normalized.
* @requires_gl32 %Extension @extension{ARB,vertex_array_bgra}
* @requires_gl32 Extension @extension{ARB,vertex_array_bgra}
* @requires_gl Only RGBA component ordering is supported in OpenGL
* ES.
*/
@ -159,8 +159,8 @@ 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_gl30 Extension @extension{ARB,half_float_vertex}
* @requires_gles30 Extension @es_extension{OES,vertex_half_float}
* in OpenGL ES 2.0
*/
HalfFloat = GL_HALF_FLOAT,
@ -178,7 +178,7 @@ template<UnsignedInt location, class T> class Attribute {
/**
* Unsigned 10.11.11 packed float. Only for three-component float
* vector attribute type.
* @requires_gl44 %Extension @extension{ARB,vertex_type_10f_11f_11f_rev}
* @requires_gl44 Extension @extension{ARB,vertex_type_10f_11f_11f_rev}
* @requires_gl Packed float attributes are not available in OpenGL
* ES.
*/
@ -192,7 +192,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}?
* @requires_gl33 %Extension @extension{ARB,vertex_type_2_10_10_10_rev}
* @requires_gl33 Extension @extension{ARB,vertex_type_2_10_10_10_rev}
* @requires_gles30 Packed attributes are not available in OpenGL
* ES 2.0
*/
@ -201,7 +201,7 @@ template<UnsignedInt location, class T> class Attribute {
/**
* Signed 2.10.10.10 packed integer. Only for four-component float
* vector attribute type.
* @requires_gl33 %Extension @extension{ARB,vertex_type_2_10_10_10_rev}
* @requires_gl33 Extension @extension{ARB,vertex_type_2_10_10_10_rev}
* @requires_gles30 Packed attributes are not available in OpenGL
* ES 2.0
*/

86
src/Magnum/Buffer.h

@ -42,7 +42,7 @@
namespace Magnum {
/**
@brief %Buffer usage
@brief Buffer usage
@see @ref Buffer, @ref Buffer::setData(Containers::ArrayReference<const void>, BufferUsage)
*/
@ -117,7 +117,7 @@ enum class BufferUsage: GLenum {
namespace Implementation { struct BufferState; }
/**
@brief %Buffer
@brief Buffer
Encapsulates one OpenGL buffer object and provides functions for convenient
data updates.
@ -141,7 +141,7 @@ buffer.setData(data, BufferUsage::StaticDraw);
@anchor Buffer-data-mapping
## Memory mapping
%Buffer data can be also updated asynchronously. First you need to allocate
Buffer data can be also updated asynchronously. First you need to allocate
the buffer to desired size by passing `nullptr` to @ref setData(), e.g.:
@code
buffer.setData({nullptr, 200*sizeof(Vector3)}, BufferUsage::StaticDraw);
@ -172,7 +172,7 @@ CORRADE_INTERNAL_ASSERT_OUTPUT(buffer.unmap());
Buffers in @ref MAGNUM_TARGET_WEBGL "WebGL" and @ref CORRADE_TARGET_NACL "NaCl"
need to be bound only to one unique target, i.e., @ref Buffer bound to
@ref Buffer::Target::Array cannot be later rebound to
@ref Buffer::Target::ElementArray. However, %Magnum by default uses any
@ref Buffer::Target::ElementArray. However, Magnum by default uses any
sufficient target when binding the buffer internally (e.g. for setting data).
To avoid GL errors, set target hint to desired target, either in constructor or
using @ref Buffer::setTargetHint():
@ -191,7 +191,7 @@ The engine tracks currently bound buffers to avoid unnecessary calls to
@ref copy(), @ref setData(), @ref setSubData(), @ref map(), @ref flushMappedRange()
and @ref unmap() use that target instead of binding the buffer to some specific
target. You can also use @ref setTargetHint() to possibly reduce unnecessary
rebinding. %Buffer limits and implementation-defined values (such as
rebinding. Buffer limits and implementation-defined values (such as
@ref maxUniformBindings()) are cached, so repeated queries don't result in
repeated @fn_gl{Get} calls.
@ -211,7 +211,7 @@ class MAGNUM_EXPORT Buffer: public AbstractObject {
public:
/**
* @brief %Buffer target
* @brief Buffer target
*
* @see @ref Buffer(), @ref setTargetHint()
*/
@ -222,7 +222,7 @@ class MAGNUM_EXPORT Buffer: public AbstractObject {
#ifndef MAGNUM_TARGET_GLES2
/**
* Used for storing atomic counters.
* @requires_gl42 %Extension @extension{ARB,shader_atomic_counters}
* @requires_gl42 Extension @extension{ARB,shader_atomic_counters}
* @requires_gles31 Atomic counters are not available in OpenGL ES
* 3.0 and older.
*/
@ -230,7 +230,7 @@ class MAGNUM_EXPORT Buffer: public AbstractObject {
/**
* Source for copies. See @ref copy().
* @requires_gl31 %Extension @extension{ARB,copy_buffer}
* @requires_gl31 Extension @extension{ARB,copy_buffer}
* @requires_gles30 Buffer copying is not available in OpenGL ES
* 2.0.
*/
@ -238,7 +238,7 @@ class MAGNUM_EXPORT Buffer: public AbstractObject {
/**
* Target for copies. See @ref copy().
* @requires_gl31 %Extension @extension{ARB,copy_buffer}
* @requires_gl31 Extension @extension{ARB,copy_buffer}
* @requires_gles30 Buffer copying is not available in OpenGL ES
* 2.0.
*/
@ -246,7 +246,7 @@ class MAGNUM_EXPORT Buffer: public AbstractObject {
/**
* Indirect compute dispatch commands.
* @requires_gl43 %Extension @extension{ARB,compute_shader}
* @requires_gl43 Extension @extension{ARB,compute_shader}
* @requires_gles31 Compute shaders are not available in OpenGL ES
* 3.0 and older.
*/
@ -254,7 +254,7 @@ class MAGNUM_EXPORT Buffer: public AbstractObject {
/**
* Used for supplying arguments for indirect drawing.
* @requires_gl40 %Extension @extension{ARB,draw_indirect}
* @requires_gl40 Extension @extension{ARB,draw_indirect}
* @requires_gles31 Indirect drawing not available in OpenGL ES 3.0
* and older.
*/
@ -281,7 +281,7 @@ class MAGNUM_EXPORT Buffer: public AbstractObject {
/**
* Used for shader storage.
* @requires_gl43 %Extension @extension{ARB,shader_storage_buffer_object}
* @requires_gl43 Extension @extension{ARB,shader_storage_buffer_object}
* @requires_gles31 Shader storage is not available in OpenGL ES
* 3.0 and older.
*/
@ -291,7 +291,7 @@ class MAGNUM_EXPORT Buffer: public AbstractObject {
#ifndef MAGNUM_TARGET_GLES
/**
* Source for texel fetches. See @ref BufferTexture.
* @requires_gl31 %Extension @extension{ARB,texture_buffer_object}
* @requires_gl31 Extension @extension{ARB,texture_buffer_object}
* @requires_gl Texture buffers are not available in OpenGL ES.
*/
Texture = GL_TEXTURE_BUFFER,
@ -300,7 +300,7 @@ class MAGNUM_EXPORT Buffer: public AbstractObject {
#ifndef MAGNUM_TARGET_GLES2
/**
* Target for transform feedback.
* @requires_gl30 %Extension @extension{EXT,transform_feedback}
* @requires_gl30 Extension @extension{EXT,transform_feedback}
* @requires_gles30 Transform feedback is not available in OpenGL
* ES 2.0.
*/
@ -308,7 +308,7 @@ class MAGNUM_EXPORT Buffer: public AbstractObject {
/**
* Used for storing uniforms.
* @requires_gl31 %Extension @extension{ARB,uniform_buffer_object}
* @requires_gl31 Extension @extension{ARB,uniform_buffer_object}
* @requires_gles30 Uniform buffers are not available in OpenGL ES
* 2.0.
*/
@ -318,7 +318,7 @@ class MAGNUM_EXPORT Buffer: public AbstractObject {
#if !defined(MAGNUM_TARGET_GLES2) || defined(MAGNUM_BUILD_DEPRECATED)
/**
* @brief %Buffer binding target
* @brief Buffer binding target
*
* @see @ref bind(), @ref unbind()
*/
@ -336,7 +336,7 @@ class MAGNUM_EXPORT Buffer: public AbstractObject {
#ifndef MAGNUM_TARGET_GLES2
/**
* Atomic counter binding
* @requires_gl42 %Extension @extension{ARB,shader_atomic_counters}
* @requires_gl42 Extension @extension{ARB,shader_atomic_counters}
* @requires_gles31 Atomic counters are not available in OpenGL ES
* 3.0 and older
*/
@ -410,7 +410,7 @@ class MAGNUM_EXPORT Buffer: public AbstractObject {
#ifndef MAGNUM_TARGET_GLES2
/**
* Shader storage binding
* @requires_gl43 %Extension @extension{ARB,shader_storage_buffer_object}
* @requires_gl43 Extension @extension{ARB,shader_storage_buffer_object}
* @requires_gles31 Shader storage is not available in OpenGL ES
* 3.0 and older
*/
@ -440,7 +440,7 @@ class MAGNUM_EXPORT Buffer: public AbstractObject {
#ifndef MAGNUM_TARGET_GLES2
/**
* Uniform binding
* @requires_gl31 %Extension @extension{ARB,uniform_buffer_object}
* @requires_gl31 Extension @extension{ARB,uniform_buffer_object}
* @requires_gles30 Uniform buffers are not available in OpenGL ES
* 2.0
*/
@ -461,7 +461,7 @@ 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
* @requires_es_extension Extension @es_extension{OES,mapbuffer} or
* @es_extension{CHROMIUM,map_sub}
* @deprecated_gl Prefer to use @ref Magnum::Buffer::map(GLintptr, GLsizeiptr, MapFlags) "map(GLintptr, GLsizeiptr, MapFlags)"
* instead, as it has more complete set of features.
@ -495,8 +495,8 @@ class MAGNUM_EXPORT Buffer: public AbstractObject {
* @brief Memory mapping flag
*
* @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_gl30 Extension @extension{ARB,map_buffer_range}
* @requires_gles30 Extension @es_extension{EXT,map_buffer_range} in
* OpenGL ES 2.0
*/
enum class MapFlag: GLbitfield {
@ -562,8 +562,8 @@ class MAGNUM_EXPORT Buffer: public AbstractObject {
* @brief Memory mapping flags
*
* @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_gl30 Extension @extension{ARB,map_buffer_range}
* @requires_gles30 Extension @es_extension{EXT,map_buffer_range} in
* OpenGL ES 2.0
*/
typedef Containers::EnumSet<MapFlag> MapFlags;
@ -740,8 +740,8 @@ class MAGNUM_EXPORT Buffer: public AbstractObject {
/**
* @brief Copy one buffer to another
* @param read %Buffer from which to read
* @param write %Buffer to which to copy
* @param read Buffer from which to read
* @param write Buffer to which to copy
* @param readOffset Offset in the read buffer
* @param writeOffset Offset in the write buffer
* @param size Data size
@ -752,8 +752,8 @@ class MAGNUM_EXPORT Buffer: public AbstractObject {
* performed.
* @see @fn_gl{BindBuffer} and @fn_gl{CopyBufferSubData} or
* @fn_gl_extension{NamedCopyBufferSubData,EXT,direct_state_access}
* @requires_gl31 %Extension @extension{ARB,copy_buffer}
* @requires_gles30 %Buffer copying is not available in OpenGL ES 2.0.
* @requires_gl31 Extension @extension{ARB,copy_buffer}
* @requires_gles30 Buffer copying is not available in OpenGL ES 2.0.
*/
static void copy(Buffer& read, Buffer& write, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
#endif
@ -803,7 +803,7 @@ class MAGNUM_EXPORT Buffer: public AbstractObject {
GLuint id() const { return _id; }
/**
* @brief %Buffer label
* @brief Buffer label
*
* The result is *not* cached, repeated queries will result in repeated
* OpenGL calls. If OpenGL 4.3 is not supported and neither
@ -918,7 +918,7 @@ class MAGNUM_EXPORT Buffer: public AbstractObject {
#endif
/**
* @brief %Buffer size
* @brief Buffer size
*
* If @extension{EXT,direct_state_access} is not available and the
* buffer is not already bound somewhere, it is bound to hinted target
@ -931,7 +931,7 @@ class MAGNUM_EXPORT Buffer: public AbstractObject {
#ifndef MAGNUM_TARGET_GLES
/**
* @brief %Buffer data
* @brief Buffer data
*
* Returns data of whole buffer. If @extension{EXT,direct_state_access}
* is not available and the buffer is not already bound somewhere, it
@ -941,13 +941,13 @@ class MAGNUM_EXPORT Buffer: public AbstractObject {
* @fn_gl_extension{GetNamedBufferParameter,EXT,direct_state_access}
* with @def_gl{BUFFER_SIZE}, @fn_gl{GetBufferSubData} or
* @fn_gl_extension{GetNamedBufferSubData,EXT,direct_state_access}
* @requires_gl %Buffer data queries are not available in OpenGL ES.
* @requires_gl Buffer data queries are not available in OpenGL ES.
* Use @ref Magnum::Buffer::map() "map()" instead.
*/
template<class T = unsigned char> Containers::Array<T> data();
/**
* @brief %Buffer subdata
* @brief Buffer subdata
* @param offset Byte offset in the buffer
* @param size Data size (count of @p T values)
*
@ -957,7 +957,7 @@ class MAGNUM_EXPORT Buffer: public AbstractObject {
* @see @ref size(), @ref data(), @ref setSubData(), @fn_gl{BindBuffer}
* and @fn_gl{GetBufferSubData} or
* @fn_gl_extension{GetNamedBufferSubData,EXT,direct_state_access}
* @requires_gl %Buffer data queries are not available in OpenGL ES.
* @requires_gl Buffer data queries are not available in OpenGL ES.
* Use @ref Magnum::Buffer::map() "map()" instead.
*/
template<class T = unsigned char> Containers::Array<T> subData(GLintptr offset, GLsizeiptr size);
@ -966,7 +966,7 @@ class MAGNUM_EXPORT Buffer: public AbstractObject {
/**
* @brief Set buffer data
* @param data Data
* @param usage %Buffer usage
* @param usage Buffer usage
* @return Reference to self (for method chaining)
*
* If @extension{EXT,direct_state_access} is not available and the
@ -1048,7 +1048,7 @@ class MAGNUM_EXPORT Buffer: public AbstractObject {
* @see @ref minMapAlignment(), @ref unmap(), @ref setTargetHint(),
* @fn_gl{BindBuffer} and @fn_gl{MapBuffer} or
* @fn_gl_extension{MapNamedBuffer,EXT,direct_state_access}
* @requires_es_extension %Extension @es_extension{OES,mapbuffer} in
* @requires_es_extension Extension @es_extension{OES,mapbuffer} in
* OpenGL ES 2.0, use @ref Magnum::Buffer::map(GLintptr, GLsizeiptr, MapFlags) "map(GLintptr, GLsizeiptr, MapFlags)"
* in OpenGL ES 3.0 instead.
* @deprecated_gl Prefer to use @ref Magnum::Buffer::map(GLintptr, GLsizeiptr, MapFlags) "map(GLintptr, GLsizeiptr, MapFlags)"
@ -1071,7 +1071,7 @@ class MAGNUM_EXPORT Buffer: public AbstractObject {
* @requires_gles20 Not available in ES 3.0 or desktop OpenGL. Use
* @ref Magnum::Buffer::map(GLintptr, GLsizeiptr, MapFlags) "map(GLintptr, GLsizeiptr, MapFlags)"
* instead.
* @requires_es_extension %Extension @es_extension{CHROMIUM,map_sub}
* @requires_es_extension Extension @es_extension{CHROMIUM,map_sub}
* @deprecated_gl Prefer to use @ref Magnum::Buffer::map(GLintptr, GLsizeiptr, MapFlags) "map(GLintptr, GLsizeiptr, MapFlags)"
* instead, as it has more complete set of features.
*/
@ -1092,8 +1092,8 @@ class MAGNUM_EXPORT Buffer: public AbstractObject {
* @see @ref minMapAlignment(), @ref flushMappedRange(), @ref unmap(),
* @ref map(MapAccess), @ref setTargetHint(), @fn_gl{BindBuffer}
* and @fn_gl{MapBufferRange} or @fn_gl_extension{MapNamedBufferRange,EXT,direct_state_access}
* @requires_gl30 %Extension @extension{ARB,map_buffer_range}
* @requires_gles30 %Extension @es_extension{EXT,map_buffer_range} in
* @requires_gl30 Extension @extension{ARB,map_buffer_range}
* @requires_gles30 Extension @es_extension{EXT,map_buffer_range} in
* OpenGL ES 2.0
*/
void* map(GLintptr offset, GLsizeiptr length, MapFlags flags);
@ -1113,8 +1113,8 @@ class MAGNUM_EXPORT Buffer: public AbstractObject {
* before the operation.
* @see @ref setTargetHint(), @fn_gl{BindBuffer} and @fn_gl{FlushMappedBufferRange}
* or @fn_gl_extension{FlushMappedNamedBufferRange,EXT,direct_state_access}
* @requires_gl30 %Extension @extension{ARB,map_buffer_range}
* @requires_gles30 %Extension @es_extension{EXT,map_buffer_range} in
* @requires_gl30 Extension @extension{ARB,map_buffer_range}
* @requires_gles30 Extension @es_extension{EXT,map_buffer_range} in
* OpenGL ES 2.0
*/
Buffer& flushMappedRange(GLintptr offset, GLsizeiptr length);
@ -1131,7 +1131,7 @@ class MAGNUM_EXPORT Buffer: public AbstractObject {
* is bound to hinted target before the operation.
* @see setTargetHint(), @fn_gl{BindBuffer} and @fn_gl{UnmapBuffer} or
* @fn_gl_extension{UnmapNamedBuffer,EXT,direct_state_access}
* @requires_gles30 %Extension @es_extension{OES,mapbuffer} in OpenGL
* @requires_gles30 Extension @es_extension{OES,mapbuffer} in OpenGL
* ES 2.0
*/
bool unmap();
@ -1146,7 +1146,7 @@ class MAGNUM_EXPORT Buffer: public AbstractObject {
* @requires_gles20 Not available in ES 3.0 or desktop OpenGL. Use
* @ref Magnum::Buffer::map(GLintptr, GLsizeiptr, MapFlags) "map(GLintptr, GLsizeiptr, MapFlags)"
* instead.
* @requires_es_extension %Extension @es_extension{CHROMIUM,map_sub}
* @requires_es_extension Extension @es_extension{CHROMIUM,map_sub}
*/
void unmapSub();
#endif

20
src/Magnum/BufferImage.h

@ -40,7 +40,7 @@ namespace Magnum {
#ifndef MAGNUM_TARGET_GLES2
/**
@brief %Buffer image
@brief Buffer image
Stores image data in GPU memory. Interchangeable with @ref Image,
@ref ImageReference or @ref Trade::ImageData.
@ -49,15 +49,15 @@ Stores image data in GPU memory. Interchangeable with @ref Image,
*/
template<UnsignedInt dimensions> class BufferImage: public AbstractImage {
public:
const static UnsignedInt Dimensions = dimensions; /**< @brief %Image dimension count */
const static UnsignedInt Dimensions = dimensions; /**< @brief Image dimension count */
/**
* @brief Constructor
* @param format Format of pixel data
* @param type Data type of pixel data
* @param size %Image size
* @param data %Image data
* @param usage %Image buffer usage
* @param size Image size
* @param data Image data
* @param usage Image buffer usage
*
* Note that the image data are not copied on construction, but they
* are deleted on class destruction.
@ -88,7 +88,7 @@ template<UnsignedInt dimensions> class BufferImage: public AbstractImage {
/** @brief Move assignment */
BufferImage<dimensions>& operator=(BufferImage<dimensions>&& other) noexcept;
/** @brief %Image size */
/** @brief Image size */
VectorTypeFor<Dimensions, Int> size() const { return _size; }
/** @copydoc Image::dataSize() */
@ -96,16 +96,16 @@ template<UnsignedInt dimensions> class BufferImage: public AbstractImage {
return AbstractImage::dataSize<dimensions>(size);
}
/** @brief %Image buffer */
/** @brief Image buffer */
Buffer& buffer() { return _buffer; }
/**
* @brief Set image data
* @param format Format of pixel data
* @param type Data type of pixel data
* @param size %Image size
* @param data %Image data
* @param usage %Image buffer usage
* @param size Image size
* @param data Image data
* @param usage Image buffer usage
*
* Updates the image buffer with given data. The data are not deleted
* after filling the buffer.

18
src/Magnum/BufferTexture.h

@ -104,7 +104,7 @@ enum class BufferTextureFormat: GLenum {
/**
* RGB, each component non-normalized unsigned int.
* @requires_gl40 %Extension @extension{ARB,texture_buffer_object_rgb32}
* @requires_gl40 Extension @extension{ARB,texture_buffer_object_rgb32}
*/
RGB32UI = GL_RGB32UI,
@ -119,7 +119,7 @@ enum class BufferTextureFormat: GLenum {
/**
* RGB, each component non-normalized signed int.
* @requires_gl40 %Extension @extension{ARB,texture_buffer_object_rgb32}
* @requires_gl40 Extension @extension{ARB,texture_buffer_object_rgb32}
*/
RGB32I = GL_RGB32I,
@ -143,7 +143,7 @@ enum class BufferTextureFormat: GLenum {
/**
* RGB, each component float.
* @requires_gl40 %Extension @extension{ARB,texture_buffer_object_rgb32}
* @requires_gl40 Extension @extension{ARB,texture_buffer_object_rgb32}
*/
RGB32F = GL_RGB32F,
@ -152,14 +152,14 @@ enum class BufferTextureFormat: GLenum {
};
/**
@brief %Buffer texture
@brief Buffer texture
This texture is, unlike classic textures such as @ref Texture used as simple
data source, without any unnecessary interpolation and wrapping methods.
## Usage
%Texture data are stored in buffer and after binding the buffer to the texture
Texture data are stored in buffer and after binding the buffer to the texture
using @ref setBuffer(), you can fill the buffer at any time using data setting
functions in Buffer itself.
@ -195,7 +195,7 @@ and respective function documentation for more information.
@see @ref Texture, @ref TextureArray, @ref CubeMapTexture,
@ref CubeMapTextureArray, @ref RectangleTexture, @ref MultisampleTexture
@requires_gl31 %Extension @extension{ARB,texture_buffer_object}
@requires_gl31 Extension @extension{ARB,texture_buffer_object}
@requires_gl Texture buffers are not available in OpenGL ES.
*/
class MAGNUM_EXPORT BufferTexture: public AbstractTexture {
@ -236,7 +236,7 @@ class MAGNUM_EXPORT BufferTexture: public AbstractTexture {
/**
* @brief Set texture buffer
* @param internalFormat Internal format
* @param buffer %Buffer with data
* @param buffer Buffer with data
* @return Reference to self (for method chaining)
*
* Binds given buffer to this texture. The buffer itself can be then
@ -251,7 +251,7 @@ class MAGNUM_EXPORT BufferTexture: public AbstractTexture {
/**
* @brief Set texture buffer
* @param internalFormat Internal format
* @param buffer %Buffer
* @param buffer Buffer
* @param offset Offset
* @param size Data size
* @return Reference to self (for method chaining)
@ -262,7 +262,7 @@ class MAGNUM_EXPORT BufferTexture: public AbstractTexture {
* @see @ref maxSize(), @fn_gl{ActiveTexture}, @fn_gl{BindTexture} and
* @fn_gl{TexBufferRange} or
* @fn_gl_extension{TextureBufferRange,EXT,direct_state_access}
* @requires_gl43 %Extension @extension{ARB,texture_buffer_range}
* @requires_gl43 Extension @extension{ARB,texture_buffer_range}
*/
BufferTexture& setBuffer(BufferTextureFormat internalFormat, Buffer& buffer, GLintptr offset, GLsizeiptr size);

24
src/Magnum/Color.h

@ -161,7 +161,7 @@ template<class T> class BasicColor3: public Math::Vector3<T> {
/**
* @brief Red color
*
* Convenience alternative to e.g. `%Color3(red, 0.0f, 0.0f)`. With
* Convenience alternative to e.g. `Color3(red, 0.0f, 0.0f)`. With
* floating-point underlying type equivalent to @ref Vector3::xAxis().
* @see @ref green(), @ref blue(), @ref cyan()
*/
@ -172,7 +172,7 @@ template<class T> class BasicColor3: public Math::Vector3<T> {
/**
* @brief Green color
*
* Convenience alternative to e.g. `%Color3(0.0f, green, 0.0f)`. With
* Convenience alternative to e.g. `Color3(0.0f, green, 0.0f)`. With
* floating-point underlying type equivalent to @ref Vector3::yAxis().
* @see @ref red(), @ref blue(), @ref magenta()
*/
@ -183,7 +183,7 @@ template<class T> class BasicColor3: public Math::Vector3<T> {
/**
* @brief Blue color
*
* Convenience alternative to e.g. `%Color3(0.0f, 0.0f, blue)`. With
* Convenience alternative to e.g. `Color3(0.0f, 0.0f, blue)`. With
* floating-point underlying type equivalent to @ref Vector3::zAxis().
* @see @ref red(), @ref green(), @ref yellow()
*/
@ -194,7 +194,7 @@ template<class T> class BasicColor3: public Math::Vector3<T> {
/**
* @brief Cyan color
*
* Convenience alternative to e.g. `%Color3(red, 1.0f, 1.0f)`. With
* Convenience alternative to e.g. `Color3(red, 1.0f, 1.0f)`. With
* floating-point underlying type equivalent to @ref Vector3::xScale().
* @see @ref magenta(), @ref yellow(), @ref red()
*/
@ -205,7 +205,7 @@ template<class T> class BasicColor3: public Math::Vector3<T> {
/**
* @brief Magenta color
*
* Convenience alternative to e.g. `%Color3(0.0f, green, 0.0f)`. With
* Convenience alternative to e.g. `Color3(0.0f, green, 0.0f)`. With
* floating-point underlying type equivalent to @ref Vector3::yScale().
* @see @ref cyan(), @ref yellow(), @ref green()
*/
@ -216,7 +216,7 @@ template<class T> class BasicColor3: public Math::Vector3<T> {
/**
* @brief Yellow color
*
* Convenience alternative to `%Color3(0.0f, 0.0f, yellow)`. With
* Convenience alternative to `Color3(0.0f, 0.0f, yellow)`. With
* floating-point underlying type equivalent to @ref Vector3::zScale().
* @see @ref cyan(), @ref magenta(), @ref red()
*/
@ -364,7 +364,7 @@ class BasicColor4: public Math::Vector4<T> {
/**
* @brief Red color
*
* Convenience alternative to e.g. `%Color4(red, 0.0f, 0.0f, alpha)`.
* Convenience alternative to e.g. `Color4(red, 0.0f, 0.0f, alpha)`.
* @see @ref green(), @ref blue(), @ref cyan()
*/
constexpr static BasicColor4<T> red(T red = Implementation::fullChannel<T>(), T alpha = Implementation::fullChannel<T>()) {
@ -374,7 +374,7 @@ class BasicColor4: public Math::Vector4<T> {
/**
* @brief Green color
*
* Convenience alternative to e.g. `%Color4(0.0f, green, 0.0f, alpha)`.
* Convenience alternative to e.g. `Color4(0.0f, green, 0.0f, alpha)`.
* @see @ref red(), @ref blue(), @ref magenta()
*/
constexpr static BasicColor4<T> green(T green = Implementation::fullChannel<T>(), T alpha = Implementation::fullChannel<T>()) {
@ -384,7 +384,7 @@ class BasicColor4: public Math::Vector4<T> {
/**
* @brief Blue color
*
* Convenience alternative to e.g. `%Color4(0.0f, 0.0f, blue, alpha)`.
* Convenience alternative to e.g. `Color4(0.0f, 0.0f, blue, alpha)`.
* @see @ref red(), @ref green(), @ref yellow()
*/
constexpr static BasicColor4<T> blue(T blue = Implementation::fullChannel<T>(), T alpha = Implementation::fullChannel<T>()) {
@ -394,7 +394,7 @@ class BasicColor4: public Math::Vector4<T> {
/**
* @brief Cyan color
*
* Convenience alternative to e.g. `%Color4(red, 1.0f, 1.0f, alpha)`.
* Convenience alternative to e.g. `Color4(red, 1.0f, 1.0f, alpha)`.
* @see @ref magenta(), @ref yellow(), @ref red()
*/
constexpr static BasicColor4<T> cyan(T red = T(0), T alpha = Implementation::fullChannel<T>()) {
@ -404,7 +404,7 @@ class BasicColor4: public Math::Vector4<T> {
/**
* @brief Magenta color
*
* Convenience alternative to e.g. `%Color4(1.0f, green, 1.0f, alpha)`.
* Convenience alternative to e.g. `Color4(1.0f, green, 1.0f, alpha)`.
* @see @ref cyan(), @ref yellow(), @ref green()
*/
constexpr static BasicColor4<T> magenta(T green = T(0), T alpha = Implementation::fullChannel<T>()) {
@ -414,7 +414,7 @@ class BasicColor4: public Math::Vector4<T> {
/**
* @brief Yellow color
*
* Convenience alternative to e.g. `%Color4(1.0f, 1.0f, blue, alpha)`.
* Convenience alternative to e.g. `Color4(1.0f, 1.0f, blue, alpha)`.
* @see @ref cyan(), @ref magenta(), @ref red()
*/
constexpr static BasicColor4<T> yellow(T blue = T(0), T alpha = Implementation::fullChannel<T>()) {

36
src/Magnum/ColorFormat.h

@ -95,7 +95,7 @@ enum class ColorFormat: GLenum {
/**
* Floating-point red and green channel.
* @requires_gl30 %Extension @extension{ARB,texture_rg} and @extension{EXT,texture_integer}
* @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
* @requires_es_extension For framebuffer reading, extension @es_extension{EXT,texture_rg}.
@ -137,7 +137,7 @@ enum class ColorFormat: GLenum {
/**
* Floating-point BGRA.
* @requires_es_extension %Extension @es_extension{EXT,read_format_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.
*/
@ -150,7 +150,7 @@ enum class ColorFormat: GLenum {
#ifndef MAGNUM_TARGET_GLES2
/**
* Integer red channel.
* @requires_gl30 %Extension @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{EXT,texture_integer}
* @requires_gles30 Only floating-point image data are available in OpenGL
* ES 2.0.
*/
@ -159,7 +159,7 @@ enum class ColorFormat: GLenum {
#ifndef MAGNUM_TARGET_GLES
/**
* Integer green channel.
* @requires_gl30 %Extension @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{EXT,texture_integer}
* @requires_gl Only @ref Magnum::ColorFormat::RedInteger "ColorFormat::RedInteger"
* is available in OpenGL ES 3.0, only floating-point image data are
* available in OpenGL ES 2.0.
@ -168,7 +168,7 @@ enum class ColorFormat: GLenum {
/**
* Integer blue channel.
* @requires_gl30 %Extension @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{EXT,texture_integer}
* @requires_gl Only @ref Magnum::ColorFormat::RedInteger "ColorFormat::RedInteger"
* is available in OpenGL ES 3.0, only floating-point image data are
* available in OpenGL ES 2.0.
@ -178,7 +178,7 @@ enum class ColorFormat: GLenum {
/**
* Integer red and green channel.
* @requires_gl30 %Extension @extension{ARB,texture_rg} and @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{ARB,texture_rg} and @extension{EXT,texture_integer}
* @requires_gl Can't be used for framebuffer reading in OpenGL ES.
* @requires_gles30 For texture data only, only floating-point image data
* are available in OpenGL ES 2.0.
@ -187,7 +187,7 @@ enum class ColorFormat: GLenum {
/**
* Integer RGB.
* @requires_gl30 %Extension @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{EXT,texture_integer}
* @requires_gl Can't be used for framebuffer reading in OpenGL ES.
* @requires_gles30 For texture data only, only floating-point image data
* are available in OpenGL ES 2.0.
@ -196,7 +196,7 @@ enum class ColorFormat: GLenum {
/**
* Integer RGBA.
* @requires_gl30 %Extension @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{EXT,texture_integer}
* @requires_gles30 Only floating-point image data are available in OpenGL
* ES 2.0.
*/
@ -205,7 +205,7 @@ enum class ColorFormat: GLenum {
#ifndef MAGNUM_TARGET_GLES
/**
* Integer BGR.
* @requires_gl30 %Extension @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{EXT,texture_integer}
* @requires_gl Only @ref Magnum::ColorFormat::RGBInteger "ColorFormat::RGBInteger"
* is available in OpenGL ES 3.0, only floating-point image data are
* available in OpenGL ES 2.0.
@ -214,7 +214,7 @@ enum class ColorFormat: GLenum {
/**
* Integer BGRA.
* @requires_gl30 %Extension @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{EXT,texture_integer}
* @requires_gl Only @ref Magnum::ColorFormat::RGBAInteger "ColorFormat::RGBAInteger"
* is available in OpenGL ES 3.0, only floating-point image data are
* available in OpenGL ES 2.0.
@ -234,9 +234,9 @@ enum class ColorFormat: GLenum {
/**
* Stencil index.
* @requires_gl44 %Extension @extension{ARB,texture_stencil8} for texture
* @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 @es_extension2{NV,read_stencil,GL_NV_read_depth_stencil},
* for framebuffer reading only.
* @todo Where to get GL_STENCIL_INDEX in ES?
*/
@ -248,7 +248,7 @@ enum class ColorFormat: GLenum {
/**
* Depth and stencil.
* @requires_gl30 %Extension @extension{ARB,framebuffer_object}
* @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
* @requires_es_extension For framebuffer reading only, extension
@ -331,7 +331,7 @@ enum class ColorType: GLenum {
/**
* Each component half float.
* @requires_gl30 %Extension @extension{ARB,half_float_pixel}
* @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
* ES 2.0
@ -451,7 +451,7 @@ enum class ColorType: GLenum {
#ifndef MAGNUM_TARGET_GLES2
/**
* BGR, unsigned int, red and green 11bit float, blue 10bit float.
* @requires_gl30 %Extension @extension{EXT,packed_float}
* @requires_gl30 Extension @extension{EXT,packed_float}
* @requires_gles30 Floating-point types are not available in OpenGL ES
* 2.0.
*/
@ -459,7 +459,7 @@ enum class ColorType: GLenum {
/**
* BGR, unsigned int, each component 9bit + 5bit exponent.
* @requires_gl30 %Extension @extension{EXT,texture_shared_exponent}
* @requires_gl30 Extension @extension{EXT,texture_shared_exponent}
* @requires_gles30 Only 8bit and 16bit types are available in OpenGL ES
* 2.0.
*/
@ -468,7 +468,7 @@ enum class ColorType: GLenum {
/**
* Unsigned int, depth component 24bit, stencil index 8bit.
* @requires_gl30 %Extension @extension{ARB,framebuffer_object}
* @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
*/
@ -482,7 +482,7 @@ enum class ColorType: GLenum {
/**
* Float + unsigned int, depth component 32bit float, 24bit gap, stencil
* index 8bit.
* @requires_gl30 %Extension @extension{ARB,depth_buffer_float}
* @requires_gl30 Extension @extension{ARB,depth_buffer_float}
* @requires_gles30 For texture data only, only
* @ref Magnum::ColorType::UnsignedInt248 "ColorType::UnsignedInt248"
* is available in OpenGL ES 2.0.

26
src/Magnum/Context.h

@ -68,7 +68,7 @@ class MAGNUM_EXPORT Extension {
/** @brief Version in which this extension was adopted to core */
constexpr Version coreVersion() const { return _coreVersion; }
/** @brief %Extension string */
/** @brief Extension string */
constexpr const char* string() const { return _string; }
private:
@ -83,7 +83,7 @@ class MAGNUM_EXPORT Extension {
};
/**
@brief %Magnum context
@brief Magnum context
Provides access to version and extension information. Instance available
through @ref Context::current() is automatically created during construction of
@ -98,15 +98,15 @@ class MAGNUM_EXPORT Context {
public:
/**
* @brief %Context flag
* @brief Context flag
*
* @see @ref Flags, @ref flags(), @ref Platform::Sdl2Application::Configuration::setFlags() "Platform::*Application::Configuration::setFlags()"
*/
enum class Flag: GLint {
/**
* Debug context
* @requires_gl43 %Extension @es_extension{KHR,debug}
* @requires_es_extension %Extension @es_extension{KHR,debug}
* @requires_gl43 Extension @es_extension{KHR,debug}
* @requires_es_extension Extension @es_extension{KHR,debug}
*/
#ifndef MAGNUM_TARGET_GLES
Debug = GL_CONTEXT_FLAG_DEBUG_BIT,
@ -117,8 +117,8 @@ class MAGNUM_EXPORT Context {
#ifndef MAGNUM_TARGET_GLES
/**
* Context with robust access
* @requires_extension %Extension @extension{ARB,robustness}
* @requires_es_extension %Extension @es_extension{EXT,robustness}
* @requires_extension Extension @extension{ARB,robustness}
* @requires_es_extension Extension @es_extension{EXT,robustness}
* @todo In ES available under glGetIntegerv(CONTEXT_ROBUST_ACCESS_EXT),
* how to make it compatible?
*/
@ -135,7 +135,7 @@ class MAGNUM_EXPORT Context {
};
/**
* @brief %Context flags
* @brief Context flags
*
* @see @ref flags()
*/
@ -263,7 +263,7 @@ class MAGNUM_EXPORT Context {
}
/**
* @brief %Renderer string
* @brief Renderer string
*
* The result is *not* cached, repeated queries will result in repeated
* OpenGL calls.
@ -309,11 +309,11 @@ class MAGNUM_EXPORT Context {
std::vector<std::string> shadingLanguageVersionStrings() const;
/**
* @brief %Extension strings
* @brief Extension strings
*
* The result is *not* cached, repeated queries will result in repeated
* OpenGL calls. Note that this function returns list of all extensions
* reported by the driver (even those not supported by %Magnum), see
* reported by the driver (even those not supported by Magnum), see
* @ref supportedExtensions(), @ref Extension::extensions() or
* @ref isExtensionSupported() for alternatives.
* @see @fn_gl{Get} with @def_gl{NUM_EXTENSIONS}, @fn_gl{GetString}
@ -321,7 +321,7 @@ class MAGNUM_EXPORT Context {
*/
std::vector<std::string> extensionStrings() const;
/** @brief %Context flags */
/** @brief Context flags */
Flags flags() const { return _flags; }
/**
@ -365,7 +365,7 @@ class MAGNUM_EXPORT Context {
/**
* @brief Whether given extension is supported
*
* %Extensions usable with this function are listed in @ref Extensions
* Extensions usable with this function are listed in @ref Extensions
* namespace in header @ref Extensions.h. Example usage:
* @code
* if(Context::current()->isExtensionSupported<Extensions::GL::ARB::tessellation_shader>()) {

20
src/Magnum/CubeMapTexture.h

@ -38,7 +38,7 @@ namespace Magnum {
/**
@brief Cube map texture
%Texture used mainly for environment maps. It consists of 6 square textures
Texture used mainly for environment maps. It consists of 6 square textures
generating 6 faces of the cube as following. Note that all images must be
turned upside down (+Y is top):
@ -210,7 +210,7 @@ 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
* @requires_gles30 Extension @es_extension{EXT,shadow_samplers} and
* @es_extension{NV,shadow_samplers_cube}
*/
CubeMapTexture& setCompareMode(Sampler::CompareMode mode) {
@ -223,7 +223,7 @@ 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
* @requires_gles30 Extension @es_extension{EXT,shadow_samplers} and
* @es_extension{NV,shadow_samplers_cube}
*/
CubeMapTexture& setCompareFunction(Sampler::CompareFunction function) {
@ -241,12 +241,12 @@ class MAGNUM_EXPORT CubeMapTexture: public AbstractTexture {
#ifndef MAGNUM_TARGET_GLES2
/**
* @brief %Image size in given mip level
* @brief Image size in given mip level
* @param coordinate Coordinate
* @param level Mip level
*
* See @ref Texture::imageSize() for more information.
* @requires_gles31 %Texture image size queries are not available in
* @requires_gles31 Texture image size queries are not available in
* OpenGL ES 3.0 and older.
*/
Vector2i imageSize(Coordinate coordinate, Int level) {
@ -270,10 +270,10 @@ class MAGNUM_EXPORT CubeMapTexture: public AbstractTexture {
* @brief Read given mip level of texture to image
* @param coordinate Coordinate
* @param level Mip level
* @param image %Image where to put the data
* @param image Image where to put the data
*
* See @ref Texture::image(Int, Image&) for more information.
* @requires_gl %Texture image queries are not available in OpenGL ES.
* @requires_gl Texture image queries are not available in OpenGL ES.
*/
void image(Coordinate coordinate, Int level, Image2D& image) {
AbstractTexture::image<2>(GLenum(coordinate), level, image);
@ -283,12 +283,12 @@ class MAGNUM_EXPORT CubeMapTexture: public AbstractTexture {
* @brief Read given mip level of texture to buffer image
* @param coordinate Coordinate
* @param level Mip level
* @param image %Buffer image where to put the data
* @param usage %Buffer usage
* @param image Buffer image where to put the data
* @param usage Buffer usage
*
* See @ref Texture::image(Int, BufferImage&, BufferUsage) for more
* information.
* @requires_gl %Texture image queries are not available in OpenGL ES.
* @requires_gl Texture image queries are not available in OpenGL ES.
*/
void image(Coordinate coordinate, Int level, BufferImage2D& image, BufferUsage usage) {
AbstractTexture::image<2>(GLenum(coordinate), level, image, usage);

10
src/Magnum/CubeMapTextureArray.h

@ -79,7 +79,7 @@ the six sides of the cube map, fourth part is layer in the array. See
@see @ref Renderer::Feature::SeamlessCubeMapTexture, @ref CubeMapTexture,
@ref Texture, @ref TextureArray, @ref RectangleTexture, @ref BufferTexture,
@ref MultisampleTexture
@requires_gl40 %Extension @extension{ARB,texture_cube_map_array}
@requires_gl40 Extension @extension{ARB,texture_cube_map_array}
@requires_gl Cube map texture arrays are not available in OpenGL ES.
*/
class CubeMapTextureArray: public AbstractTexture {
@ -272,7 +272,7 @@ class CubeMapTextureArray: public AbstractTexture {
}
/**
* @brief %Image size in given mip level
* @brief Image size in given mip level
* @param level Mip level
*
* See @ref Texture::imageSize() for more information.
@ -296,7 +296,7 @@ class CubeMapTextureArray: public AbstractTexture {
/**
* @brief Read given mip level of texture to image
* @param level Mip level
* @param image %Image where to put the data
* @param image Image where to put the data
*
* See @ref Texture::image(Int, Image&) for more information.
*/
@ -307,8 +307,8 @@ class CubeMapTextureArray: public AbstractTexture {
/**
* @brief Read given mip level of texture to buffer image
* @param level Mip level
* @param image %Buffer image where to put the data
* @param usage %Buffer usage
* @param image Buffer image where to put the data
* @param usage Buffer usage
*
* See @ref Texture::image(Int, BufferImage&, BufferUsage) for more
* information.

4
src/Magnum/DebugMessage.h

@ -94,7 +94,7 @@ class MAGNUM_EXPORT DebugMessage {
WindowSystem = GL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR,
#endif
/** %Shader compiler */
/** Shader compiler */
#ifndef MAGNUM_TARGET_GLES
ShaderCompiler = GL_DEBUG_SOURCE_SHADER_COMPILER,
#else
@ -355,7 +355,7 @@ class MAGNUM_EXPORT DebugMessage {
* DebugMessage::Type::Marker, 1337, DebugMessage::Severity::Notification, "Hello from OpenGL command stream!");
* @endcode
*
* > %DebugMessage::Source::Application %DebugMessage::Type::Marker -1 %DebugMessage::Severity::Notification\n
* > DebugMessage::Source::Application DebugMessage::Type::Marker -1 DebugMessage::Severity::Notification\n
* > &nbsp;&nbsp;&nbsp;&nbsp;Hello from OpenGL command stream!
*/
static void setDefaultCallback();

24
src/Magnum/DefaultFramebuffer.h

@ -87,7 +87,7 @@ class MAGNUM_EXPORT DefaultFramebuffer: public AbstractFramebuffer {
* @brief Status
*
* @see @ref checkStatus()
* @requires_gl30 %Extension @extension{ARB,framebuffer_object}
* @requires_gl30 Extension @extension{ARB,framebuffer_object}
*/
enum class Status: GLenum {
/** The framebuffer is complete */
@ -95,7 +95,7 @@ class MAGNUM_EXPORT DefaultFramebuffer: public AbstractFramebuffer {
/**
* The default framebuffer does not exist.
* @requires_gles30 %Extension @es_extension{OES,surfaceless_context}
* @requires_gles30 Extension @es_extension{OES,surfaceless_context}
* in OpenGL ES 2.0
*/
#ifndef MAGNUM_TARGET_GLES2
@ -173,7 +173,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 @es_extension2{NV,read_buffer,GL_NV_read_buffer}
* in OpenGL ES 2.0
*/
enum class ReadAttachment: GLenum {
@ -223,7 +223,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 @es_extension2{NV,read_buffer_front,GL_NV_read_buffer}
*/
Front = GL_FRONT
@ -244,8 +244,8 @@ class MAGNUM_EXPORT DefaultFramebuffer: public AbstractFramebuffer {
* @brief Invalidation attachment
*
* @see @ref invalidate()
* @requires_gl43 %Extension @extension{ARB,invalidate_subdata}
* @requires_gles30 %Extension @es_extension{EXT,discard_framebuffer}
* @requires_gl43 Extension @extension{ARB,invalidate_subdata}
* @requires_gles30 Extension @es_extension{EXT,discard_framebuffer}
* in OpenGL ES 2.0
*/
enum class InvalidationAttachment: GLenum {
@ -320,7 +320,7 @@ class MAGNUM_EXPORT DefaultFramebuffer: public AbstractFramebuffer {
* operation.
* @see @fn_gl{BindFramebuffer}, @fn_gl{CheckFramebufferStatus} or
* @fn_gl_extension{CheckNamedFramebufferStatus,EXT,direct_state_access}
* @requires_gl30 %Extension @extension{ARB,framebuffer_object}
* @requires_gl30 Extension @extension{ARB,framebuffer_object}
*/
Status checkStatus(FramebufferTarget target);
@ -330,7 +330,7 @@ class MAGNUM_EXPORT DefaultFramebuffer: public AbstractFramebuffer {
* @return Reference to self (for method chaining)
*
* @p attachments is list of shader outputs mapped to buffer
* attachments. %Shader outputs which are not listed are not used, you
* attachments. Shader outputs which are not listed are not used, you
* can achieve the same by passing @ref DrawAttachment::None as
* attachment. Example usage:
* @code
@ -351,7 +351,7 @@ class MAGNUM_EXPORT DefaultFramebuffer: public AbstractFramebuffer {
/**
* @brief Map shader output to buffer attachment
* @param attachment %Buffer attachment
* @param attachment Buffer attachment
* @return Reference to self (for method chaining)
*
* Similar to above function, can be used in cases when shader has
@ -371,7 +371,7 @@ class MAGNUM_EXPORT DefaultFramebuffer: public AbstractFramebuffer {
/**
* @brief Map given attachment for reading
* @param attachment %Buffer attachment
* @param attachment Buffer attachment
* @return Reference to self (for method chaining)
*
* If @extension{EXT,direct_state_access} is not available and the
@ -379,7 +379,7 @@ class MAGNUM_EXPORT DefaultFramebuffer: public AbstractFramebuffer {
* operation.
* @see mapForDraw(), @fn_gl{BindFramebuffer}, @fn_gl{ReadBuffer} or
* @fn_gl_extension{FramebufferReadBuffer,EXT,direct_state_access}
* @requires_gles30 %Extension @es_extension2{NV,read_buffer,GL_NV_read_buffer}
* @requires_gles30 Extension @es_extension2{NV,read_buffer,GL_NV_read_buffer}
* in OpenGL ES 2.0
*/
DefaultFramebuffer& mapForRead(ReadAttachment attachment);
@ -401,7 +401,7 @@ class MAGNUM_EXPORT DefaultFramebuffer: public AbstractFramebuffer {
/**
* @brief Invalidate framebuffer rectangle
* @param attachments Attachments to invalidate
* @param rectangle %Rectangle to invalidate
* @param rectangle Rectangle to invalidate
*
* If extension @extension{ARB,invalidate_subdata} (part of OpenGL
* 4.3) or OpenGL ES 3.0 is not available, this function does nothing.

4
src/Magnum/DimensionTraits.h

@ -64,7 +64,7 @@ template<UnsignedInt dimensions, class T> struct DimensionTraits {
/**
@brief Vector type for given dimension count and type
Convenience alternative to <tt>typename %DimensionTraits<dimensions, T>::%VectorType</tt>.
Convenience alternative to `typename DimensionTraits<dimensions, T>::VectorType`.
See @ref DimensionTraits::VectorType for more information.
*/
template<UnsignedInt dimensions, class T> using VectorTypeFor = typename DimensionTraits<dimensions, T>::VectorType;
@ -72,7 +72,7 @@ template<UnsignedInt dimensions, class T> using VectorTypeFor = typename Dimensi
/**
@brief Matrix type for given dimension count and type
Convenience alternative to <tt>typename %DimensionTraits<dimensions, T>::%MatrixType</tt>.
Convenience alternative to `typename DimensionTraits<dimensions, T>::MatrixType`.
See @ref DimensionTraits::MatrixType for more information.
*/
template<UnsignedInt dimensions, class T> using MatrixTypeFor = typename DimensionTraits<dimensions, T>::MatrixType;

2
src/Magnum/Extensions.h

@ -45,7 +45,7 @@ extensions are available only on @ref MAGNUM_TARGET_GLES "OpenGL ES builds".
Each struct has the same public methods as Extension class (requiredVersion(),
coreVersion() and string(), but these structs are better suited for
compile-time decisions rather than %Extension instances. See
compile-time decisions rather than Extension instances. See
@ref Context::isExtensionSupported() for example usage.
This namespace is built by default. To use it, you need to add `${MAGNUM_INCLUDE_DIRS}`

66
src/Magnum/Framebuffer.h

@ -39,7 +39,7 @@
namespace Magnum {
/**
@brief %Framebuffer
@brief Framebuffer
Unlike @ref DefaultFramebuffer, which is used for on-screen rendering, this
class is used for off-screen rendering, usable either in windowless
@ -99,7 +99,7 @@ If extension @extension{EXT,direct_state_access} is available, functions
@ref attachTexture3D() use DSA to avoid unnecessary calls to @fn_gl{BindFramebuffer}.
See their respective documentation for more information.
@requires_gl30 %Extension @extension{ARB,framebuffer_object}
@requires_gl30 Extension @extension{ARB,framebuffer_object}
@todo `MAX_COLOR_ATTACHMENTS`
*/
class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObject {
@ -121,7 +121,7 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
* @brief Constructor
* @param id Color attachment ID
*
* @requires_gles30 %Extension @es_extension{NV,fbo_color_attachments}
* @requires_gles30 Extension @es_extension{NV,fbo_color_attachments}
* is required for @p id greater than 0 in OpenGL ES 2.0
*/
constexpr explicit ColorAttachment(UnsignedInt id): attachment(GL_COLOR_ATTACHMENT0 + id) {}
@ -158,7 +158,7 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
};
/**
* @brief %Buffer attachment
* @brief Buffer attachment
*
* @see @ref attachRenderbuffer(), @ref attachTexture1D(),
* @ref attachTexture2D(), @ref attachCubeMapTexture(),
@ -203,8 +203,8 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
* @brief Invalidation attachment
*
* @see @ref invalidate()
* @requires_gl43 %Extension @extension{ARB,invalidate_subdata}
* @requires_gles30 %Extension @es_extension{EXT,discard_framebuffer}
* @requires_gl43 Extension @extension{ARB,invalidate_subdata}
* @requires_gles30 Extension @es_extension{EXT,discard_framebuffer}
* in OpenGL ES 2.0
*/
class InvalidationAttachment {
@ -267,7 +267,7 @@ 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},
* @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
@ -334,7 +334,7 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
GLuint id() const { return _id; }
/**
* @brief %Framebuffer label
* @brief Framebuffer label
*
* The result is *not* cached, repeated queries will result in repeated
* OpenGL calls. If OpenGL 4.3 is not supported and neither
@ -383,7 +383,7 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
* @return Reference to self (for method chaining)
*
* @p attachments is list of shader outputs mapped to framebuffer
* color attachment IDs. %Shader outputs which are not listed are not
* color attachment IDs. Shader outputs which are not listed are not
* used, you can achieve the same by passing @ref Framebuffer::DrawAttachment::None
* as color attachment ID. Example usage:
* @code
@ -398,7 +398,7 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
* @ref maxColorAttachments(), @ref mapForRead(),
* @fn_gl{BindFramebuffer}, @fn_gl{DrawBuffers} or
* @fn_gl_extension{FramebufferDrawBuffers,EXT,direct_state_access}
* @requires_gles30 %Extension @es_extension2{NV,draw_buffers,GL_NV_draw_buffers}
* @requires_gles30 Extension @es_extension2{NV,draw_buffers,GL_NV_draw_buffers}
* in OpenGL ES 2.0
*/
Framebuffer& mapForDraw(std::initializer_list<std::pair<UnsignedInt, DrawAttachment>> attachments);
@ -418,7 +418,7 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
* @fn_gl{BindFramebuffer}, @fn_gl{DrawBuffer} or
* @fn_gl_extension{FramebufferDrawBuffer,EXT,direct_state_access},
* @fn_gl{DrawBuffers} in OpenGL ES 3.0
* @requires_gles30 %Extension @es_extension2{NV,draw_buffers,GL_NV_draw_buffers}
* @requires_gles30 Extension @es_extension2{NV,draw_buffers,GL_NV_draw_buffers}
* in OpenGL ES 2.0
*/
Framebuffer& mapForDraw(DrawAttachment attachment);
@ -433,7 +433,7 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
* operation.
* @see @ref mapForDraw(), @fn_gl{BindFramebuffer}, @fn_gl{ReadBuffer}
* or @fn_gl_extension{FramebufferReadBuffer,EXT,direct_state_access}
* @requires_gles30 %Extension @es_extension2{NV,read_buffer,GL_NV_read_buffer}
* @requires_gles30 Extension @es_extension2{NV,read_buffer,GL_NV_read_buffer}
* in OpenGL ES 2.0
*/
Framebuffer& mapForRead(ColorAttachment attachment);
@ -446,10 +446,10 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
* not already.
* @see @fn_gl{InvalidateFramebuffer} or @fn_gles_extension{DiscardFramebuffer,EXT,discard_framebuffer}
* on OpenGL ES 2.0
* @requires_gl43 %Extension @extension{ARB,invalidate_subdata}. Use
* @requires_gl43 Extension @extension{ARB,invalidate_subdata}. Use
* @ref Magnum::Framebuffer::clear() "clear()" instead where the
* extension is not supported.
* @requires_gles30 %Extension @es_extension{EXT,discard_framebuffer}
* @requires_gles30 Extension @es_extension{EXT,discard_framebuffer}
* in OpenGL ES 2.0. Use @ref Magnum::Framebuffer::clear() "clear()"
* instead where the extension is not supported.
*/
@ -458,7 +458,7 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
/**
* @brief Invalidate framebuffer rectangle
* @param attachments Attachments to invalidate
* @param rectangle %Rectangle to invalidate
* @param rectangle Rectangle to invalidate
*
* If extension @extension{ARB,invalidate_subdata} (part of OpenGL
* 4.3) or OpenGL ES 3.0 is not available, this function does nothing.
@ -471,8 +471,8 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
/**
* @brief Attach renderbuffer to given buffer
* @param attachment %Buffer attachment
* @param renderbuffer %Renderbuffer
* @param attachment Buffer attachment
* @param renderbuffer Renderbuffer
* @return Reference to self (for method chaining)
*
* If extension @extension{ARB,invalidate_subdata} (part of OpenGL
@ -488,8 +488,8 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
#ifndef MAGNUM_TARGET_GLES
/**
* @brief Attach texture to given buffer
* @param attachment %Buffer attachment
* @param texture %Texture
* @param attachment Buffer attachment
* @param texture Texture
* @param level Mip level
* @return Reference to self (for method chaining)
*
@ -506,8 +506,8 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
/**
* @brief Attach texture to given buffer
* @param attachment %Buffer attachment
* @param texture %Texture
* @param attachment Buffer attachment
* @param texture Texture
* @param level Mip level
* @return Reference to self (for method chaining)
*
@ -522,7 +522,7 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
#ifndef MAGNUM_TARGET_GLES
/** @overload
* @requires_gl31 %Extension @extension{ARB,texture_rectangle}
* @requires_gl31 Extension @extension{ARB,texture_rectangle}
* @requires_gl Rectangle textures are not available in OpenGL ES.
*/
Framebuffer& attachTexture(BufferAttachment attachment, RectangleTexture& texture);
@ -530,7 +530,7 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
#ifndef MAGNUM_TARGET_GLES2
/** @overload
* @requires_gl32 %Extension @extension{ARB,texture_multisample}
* @requires_gl32 Extension @extension{ARB,texture_multisample}
* @requires_gles31 Multisample textures are not available in OpenGL ES
* 3.0 and older.
*/
@ -539,8 +539,8 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
/**
* @brief Attach cube map texture to given buffer
* @param attachment %Buffer attachment
* @param texture %Texture
* @param attachment Buffer attachment
* @param texture Texture
* @param coordinate Cube map coordinate
* @param level Mip level
* @return Reference to self (for method chaining)
@ -556,8 +556,8 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
/**
* @brief Attach texture layer to given buffer
* @param attachment %Buffer attachment
* @param texture %Texture
* @param attachment Buffer attachment
* @param texture Texture
* @param level Mip level
* @param layer Layer
* @return Reference to self (for method chaining)
@ -568,14 +568,14 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
* @see @fn_gl{BindFramebuffer}, @fn_gl2{FramebufferTextureLayer,FramebufferTexture}
* or @fn_gl_extension{NamedFramebufferTextureLayer,EXT,direct_state_access},
* @fn_gles_extension{FramebufferTexture3D,OES,texture_3D} in OpenGL ES 2.0
* @requires_gles30 %Extension @es_extension{OES,texture_3D} in OpenGL
* @requires_gles30 Extension @es_extension{OES,texture_3D} in OpenGL
* ES 2.0
*/
Framebuffer& attachTextureLayer(BufferAttachment attachment, Texture3D& texture, Int level, Int layer);
#ifndef MAGNUM_TARGET_GLES
/** @overload
* @requires_gl30 %Extension @extension{EXT,texture_array}
* @requires_gl30 Extension @extension{EXT,texture_array}
* @requires_gl Only 2D array textures are available in OpenGL ES.
*/
Framebuffer& attachTextureLayer(BufferAttachment attachment, Texture1DArray& texture, Int level, Int layer);
@ -583,21 +583,21 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
#ifndef MAGNUM_TARGET_GLES2
/** @overload
* @requires_gl30 %Extension @extension{EXT,texture_array}
* @requires_gles30 %Array textures are not available in OpenGL ES 2.0
* @requires_gl30 Extension @extension{EXT,texture_array}
* @requires_gles30 Array textures are not available in OpenGL ES 2.0
*/
Framebuffer& attachTextureLayer(BufferAttachment attachment, Texture2DArray& texture, Int level, Int layer);
#endif
#ifndef MAGNUM_TARGET_GLES
/** @overload
* @requires_gl40 %Extension @extension{ARB,texture_cube_map_array}
* @requires_gl40 Extension @extension{ARB,texture_cube_map_array}
* @requires_gl Cube map texture arrays are not available in OpenGL ES.
*/
Framebuffer& attachTextureLayer(BufferAttachment attachment, CubeMapTextureArray& texture, Int level, Int layer);
/** @overload
* @requires_gl32 %Extension @extension{ARB,texture_multisample}
* @requires_gl32 Extension @extension{ARB,texture_multisample}
* @requires_gl Multisample array textures are not available in OpenGL ES.
*/
Framebuffer& attachTextureLayer(BufferAttachment attachment, MultisampleTexture2DArray& texture, Int layer);

14
src/Magnum/Image.h

@ -34,7 +34,7 @@
namespace Magnum {
/**
@brief %Image
@brief Image
Stores image data on client memory. Interchangeable with @ref ImageReference,
@ref BufferImage or @ref Trade::ImageData.
@ -42,14 +42,14 @@ Stores image data on client memory. Interchangeable with @ref ImageReference,
*/
template<UnsignedInt dimensions> class Image: public AbstractImage {
public:
const static UnsignedInt Dimensions = dimensions; /**< @brief %Image dimension count */
const static UnsignedInt Dimensions = dimensions; /**< @brief Image dimension count */
/**
* @brief Constructor
* @param format Format of pixel data
* @param type Data type of pixel data
* @param size %Image size
* @param data %Image data
* @param size Image size
* @param data Image data
*
* Note that the image data are not copied on construction, but they
* are deleted on class destruction.
@ -94,7 +94,7 @@ template<UnsignedInt dimensions> class Image: public AbstractImage {
/*implicit*/ operator ImageReference<dimensions>() const && = delete;
#endif
/** @brief %Image size */
/** @brief Image size */
VectorTypeFor<dimensions, Int> size() const { return _size; }
/**
@ -126,8 +126,8 @@ template<UnsignedInt dimensions> class Image: public AbstractImage {
* @brief Set image data
* @param format Format of pixel data
* @param type Data type of pixel data
* @param size %Image size
* @param data %Image data
* @param size Image size
* @param data Image data
*
* Deletes previous data and replaces them with new. Note that the
* data are not copied, but they are deleted on destruction.

14
src/Magnum/ImageReference.h

@ -36,7 +36,7 @@
namespace Magnum {
/**
@brief %Image reference
@brief Image reference
Adds information about dimensions, color components and component type to some
data in memory.
@ -52,14 +52,14 @@ Interchangeable with @ref Image, @ref BufferImage or @ref Trade::ImageData.
*/
template<UnsignedInt dimensions> class ImageReference: public AbstractImage {
public:
const static UnsignedInt Dimensions = dimensions; /**< @brief %Image dimension count */
const static UnsignedInt Dimensions = dimensions; /**< @brief Image dimension count */
/**
* @brief Constructor
* @param format Format of pixel data
* @param type Data type of pixel data
* @param size %Image size
* @param data %Image data
* @param size Image size
* @param data Image data
*/
constexpr explicit ImageReference(ColorFormat format, ColorType type, const VectorTypeFor<dimensions, Int>& size, const void* data): AbstractImage(format, type), _size(size), _data(reinterpret_cast<const unsigned char*>(data)) {}
@ -67,14 +67,14 @@ template<UnsignedInt dimensions> class ImageReference: public AbstractImage {
* @brief Constructor
* @param format Format of pixel data
* @param type Data type of pixel data
* @param size %Image size
* @param size Image size
*
* Data pointer is set to `nullptr`, call @ref setData() to fill the
* image with data.
*/
constexpr explicit ImageReference(ColorFormat format, ColorType type, const VectorTypeFor<dimensions, Int>& size): AbstractImage(format, type), _size(size), _data(nullptr) {}
/** @brief %Image size */
/** @brief Image size */
constexpr VectorTypeFor<dimensions, Int> size() const { return _size; }
/** @copydoc Image::dataSize() */
@ -92,7 +92,7 @@ template<UnsignedInt dimensions> class ImageReference: public AbstractImage {
/**
* @brief Set image data
* @param data %Image data
* @param data Image data
*
* Dimensions, color compnents and data type remains the same as
* passed in constructor. The data are not copied nor deleted on

2
src/Magnum/Magnum.h

@ -70,7 +70,7 @@ using Corrade::Utility::Error;
@brief Build with deprecated API included
Defined if the library contains deprecated API (which will be removed in the
future). To preserve backward compatibility, %Magnum is by default built with
future). To preserve backward compatibility, Magnum is by default built with
deprecated API included.
@see @ref building, @ref cmake
*/

36
src/Magnum/Mesh.h

@ -39,7 +39,7 @@
namespace Magnum {
/**
* @brief %Mesh primitive type
* @brief Mesh primitive type
*
* @see @ref Mesh::primitive(), @ref Mesh::setPrimitive()
*/
@ -65,14 +65,14 @@ enum class MeshPrimitive: GLenum {
#ifndef MAGNUM_TARGET_GLES
/**
* Line strip with adjacency information.
* @requires_gl32 %Extension @extension{ARB,geometry_shader4}
* @requires_gl32 Extension @extension{ARB,geometry_shader4}
* @requires_gl Geometry shaders are not available in OpenGL ES.
*/
LineStripAdjacency = GL_LINE_STRIP_ADJACENCY,
/**
* Lines with adjacency information.
* @requires_gl32 %Extension @extension{ARB,geometry_shader4}
* @requires_gl32 Extension @extension{ARB,geometry_shader4}
* @requires_gl Geometry shaders are not available in OpenGL ES.
*/
LinesAdjacency = GL_LINES_ADJACENCY,
@ -96,21 +96,21 @@ enum class MeshPrimitive: GLenum {
#ifndef MAGNUM_TARGET_GLES
/**
* Triangle strip with adjacency information.
* @requires_gl32 %Extension @extension{ARB,geometry_shader4}
* @requires_gl32 Extension @extension{ARB,geometry_shader4}
* @requires_gl Geometry shaders are not available in OpenGL ES.
*/
TriangleStripAdjacency = GL_TRIANGLE_STRIP_ADJACENCY,
/**
* Triangles with adjacency information.
* @requires_gl32 %Extension @extension{ARB,geometry_shader4}
* @requires_gl32 Extension @extension{ARB,geometry_shader4}
* @requires_gl Geometry shaders are not available in OpenGL ES.
*/
TrianglesAdjacency = GL_TRIANGLES_ADJACENCY,
/**
* Patches.
* @requires_gl40 %Extension @extension{ARB,tessellation_shader}
* @requires_gl40 Extension @extension{ARB,tessellation_shader}
* @requires_gl Tessellation shaders are not available in OpenGL ES.
*/
Patches = GL_PATCHES
@ -120,10 +120,10 @@ enum class MeshPrimitive: GLenum {
namespace Implementation { struct MeshState; }
/**
@brief %Mesh
@brief Mesh
@anchor Mesh-configuration
## %Mesh configuration
## Mesh configuration
You have to specify at least primitive and vertex/index count using
@ref setPrimitive() and @ref setCount(). Then fill your vertex buffers with
@ -322,7 +322,7 @@ If @extension{ARB,vertex_array_object} (part of OpenGL 3.0), OpenGL ES 3.0 or
used instead of binding the buffers and specifying vertex attribute pointers
in each @ref draw() call. The engine tracks currently bound VAO and currently
active shader program to avoid unnecessary calls to @fn_gl{BindVertexArray} and
@fn_gl{UseProgram}. %Mesh limits and implementation-defined values (such as
@fn_gl{UseProgram}. Mesh limits and implementation-defined values (such as
@ref maxVertexAttributes()) are cached, so repeated queries don't result in
repeated @fn_gl{Get} calls.
@ -359,7 +359,7 @@ class MAGNUM_EXPORT Mesh: public AbstractObject {
/**
* Unsigned int
* @requires_gles30 %Extension @es_extension{OES,element_index_uint}
* @requires_gles30 Extension @es_extension{OES,element_index_uint}
* in OpenGL ES 2.0
*/
UnsignedInt = GL_UNSIGNED_INT
@ -465,7 +465,7 @@ class MAGNUM_EXPORT Mesh: public AbstractObject {
GLuint id() const { return _id; }
/**
* @brief %Mesh label
* @brief Mesh label
*
* The result is *not* cached, repeated queries will result in repeated
* OpenGL calls. If OpenGL 4.3 is not supported and neither
@ -552,7 +552,7 @@ class MAGNUM_EXPORT Mesh: public AbstractObject {
* Sets number of vertices of which the vertex buffer will be offset
* when drawing. Default is `0`.
* @see @ref setCount(), @ref setBaseInstance()
* @requires_gl32 %Extension @extension{ARB,draw_elements_base_vertex}
* @requires_gl32 Extension @extension{ARB,draw_elements_base_vertex}
* for indexed meshes
* @requires_gl Base vertex cannot be specified for indexed meshes in
* OpenGL ES.
@ -607,8 +607,8 @@ class MAGNUM_EXPORT Mesh: public AbstractObject {
* Default is `1`.
* @see @ref setBaseInstance(), @ref setCount(),
* @ref addVertexBufferInstanced()
* @requires_gl31 %Extension @extension{ARB,draw_instanced}
* @requires_gles30 %Extension @es_extension{ANGLE,instanced_arrays},
* @requires_gl31 Extension @extension{ARB,draw_instanced}
* @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.
*/
@ -627,7 +627,7 @@ class MAGNUM_EXPORT Mesh: public AbstractObject {
*
* Default is `0`.
* @see @ref setInstanceCount(), @ref setBaseVertex()
* @requires_gl42 %Extension @extension{ARB,base_instance}
* @requires_gl42 Extension @extension{ARB,base_instance}
* @requires_gl Base instance cannot be specified in OpenGL ES.
*/
Mesh& setBaseInstance(UnsignedInt baseInstance) {
@ -730,8 +730,8 @@ class MAGNUM_EXPORT Mesh: public AbstractObject {
* @fn_gl_extension{EnableVertexArrayAttrib,EXT,direct_state_access},
* @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},
* @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.
*/
@ -784,7 +784,7 @@ class MAGNUM_EXPORT Mesh: public AbstractObject {
/**
* @brief Draw the mesh
* @param shader %Shader to use for drawing
* @param shader Shader to use for drawing
*
* Expects that the shader is compatible with this mesh and is fully
* set up. If vertex/index count or instance count is `0`, no draw

12
src/Magnum/MeshView.h

@ -41,11 +41,11 @@ namespace Magnum {
namespace Implementation { struct MeshState; }
/**
@brief %Mesh view
@brief Mesh view
Allows different interpretation of given @ref Mesh data via different vertex or
index count and offset. It is then possible to reuse one mesh buffer
configuration for different views. %Mesh primitive, index type, attribute
configuration for different views. Mesh primitive, index type, attribute
bindings and attached buffers are reused from original mesh.
The same rules as in @ref Mesh apply, i.e. if the view has non-zero index
@ -121,7 +121,7 @@ class MAGNUM_EXPORT MeshView {
*
* Sets number of vertices of which the vertex buffer will be offset
* when drawing. Default is `0`.
* @requires_gl32 %Extension @extension{ARB,draw_elements_base_vertex}
* @requires_gl32 Extension @extension{ARB,draw_elements_base_vertex}
* for indexed meshes
* @requires_gl Base vertex cannot be specified for indexed meshes in
* OpenGL ES.
@ -213,8 +213,8 @@ class MAGNUM_EXPORT MeshView {
* @return Reference to self (for method chaining)
*
* Default is `1`.
* @requires_gl31 %Extension @extension{ARB,draw_instanced}
* @requires_gles30 %Extension @es_extension{ANGLE,instanced_arrays},
* @requires_gl31 Extension @extension{ARB,draw_instanced}
* @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.
*/
@ -232,7 +232,7 @@ class MAGNUM_EXPORT MeshView {
* @return Reference to self (for method chaining)
*
* Default is `0`.
* @requires_gl42 %Extension @extension{ARB,base_instance}
* @requires_gl42 Extension @extension{ARB,base_instance}
* @requires_gl Base instance cannot be specified in OpenGL ES.
*/
MeshView& setBaseInstance(UnsignedInt baseInstance) {

12
src/Magnum/MultisampleTexture.h

@ -86,7 +86,7 @@ shaders.
@see @ref MultisampleTexture2D, @ref MultisampleTexture2DArray, @ref Texture,
@ref TextureArray, @ref CubeMapTexture, @ref CubeMapTextureArray,
@ref RectangleTexture, @ref BufferTexture
@requires_gl32 %Extension @extension{ARB,texture_multisample}
@requires_gl32 Extension @extension{ARB,texture_multisample}
@requires_gles31 Multisample textures are not available in OpenGL ES 3.0 and
older.
@requires_gl 2D array multisample textures are not available in OpenGL ES, only
@ -94,7 +94,7 @@ shaders.
*/
template<UnsignedInt dimensions> class MultisampleTexture: public AbstractTexture {
public:
static const UnsignedInt Dimensions = dimensions; /**< @brief %Texture dimension count */
static const UnsignedInt Dimensions = dimensions; /**< @brief Texture dimension count */
/**
* @brief Max supported multisample texture size
@ -123,7 +123,7 @@ template<UnsignedInt dimensions> class MultisampleTexture: public AbstractTextur
explicit MultisampleTexture(): AbstractTexture(Implementation::multisampleTextureTarget<dimensions>()) {}
/**
* @brief %Image size
* @brief Image size
*
* The result is not cached in any way. If
* @extension{EXT,direct_state_access} is not available, the texture
@ -141,7 +141,7 @@ template<UnsignedInt dimensions> class MultisampleTexture: public AbstractTextur
* @brief Set storage
* @param samples Sample count
* @param internalFormat Internal format
* @param size %Texture size
* @param size Texture size
* @param sampleLocations Whether to use fixed sample locations
* @return Reference to self (for method chaining)
*
@ -201,7 +201,7 @@ template<UnsignedInt dimensions> class MultisampleTexture: public AbstractTextur
/**
@brief Two-dimensional multisample texture
@requires_gl32 %Extension @extension{ARB,texture_multisample}
@requires_gl32 Extension @extension{ARB,texture_multisample}
@requires_gles31 Multisample textures are not available in OpenGL ES 3.0 and
older.
*/
@ -211,7 +211,7 @@ typedef MultisampleTexture<2> MultisampleTexture2D;
/**
@brief Two-dimensional multisample texture array
@requires_gl32 %Extension @extension{ARB,texture_multisample}
@requires_gl32 Extension @extension{ARB,texture_multisample}
@requires_gl Only @ref Magnum::MultisampleTexture2D "MultisampleTexture2D" is
available in OpenGL ES.
*/

2
src/Magnum/PrimitiveQuery.h

@ -55,7 +55,7 @@ if(!q.resultAvailable()) {
// ...or block until the result is available
UnsignedInt primitiveCount = q.result<UnsignedInt>();
@endcode
@requires_gl30 %Extension @extension{EXT,transform_feedback}
@requires_gl30 Extension @extension{EXT,transform_feedback}
@requires_gles30 Only sample queries are available on OpenGL ES 2.0.
@see @ref SampleQuery, @ref TimeQuery, @ref TransformFeedback

16
src/Magnum/RectangleTexture.h

@ -65,7 +65,7 @@ documentation for more information about usage in shaders.
@see @ref Texture, @ref TextureArray, @ref CubeMapTexture,
@ref CubeMapTextureArray, @ref BufferTexture, @ref MultisampleTexture
@requires_gl31 %Extension @extension{ARB,texture_rectangle}
@requires_gl31 Extension @extension{ARB,texture_rectangle}
@requires_gl Rectangle textures are not available in OpenGL ES.
*/
class MAGNUM_EXPORT RectangleTexture: public AbstractTexture {
@ -117,7 +117,7 @@ class MAGNUM_EXPORT RectangleTexture: public AbstractTexture {
}
/**
* @brief %Image size
* @brief Image size
*
* The result is not cached in any way. If
* @extension{EXT,direct_state_access} is not available, the texture
@ -203,7 +203,7 @@ class MAGNUM_EXPORT RectangleTexture: public AbstractTexture {
* @fn_gl{TexParameter} or
* @fn_gl_extension{TextureParameter,EXT,direct_state_access} with
* @def_gl{TEXTURE_SRGB_DECODE_EXT}
* @requires_extension %Extension @extension{EXT,texture_sRGB_decode}
* @requires_extension Extension @extension{EXT,texture_sRGB_decode}
*/
RectangleTexture& setSRGBDecode(bool decode) {
AbstractTexture::setSRGBDecode(decode);
@ -257,7 +257,7 @@ class MAGNUM_EXPORT RectangleTexture: public AbstractTexture {
/**
* @brief Set storage
* @param internalFormat Internal format
* @param size %Texture size
* @param size Texture size
* @return Reference to self (for method chaining)
*
* Specifies entire structure of a texture at once, removing the need
@ -284,9 +284,9 @@ class MAGNUM_EXPORT RectangleTexture: public AbstractTexture {
/**
* @brief Read texture to image
* @param image %Image where to put the data
* @param image Image where to put the data
*
* %Image parameters like format and type of pixel data are taken from
* Image parameters like format and type of pixel data are taken from
* given image, image size is taken from the texture using
* @ref imageSize().
*
@ -309,8 +309,8 @@ class MAGNUM_EXPORT RectangleTexture: public AbstractTexture {
/**
* @brief Read given mip level of texture to buffer image
* @param image %Buffer image where to put the data
* @param usage %Buffer usage
* @param image Buffer image where to put the data
* @param usage Buffer usage
*
* See @ref image(Image2D&) for more information.
*/

14
src/Magnum/Renderbuffer.h

@ -39,7 +39,7 @@ namespace Magnum {
namespace Implementation { struct FramebufferState; }
/**
@brief %Renderbuffer
@brief Renderbuffer
Attachable to framebuffer as render target, see @ref Framebuffer documentation
for more information.
@ -47,7 +47,7 @@ for more information.
## Performance optimizations
The engine tracks currently bound renderbuffer to avoid unnecessary calls to
@fn_gl{BindRenderbuffer} in @ref setStorage(). %Renderbuffer limits and
@fn_gl{BindRenderbuffer} in @ref setStorage(). Renderbuffer limits and
implementation-defined values (such as @ref maxSize()) are cached, so repeated
queries don't result in repeated @fn_gl{Get} calls.
@ -55,7 +55,7 @@ If extension @extension{EXT,direct_state_access} is available, function
@ref setStorage() uses DSA to avoid unnecessary calls to @fn_gl{BindRenderbuffer}.
See its documentation for more information.
@requires_gl30 %Extension @extension{ARB,framebuffer_object}
@requires_gl30 Extension @extension{ARB,framebuffer_object}
*/
class MAGNUM_EXPORT Renderbuffer: public AbstractObject {
friend struct Implementation::FramebufferState;
@ -116,7 +116,7 @@ class MAGNUM_EXPORT Renderbuffer: public AbstractObject {
GLuint id() const { return _id; }
/**
* @brief %Renderbuffer label
* @brief Renderbuffer label
*
* The result is *not* cached, repeated queries will result in repeated
* OpenGL calls. If OpenGL 4.3 is not supported and neither
@ -151,7 +151,7 @@ class MAGNUM_EXPORT Renderbuffer: public AbstractObject {
/**
* @brief Set renderbuffer storage
* @param internalFormat Internal format
* @param size %Renderbuffer size
* @param size Renderbuffer size
*
* If @extension{EXT,direct_state_access} is not available and the
* framebufferbuffer is not currently bound, it is bound before the
@ -165,14 +165,14 @@ class MAGNUM_EXPORT Renderbuffer: public AbstractObject {
* @brief Set multisample renderbuffer storage
* @param samples Sample count
* @param internalFormat Internal format
* @param size %Renderbuffer size
* @param size Renderbuffer size
*
* If @extension{EXT,direct_state_access} is not available and the
* framebufferbuffer is not currently bound, it is bound before the
* operation.
* @see @ref maxSize(), @ref maxSamples(), @fn_gl{BindRenderbuffer},
* @fn_gl{RenderbufferStorageMultisample} or @fn_gl_extension{NamedRenderbufferStorageMultisample,EXT,direct_state_access}
* @requires_gles30 %Extension @es_extension{ANGLE,framebuffer_multisample}
* @requires_gles30 Extension @es_extension{ANGLE,framebuffer_multisample}
* or @es_extension{NV,framebuffer_multisample} in OpenGL ES 2.0
* @todo How about @es_extension{APPLE,framebuffer_multisample}?
* @todo NaCl has @fn_gl_extension{RenderbufferStorageMultisample,EXT,multisampled_render_to_texture}

88
src/Magnum/RenderbufferFormat.h

@ -37,14 +37,14 @@ namespace Magnum {
@brief Internal renderbuffer format
@see @ref Renderbuffer
@requires_gl30 %Extension @extension{ARB,framebuffer_object}
@requires_gl30 Extension @extension{ARB,framebuffer_object}
@todo RGB, RGB8 ES only (ES3 + @es_extension{OES,rgb8_rgba8})
*/
enum class RenderbufferFormat: GLenum {
#ifndef MAGNUM_TARGET_GLES
/**
* Red component, normalized unsigned, size implementation-dependent.
* @requires_gl30 %Extension @extension{ARB,texture_rg}
* @requires_gl30 Extension @extension{ARB,texture_rg}
* @requires_gl Use exactly specified format in OpenGL ES instead.
* @deprecated_gl Prefer to use the exactly specified version of this
* format, e.g. @ref Magnum::RenderbufferFormat "RenderbufferFormat::R8".
@ -54,8 +54,8 @@ 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_gl30 Extension @extension{ARB,texture_rg}
* @requires_gles30 Extension @es_extension{EXT,texture_rg} in OpenGL ES
* 2.0
*/
#ifndef MAGNUM_TARGET_GLES2
@ -68,7 +68,7 @@ enum class RenderbufferFormat: GLenum {
/**
* Red and green component, normalized unsigned, size
* implementation-dependent.
* @requires_gl30 %Extension @extension{ARB,texture_rg}
* @requires_gl30 Extension @extension{ARB,texture_rg}
* @requires_gl Use exactly specified format in OpenGL ES instead.
* @deprecated_gl Prefer to use the exactly specified version of this
* format, e.g. @ref Magnum::RenderbufferFormat "RenderbufferFormat::RG8".
@ -78,8 +78,8 @@ 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_gl30 Extension @extension{ARB,texture_rg}
* @requires_gles30 Extension @es_extension{EXT,texture_rg} in OpenGL ES
* 2.0
*/
#ifndef MAGNUM_TARGET_GLES2
@ -100,7 +100,7 @@ enum class RenderbufferFormat: GLenum {
/**
* RGBA, each component normalized unsigned byte.
* @requires_gles30 %Extension @es_extension{ARM,rgba8} or @es_extension{OES,rgb8_rgba8}
* @requires_gles30 Extension @es_extension{ARM,rgba8} or @es_extension{OES,rgb8_rgba8}
* in OpenGL ES 2.0
*/
#ifndef MAGNUM_TARGET_GLES2
@ -112,7 +112,7 @@ enum class RenderbufferFormat: GLenum {
#ifndef MAGNUM_TARGET_GLES
/**
* Red component, normalized unsigned short.
* @requires_gl30 %Extension @extension{ARB,texture_rg}
* @requires_gl30 Extension @extension{ARB,texture_rg}
* @requires_gl Only byte-sized normalized formats are available in OpenGL
* ES.
*/
@ -120,7 +120,7 @@ enum class RenderbufferFormat: GLenum {
/**
* Red and green component, each normalized unsigned short.
* @requires_gl30 %Extension @extension{ARB,texture_rg}
* @requires_gl30 Extension @extension{ARB,texture_rg}
* @requires_gl Only byte-sized normalized formats are available in OpenGL
* ES.
*/
@ -144,7 +144,7 @@ enum class RenderbufferFormat: GLenum {
#ifndef MAGNUM_TARGET_GLES2
/**
* Red component, non-normalized unsigned byte.
* @requires_gl30 %Extension @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{EXT,texture_integer}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -152,7 +152,7 @@ enum class RenderbufferFormat: GLenum {
/**
* Red and green component, each non-normalized unsigned byte.
* @requires_gl30 %Extension @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{EXT,texture_integer}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -160,7 +160,7 @@ enum class RenderbufferFormat: GLenum {
/**
* RGBA, each component non-normalized unsigned byte.
* @requires_gl30 %Extension @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{EXT,texture_integer}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -168,7 +168,7 @@ enum class RenderbufferFormat: GLenum {
/**
* Red component, non-normalized signed byte.
* @requires_gl30 %Extension @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{EXT,texture_integer}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -176,7 +176,7 @@ enum class RenderbufferFormat: GLenum {
/**
* Red and green component, each non-normalized signed byte.
* @requires_gl30 %Extension @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{EXT,texture_integer}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -184,7 +184,7 @@ enum class RenderbufferFormat: GLenum {
/**
* RGBA, each component non-normalized signed byte.
* @requires_gl30 %Extension @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{EXT,texture_integer}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -192,7 +192,7 @@ enum class RenderbufferFormat: GLenum {
/**
* Red component, non-normalized unsigned short.
* @requires_gl30 %Extension @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{EXT,texture_integer}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -200,7 +200,7 @@ enum class RenderbufferFormat: GLenum {
/**
* Red and green component, each non-normalized unsigned short.
* @requires_gl30 %Extension @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{EXT,texture_integer}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -208,7 +208,7 @@ enum class RenderbufferFormat: GLenum {
/**
* RGBA, each component non-normalized unsigned short.
* @requires_gl30 %Extension @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{EXT,texture_integer}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -216,7 +216,7 @@ enum class RenderbufferFormat: GLenum {
/**
* Red component, non-normalized signed short.
* @requires_gl30 %Extension @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{EXT,texture_integer}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -224,7 +224,7 @@ enum class RenderbufferFormat: GLenum {
/**
* Red and green component, each non-normalized signed short.
* @requires_gl30 %Extension @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{EXT,texture_integer}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -232,7 +232,7 @@ enum class RenderbufferFormat: GLenum {
/**
* RGBA, each component non-normalized signed short.
* @requires_gl30 %Extension @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{EXT,texture_integer}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -240,7 +240,7 @@ enum class RenderbufferFormat: GLenum {
/**
* Red component, non-normalized unsigned int.
* @requires_gl30 %Extension @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{EXT,texture_integer}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -248,7 +248,7 @@ enum class RenderbufferFormat: GLenum {
/**
* Red and green component, each non-normalized unsigned int.
* @requires_gl30 %Extension @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{EXT,texture_integer}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -256,7 +256,7 @@ enum class RenderbufferFormat: GLenum {
/**
* RGBA, each component non-normalized unsigned int.
* @requires_gl30 %Extension @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{EXT,texture_integer}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -264,7 +264,7 @@ enum class RenderbufferFormat: GLenum {
/**
* Red component, non-normalized signed int.
* @requires_gl30 %Extension @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{EXT,texture_integer}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -272,7 +272,7 @@ enum class RenderbufferFormat: GLenum {
/**
* Red and green component, each non-normalized signed int.
* @requires_gl30 %Extension @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{EXT,texture_integer}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -280,7 +280,7 @@ enum class RenderbufferFormat: GLenum {
/**
* RGBA, each component non-normalized signed int.
* @requires_gl30 %Extension @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{EXT,texture_integer}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -290,7 +290,7 @@ enum class RenderbufferFormat: GLenum {
#ifndef MAGNUM_TARGET_GLES
/**
* Red component, half float.
* @requires_gl30 %Extension @extension{ARB,texture_float}
* @requires_gl30 Extension @extension{ARB,texture_float}
* @requires_gl Only (non)normalized integral formats are available in
* OpenGL ES.
*/
@ -298,7 +298,7 @@ enum class RenderbufferFormat: GLenum {
/**
* Red and green component, each half float.
* @requires_gl30 %Extension @extension{ARB,texture_float}
* @requires_gl30 Extension @extension{ARB,texture_float}
* @requires_gl Only (non)normalized integral formats are available in
* OpenGL ES.
*/
@ -306,7 +306,7 @@ enum class RenderbufferFormat: GLenum {
/**
* RGBA, each component half float.
* @requires_gl30 %Extension @extension{ARB,texture_float}
* @requires_gl30 Extension @extension{ARB,texture_float}
* @requires_gl Only (non)normalized integral formats are available in
* OpenGL ES.
*/
@ -314,7 +314,7 @@ enum class RenderbufferFormat: GLenum {
/**
* Red component, float.
* @requires_gl30 %Extension @extension{ARB,texture_float}
* @requires_gl30 Extension @extension{ARB,texture_float}
* @requires_gl Only (non)normalized integral formats are available in
* OpenGL ES.
*/
@ -322,7 +322,7 @@ enum class RenderbufferFormat: GLenum {
/**
* Red and green component, each float.
* @requires_gl30 %Extension @extension{ARB,texture_float}
* @requires_gl30 Extension @extension{ARB,texture_float}
* @requires_gl Only (non)normalized integral formats are available in
* OpenGL ES.
*/
@ -330,7 +330,7 @@ enum class RenderbufferFormat: GLenum {
/**
* RGBA, each component float.
* @requires_gl30 %Extension @extension{ARB,texture_float}
* @requires_gl30 Extension @extension{ARB,texture_float}
* @requires_gl Only (non)normalized integral formats are available in
* OpenGL ES.
*/
@ -347,7 +347,7 @@ enum class RenderbufferFormat: GLenum {
/**
* RGBA, non-normalized unsigned, each RGB component 10bit, alpha 2bit.
* @requires_gl33 %Extension @extension{ARB,texture_rgb10_a2ui}
* @requires_gl33 Extension @extension{ARB,texture_rgb10_a2ui}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -363,7 +363,7 @@ enum class RenderbufferFormat: GLenum {
#ifndef MAGNUM_TARGET_GLES
/**
* RGB, float, red and green 11bit, blue 10bit.
* @requires_gl30 %Extension @extension{EXT,packed_float}
* @requires_gl30 Extension @extension{EXT,packed_float}
* @requires_gl Usable only as internal texture format in OpenGL ES, see
* @ref Magnum::TextureFormat "TextureFormat::R11FG11FB10F".
*/
@ -375,7 +375,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 @es_extension{EXT,sRGB} in OpenGL ES 2.0
*/
#ifndef MAGNUM_TARGET_GLES2
SRGB8Alpha8 = GL_SRGB8_ALPHA8,
@ -399,7 +399,7 @@ enum class RenderbufferFormat: GLenum {
/**
* Depth component, 24bit.
* @requires_gles30 %Extension @es_extension{OES,depth24} in OpenGL ES 2.0
* @requires_gles30 Extension @es_extension{OES,depth24} in OpenGL ES 2.0
*/
#ifndef MAGNUM_TARGET_GLES2
DepthComponent24 = GL_DEPTH_COMPONENT24,
@ -409,7 +409,7 @@ enum class RenderbufferFormat: GLenum {
/**
* Depth component, 32bit.
* @requires_es_extension %Extension @es_extension{OES,depth32}
* @requires_es_extension Extension @es_extension{OES,depth32}
*/
#ifndef MAGNUM_TARGET_GLES
DepthComponent32 = GL_DEPTH_COMPONENT32,
@ -420,7 +420,7 @@ enum class RenderbufferFormat: GLenum {
#ifndef MAGNUM_TARGET_GLES2
/**
* Depth component, 32bit float.
* @requires_gl30 %Extension @extension{ARB,depth_buffer_float}
* @requires_gl30 Extension @extension{ARB,depth_buffer_float}
* @requires_gles30 Only integral depth textures are available in OpenGL ES
* 2.0.
*/
@ -439,7 +439,7 @@ enum class RenderbufferFormat: GLenum {
/**
* 1-bit stencil index.
* @requires_es_extension %Extension @es_extension{OES,stencil1}
* @requires_es_extension Extension @es_extension{OES,stencil1}
*/
#ifndef MAGNUM_TARGET_GLES
StencilIndex1 = GL_STENCIL_INDEX1,
@ -449,7 +449,7 @@ enum class RenderbufferFormat: GLenum {
/**
* 4-bit stencil index.
* @requires_es_extension %Extension @es_extension{OES,stencil4}
* @requires_es_extension Extension @es_extension{OES,stencil4}
*/
#ifndef MAGNUM_TARGET_GLES
StencilIndex4 = GL_STENCIL_INDEX4,
@ -478,7 +478,7 @@ enum class RenderbufferFormat: GLenum {
/**
* 24bit depth and 8bit stencil component.
* @requires_gles30 %Extension @es_extension{OES,packed_depth_stencil} in
* @requires_gles30 Extension @es_extension{OES,packed_depth_stencil} in
* OpenGL ES 2.0
*/
#ifdef MAGNUM_TARGET_GLES2
@ -488,7 +488,7 @@ enum class RenderbufferFormat: GLenum {
/**
* 32bit float depth component and 8bit stencil component.
* @requires_gl30 %Extension @extension{ARB,depth_buffer_float}
* @requires_gl30 Extension @extension{ARB,depth_buffer_float}
* @requires_gles30 Only integral depth textures are available in OpenGL ES
* 2.0.
*/

54
src/Magnum/Renderer.h

@ -88,8 +88,8 @@ class MAGNUM_EXPORT Renderer {
* Debug output
* @see @ref DebugMessage, @ref DebugMessage::setEnabled(),
* @ref Feature::DebugOutputSynchronous
* @requires_gl43 %Extension @extension{KHR,debug}
* @requires_es_extension %Extension @es_extension{KHR,debug}
* @requires_gl43 Extension @extension{KHR,debug}
* @requires_es_extension Extension @es_extension{KHR,debug}
*/
#ifndef MAGNUM_TARGET_GLES
DebugOutput = GL_DEBUG_OUTPUT,
@ -101,8 +101,8 @@ class MAGNUM_EXPORT Renderer {
* Synchronous debug output. Has effect only if
* @ref Feature::DebugOutput is enabled.
* @see @ref DebugMessage
* @requires_gl43 %Extension @extension{KHR,debug}
* @requires_es_extension %Extension @es_extension{KHR,debug}
* @requires_gl43 Extension @extension{KHR,debug}
* @requires_es_extension Extension @es_extension{KHR,debug}
*/
#ifndef MAGNUM_TARGET_GLES
DebugOutputSynchronous = GL_DEBUG_OUTPUT_SYNCHRONOUS,
@ -113,7 +113,7 @@ class MAGNUM_EXPORT Renderer {
#ifndef MAGNUM_TARGET_GLES
/**
* Depth clamping. If enabled, ignores near and far clipping plane.
* @requires_gl32 %Extension @extension{ARB,depth_clamp}
* @requires_gl32 Extension @extension{ARB,depth_clamp}
* @requires_gl Depth clamping is not available in OpenGL ES.
*/
DepthClamp = GL_DEPTH_CLAMP,
@ -137,7 +137,7 @@ class MAGNUM_EXPORT Renderer {
#ifndef MAGNUM_TARGET_GLES
/**
* sRGB encoding of the default framebuffer
* @requires_gl30 %Extension @extension{ARB,framebuffer_sRGB}
* @requires_gl30 Extension @extension{ARB,framebuffer_sRGB}
* @requires_gl sRGB encoding of the default framebuffer is
* implementation-defined in OpenGL ES.
*/
@ -205,7 +205,7 @@ class MAGNUM_EXPORT Renderer {
#ifndef MAGNUM_TARGET_GLES2
/**
* Discard primitives before rasterization.
* @requires_gl30 %Extension @extension{EXT,transform_feedback}
* @requires_gl30 Extension @extension{EXT,transform_feedback}
* @requires_gles30 Transform feedback is not available in OpenGL
* ES 2.0.
*/
@ -222,7 +222,7 @@ class MAGNUM_EXPORT Renderer {
/**
* Seamless cube map texture.
* @see @ref CubeMapTexture, @ref CubeMapTextureArray
* @requires_gl32 %Extension @extension{ARB,seamless_cube_map}
* @requires_gl32 Extension @extension{ARB,seamless_cube_map}
* @requires_gl Not available in OpenGL ES 2.0, always enabled in
* OpenGL ES 3.0.
*/
@ -272,7 +272,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 @es_extension{OES,standard_derivatives}
* in OpenGL ES 2.0
*/
#ifndef MAGNUM_TARGET_GLES2
@ -363,7 +363,7 @@ class MAGNUM_EXPORT Renderer {
/**
* @brief Set front-facing polygon winding
*
* Initial value is `FrontFace::%CounterClockWise`.
* Initial value is `FrontFace::CounterClockWise`.
* @see @ref setFaceCullingMode(), @fn_gl{FrontFace}
*/
static void setFrontFace(FrontFace mode);
@ -383,7 +383,7 @@ class MAGNUM_EXPORT Renderer {
* @brief Provoking vertex
*
* @see @ref setProvokingVertex()
* @requires_gl32 %Extension @extension{ARB,provoking_vertex}. Older
* @requires_gl32 Extension @extension{ARB,provoking_vertex}. Older
* versions behave always like
* @ref Magnum::Renderer::ProvokingVertex "ProvokingVertex::LastVertexConvention".
* @requires_gl OpenGL ES behaves always like
@ -402,7 +402,7 @@ class MAGNUM_EXPORT Renderer {
*
* Initial value is @ref ProvokingVertex::LastVertexConvention.
* @see @fn_gl{ProvokingVertex}
* @requires_gl32 %Extension @extension{ARB,provoking_vertex}. Older
* @requires_gl32 Extension @extension{ARB,provoking_vertex}. Older
* versions behave always like the default.
* @requires_gl OpenGL ES behaves always like the default.
*/
@ -691,14 +691,14 @@ class MAGNUM_EXPORT Renderer {
,
/**
* `min(source, destination)`
* @requires_gles30 %Extension @es_extension2{EXT,blend_minmax,blend_minmax}
* @requires_gles30 Extension @es_extension2{EXT,blend_minmax,blend_minmax}
* in OpenGL ES 2.0
*/
Min = GL_MIN,
/**
* `max(source, destination)`
* @requires_gles30 %Extension @es_extension2{EXT,blend_minmax,blend_minmax}
* @requires_gles30 Extension @es_extension2{EXT,blend_minmax,blend_minmax}
* in OpenGL ES 2.0
*/
Max = GL_MAX
@ -753,7 +753,7 @@ class MAGNUM_EXPORT Renderer {
* Second source color (@f$ RGB = (R_{s1}, G_{s1}, B_{s1}); A = A_{s1} @f$)
*
* @see @ref AbstractShaderProgram::bindFragmentDataLocationIndexed()
* @requires_gl33 %Extension @extension{ARB,blend_func_extended}
* @requires_gl33 Extension @extension{ARB,blend_func_extended}
* @requires_gl Multiple blending inputs are not available in
* OpenGL ES.
*/
@ -770,7 +770,7 @@ class MAGNUM_EXPORT Renderer {
* One minus second source color (@f$ RGB = (1.0 - R_{s1}, 1.0 - G_{s1}, 1.0 - B_{s1}); A = 1.0 - A_{s1} @f$)
*
* @see @ref AbstractShaderProgram::bindFragmentDataLocationIndexed()
* @requires_gl33 %Extension @extension{ARB,blend_func_extended}
* @requires_gl33 Extension @extension{ARB,blend_func_extended}
* @requires_gl Multiple blending inputs are not available in
* OpenGL ES.
*/
@ -792,7 +792,7 @@ class MAGNUM_EXPORT Renderer {
* Second source alpha (@f$ RGB = (A_{s1}, A_{s1}, A_{s1}); A = A_{s1} @f$)
*
* @see @ref AbstractShaderProgram::bindFragmentDataLocationIndexed()
* @requires_gl33 %Extension @extension{ARB,blend_func_extended}
* @requires_gl33 Extension @extension{ARB,blend_func_extended}
* @requires_gl Multiple blending inputs are not available in
* OpenGL ES.
*/
@ -809,7 +809,7 @@ class MAGNUM_EXPORT Renderer {
* One minus second source alpha (@f$ RGB = (1.0 - A_{s1}, 1.0 - A_{s1}, 1.0 - A_{s1}); A = 1.0 - A_{s1} @f$)
*
* @see @ref AbstractShaderProgram::bindFragmentDataLocationIndexed()
* @requires_gl33 %Extension @extension{ARB,blend_func_extended}
* @requires_gl33 Extension @extension{ARB,blend_func_extended}
* @requires_gl Multiple blending inputs are not available in
* OpenGL ES.
*/
@ -971,7 +971,7 @@ class MAGNUM_EXPORT Renderer {
/**
* The framebuffer object is not complete.
* @see AbstractFramebuffer::checkStatus()
* @requires_gl30 %Extension @extension{ARB,framebuffer_object}
* @requires_gl30 Extension @extension{ARB,framebuffer_object}
*/
InvalidFramebufferOperation = GL_INVALID_FRAMEBUFFER_OPERATION,
@ -980,8 +980,8 @@ class MAGNUM_EXPORT Renderer {
/**
* Given operation would cause an internal stack to underflow.
* @requires_gl43 %Extension @extension{KHR,debug}
* @requires_es_extension %Extension @es_extension2{KHR,debug,debug}
* @requires_gl43 Extension @extension{KHR,debug}
* @requires_es_extension Extension @es_extension2{KHR,debug,debug}
*/
#ifndef MAGNUM_TARGET_GLES
StackUnderflow = GL_STACK_UNDERFLOW,
@ -991,8 +991,8 @@ class MAGNUM_EXPORT Renderer {
/**
* Given operation would cause an internal stack to overflow.
* @requires_gl43 %Extension @extension{KHR,debug}
* @requires_es_extension %Extension @es_extension2{KHR,debug,debug}
* @requires_gl43 Extension @extension{KHR,debug}
* @requires_es_extension Extension @es_extension2{KHR,debug,debug}
*/
#ifndef MAGNUM_TARGET_GLES
StackOverflow = GL_STACK_OVERFLOW
@ -1015,8 +1015,8 @@ class MAGNUM_EXPORT Renderer {
* @brief Graphics reset notification strategy
*
* @see @ref resetNotificationStrategy()
* @requires_extension %Extension @extension{ARB,robustness}
* @requires_es_extension %Extension @es_extension{EXT,robustness}
* @requires_extension Extension @extension{ARB,robustness}
* @requires_es_extension Extension @es_extension{EXT,robustness}
*/
enum class ResetNotificationStrategy: GLint {
/**
@ -1063,8 +1063,8 @@ class MAGNUM_EXPORT Renderer {
* @brief Graphics reset status
*
* @see @ref resetNotificationStrategy(), @ref graphicsResetStatus()
* @requires_extension %Extension @extension{ARB,robustness}
* @requires_es_extension %Extension @es_extension{EXT,robustness}
* @requires_extension Extension @extension{ARB,robustness}
* @requires_es_extension Extension @es_extension{EXT,robustness}
*/
enum class GraphicsResetStatus: GLenum {
/** No reset occured since last call. */

8
src/Magnum/Resource.h

@ -38,7 +38,7 @@
namespace Magnum {
/**
@brief %Resource state
@brief Resource state
@see @ref Resource::state(), @ref ResourceManager::state()
*/
@ -106,7 +106,7 @@ namespace Implementation {
}
/**
@brief %Resource reference
@brief Resource reference
See @ref ResourceManager for more information.
*/
@ -149,11 +149,11 @@ class Resource {
/** @brief Move assignment */
Resource<T, U>& operator=(Resource<T, U>&& other);
/** @brief %Resource key */
/** @brief Resource key */
ResourceKey key() const { return _key; }
/**
* @brief %Resource state
* @brief Resource state
*
* @see @ref Resource::operator bool() "operator bool()", @ref ResourceManager::state()
* @todoc Remove workaround when Doxygen can handle unscoped conversion operators

10
src/Magnum/ResourceManager.h

@ -36,7 +36,7 @@
namespace Magnum {
/**
@brief %Resource data state
@brief Resource data state
@see @ref ResourceManager::set(), @ref ResourceState
*/
@ -70,7 +70,7 @@ enum class ResourceDataState: UnsignedByte {
};
/**
@brief %Resource policy
@brief Resource policy
@see @ref ResourceManager::set(), @ref ResourceManager::free()
*/
@ -158,7 +158,7 @@ template<class T> class ResourceManagerData {
}
/**
@brief %Resource manager
@brief Resource manager
Provides storage for arbitrary set of types, accessible globally using
@ref instance().
@ -184,7 +184,7 @@ can be deleted by calling @ref free() if nothing references them anymore, and
reference counted resources, which are deleted as soon as the last reference
to them is removed.
%Resource state and policy is configured when setting the resource data in
Resource state and policy is configured when setting the resource data in
@ref set() and can be changed each time the data are updated, although already
final resources cannot obviously be set as mutable again.
@ -282,7 +282,7 @@ template<class... Types> class ResourceManager: private Implementation::Resource
}
/**
* @brief %Resource state
* @brief Resource state
*
* @see @ref set(), @ref Resource::state()
*/

20
src/Magnum/SampleQuery.h

@ -69,7 +69,7 @@ q.endConditionalRender();
@endcode
@see @ref PrimitiveQuery, @ref TimeQuery
@requires_gles30 %Extension @es_extension{EXT,occlusion_query_boolean} in
@requires_gles30 Extension @es_extension{EXT,occlusion_query_boolean} in
OpenGL ES 2.0
*/
class SampleQuery: public AbstractQuery {
@ -86,7 +86,7 @@ class SampleQuery: public AbstractQuery {
/**
* Whether any samples passed from fragment shader
* @requires_gl33 %Extension @extension{ARB,occlusion_query2}
* @requires_gl33 Extension @extension{ARB,occlusion_query2}
*/
#ifndef MAGNUM_TARGET_GLES2
AnySamplesPassed = GL_ANY_SAMPLES_PASSED,
@ -99,7 +99,7 @@ class SampleQuery: public AbstractQuery {
*
* An implementation may choose a less precise version of the
* test at the expense of some false positives.
* @requires_gl43 %Extension @extension{ARB,ES3_compatibility}
* @requires_gl43 Extension @extension{ARB,ES3_compatibility}
*/
#ifndef MAGNUM_TARGET_GLES2
AnySamplesPassedConservative = GL_ANY_SAMPLES_PASSED_CONSERVATIVE
@ -112,7 +112,7 @@ class SampleQuery: public AbstractQuery {
/**
* @brief Conditional render mode
*
* @requires_gl30 %Extension @extension{NV,conditional_render}
* @requires_gl30 Extension @extension{NV,conditional_render}
* @requires_gl Conditional rendering is not available in OpenGL ES.
*/
enum class ConditionalRenderMode: GLenum {
@ -125,7 +125,7 @@ class SampleQuery: public AbstractQuery {
/**
* If query result is not yet available, waits for it and then
* begins rendering only if result is zero.
* @requires_gl45 %Extension @extension{ARB,conditional_render_inverted}
* @requires_gl45 Extension @extension{ARB,conditional_render_inverted}
*/
WaitInverted = GL_QUERY_WAIT_INVERTED,
@ -138,7 +138,7 @@ class SampleQuery: public AbstractQuery {
/**
* If query result is not yet available, begins rendering like if
* the result was zero.
* @requires_gl45 %Extension @extension{ARB,conditional_render_inverted}
* @requires_gl45 Extension @extension{ARB,conditional_render_inverted}
*/
NoWaitInverted = GL_QUERY_NO_WAIT_INVERTED,
@ -152,7 +152,7 @@ class SampleQuery: public AbstractQuery {
* The same as @ref ConditionalRenderMode::WaitInverted, but
* regions untouched by the sample query may not be rendered at
* all.
* @requires_gl45 %Extension @extension{ARB,conditional_render_inverted}
* @requires_gl45 Extension @extension{ARB,conditional_render_inverted}
*/
ByRegionWaitInverted = GL_QUERY_BY_REGION_WAIT_INVERTED,
@ -166,7 +166,7 @@ class SampleQuery: public AbstractQuery {
* The same as @ref ConditionalRenderMode::NoWaitInverted, but
* regions untouched by the sample query may not be rendered at
* all.
* @requires_gl45 %Extension @extension{ARB,conditional_render_inverted}
* @requires_gl45 Extension @extension{ARB,conditional_render_inverted}
*/
ByRegionNoWaitInverted = GL_QUERY_BY_REGION_NO_WAIT_INVERTED
};
@ -210,7 +210,7 @@ class SampleQuery: public AbstractQuery {
* @brief Begin conditional rendering based on result value
*
* @see @fn_gl{BeginConditionalRender}
* @requires_gl30 %Extension @extension{NV,conditional_render}
* @requires_gl30 Extension @extension{NV,conditional_render}
* @requires_gl Conditional rendering is not available in OpenGL ES.
*/
void beginConditionalRender(ConditionalRenderMode mode) {
@ -221,7 +221,7 @@ class SampleQuery: public AbstractQuery {
* @brief End conditional render
*
* @see @fn_gl{EndConditionalRender}
* @requires_gl30 %Extension @extension{NV,conditional_render}
* @requires_gl30 Extension @extension{NV,conditional_render}
* @requires_gl Conditional rendering is not available in OpenGL ES.
*/
void endConditionalRender() {

20
src/Magnum/Sampler.h

@ -36,7 +36,7 @@
namespace Magnum {
/**
@brief %Texture sampler
@brief Texture sampler
@see @ref Texture, @ref TextureArray, @ref CubeMapTexture,
@ref CubeMapTextureArray, @ref RectangleTexture
@ -44,7 +44,7 @@ namespace Magnum {
class MAGNUM_EXPORT Sampler {
public:
/**
* @brief %Texture filtering
* @brief Texture filtering
*
* @see @ref Texture::setMinificationFilter() "*Texture::setMinificationFilter()",
* @ref Texture::setMagnificationFilter() "*Texture::setMagnificationFilter()"
@ -54,7 +54,7 @@ class MAGNUM_EXPORT Sampler {
/**
* Linear interpolation filtering.
* @requires_gles30 %Extension @es_extension{OES,texture_float_linear} /
* @requires_gles30 Extension @es_extension{OES,texture_float_linear} /
* @es_extension2{OES,texture_half_float_linear,OES_texture_float_linear}
* for linear interpolation of textures with
* @ref Magnum::TextureFormat "TextureFormat::HalfFloat" /
@ -80,7 +80,7 @@ class MAGNUM_EXPORT Sampler {
/**
* Linear interpolation of nearest mip levels. **Unavailable on
* rectangle textures.**
* @requires_gles30 %Extension @es_extension{OES,texture_float_linear} /
* @requires_gles30 Extension @es_extension{OES,texture_float_linear} /
* @es_extension2{OES,texture_half_float_linear,OES_texture_float_linear}
* for linear interpolation of textures with
* @ref Magnum::TextureFormat "TextureFormat::HalfFloat" /
@ -91,7 +91,7 @@ class MAGNUM_EXPORT Sampler {
};
/**
* @brief %Texture wrapping
* @brief Texture wrapping
*
* @see @ref Texture::setWrapping() "*Texture::setWrapping()"
*/
@ -114,7 +114,7 @@ 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{NV,texture_border_clamp}
* @requires_es_extension Extension @es_extension{NV,texture_border_clamp}
*/
#ifndef MAGNUM_TARGET_GLES
ClampToBorder = GL_CLAMP_TO_BORDER,
@ -126,7 +126,7 @@ class MAGNUM_EXPORT Sampler {
/**
* Mirror the texture once in negative coordinates and clamp to
* edge after that. **Unavailable on rectangle textures.**
* @requires_gl44 %Extension @extension{ARB,texture_mirror_clamp_to_edge},
* @requires_gl44 Extension @extension{ARB,texture_mirror_clamp_to_edge},
* @extension{ATI,texture_mirror_once} or @extension{EXT,texture_mirror_clamp}
* @requires_gl Only separate @ref Magnum::Sampler::Wrapping "Wrapping::MirroredRepeat"
* or @ref Magnum::Sampler::Wrapping "Wrapping::ClampToEdge"
@ -141,7 +141,7 @@ class MAGNUM_EXPORT Sampler {
*
* @see @ref CompareFunction,
* @ref Texture::setCompareMode() "*Texture::setCompareMode()"
* @requires_gles30 %Extension @es_extension{EXT,shadow_samplers}
* @requires_gles30 Extension @es_extension{EXT,shadow_samplers}
*/
enum class CompareMode: GLenum {
/** Directly output the depth value */
@ -163,7 +163,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}
* @requires_gles30 Extension @es_extension{EXT,shadow_samplers}
*/
enum class CompareFunction: GLenum {
Never = GL_NEVER, /**< Always `0.0` */
@ -211,7 +211,7 @@ class MAGNUM_EXPORT Sampler {
* @brief Depth/stencil texture mode
*
* @see @ref Texture::setDepthStencilMode() "*Texture::setDepthStencilMode()"
* @requires_gl43 %Extension @extension{ARB,stencil_texturing}
* @requires_gl43 Extension @extension{ARB,stencil_texturing}
* @requires_gles31 Stencil texturing is not available in OpenGL ES 3.0
* and older
*/

22
src/Magnum/Shader.h

@ -40,19 +40,19 @@
namespace Magnum {
/**
@brief %Shader
@brief Shader
See @ref AbstractShaderProgram for usage information.
## Performance optimizations
%Shader limits and implementation-defined values (such as @ref maxUniformComponents())
Shader limits and implementation-defined values (such as @ref maxUniformComponents())
are cached, so repeated queries don't result in repeated @fn_gl{Get} calls.
*/
class MAGNUM_EXPORT Shader: public AbstractObject {
public:
/**
* @brief %Shader type
* @brief Shader type
*
* @see @ref Shader(Version, Type),
* @ref maxAtomicCounterBuffers(),
@ -70,21 +70,21 @@ class MAGNUM_EXPORT Shader: public AbstractObject {
#ifndef MAGNUM_TARGET_GLES
/**
* Tessellation control shader
* @requires_gl40 %Extension @extension{ARB,tessellation_shader}
* @requires_gl40 Extension @extension{ARB,tessellation_shader}
* @requires_gl Tessellation shaders are not available in OpenGL ES.
*/
TessellationControl = GL_TESS_CONTROL_SHADER,
/**
* Tessellation evaluation shader
* @requires_gl40 %Extension @extension{ARB,tessellation_shader}
* @requires_gl40 Extension @extension{ARB,tessellation_shader}
* @requires_gl Tessellation shaders are not available in OpenGL ES.
*/
TessellationEvaluation = GL_TESS_EVALUATION_SHADER,
/**
* Geometry shader
* @requires_gl32 %Extension @extension{ARB,geometry_shader4}
* @requires_gl32 Extension @extension{ARB,geometry_shader4}
* @requires_gl Geometry shaders are not available in OpenGL ES.
*/
Geometry = GL_GEOMETRY_SHADER,
@ -93,7 +93,7 @@ class MAGNUM_EXPORT Shader: public AbstractObject {
#ifndef MAGNUM_TARGET_GLES2
/**
* Compute shader
* @requires_gl43 %Extension @extension{ARB,compute_shader}
* @requires_gl43 Extension @extension{ARB,compute_shader}
* @requires_gles31 Compute shaders are not available in OpenGL ES
* 3.0 and older
*/
@ -455,7 +455,7 @@ class MAGNUM_EXPORT Shader: public AbstractObject {
/**
* @brief Constructor
* @param version Target version
* @param type %Shader type
* @param type Shader type
*
* Creates empty OpenGL shader and adds @c \#version directive
* corresponding to @p version parameter at the beginning. If
@ -489,7 +489,7 @@ class MAGNUM_EXPORT Shader: public AbstractObject {
GLuint id() const { return _id; }
/**
* @brief %Shader label
* @brief Shader label
*
* The result is *not* cached, repeated queries will result in repeated
* OpenGL calls. If OpenGL 4.3 is not supported and neither
@ -521,10 +521,10 @@ class MAGNUM_EXPORT Shader: public AbstractObject {
return setLabelInternal(label);
}
/** @brief %Shader type */
/** @brief Shader type */
Type type() const { return _type; }
/** @brief %Shader sources */
/** @brief Shader sources */
std::vector<std::string> sources() const;
/**

56
src/Magnum/Texture.h

@ -57,7 +57,7 @@ namespace Implementation {
}
/**
@brief %Texture
@brief Texture
Template class for one- to three-dimensional textures. See also
@ref AbstractTexture documentation for more information.
@ -96,17 +96,17 @@ 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 @es_extension{OES,texture_3D} for 3D textures in
OpenGL ES 2.0
@requires_gl 1D textures are not available in OpenGL ES, only 2D and 3D ones.
*/
template<UnsignedInt dimensions> class Texture: public AbstractTexture {
public:
static const UnsignedInt Dimensions = dimensions; /**< @brief %Texture dimension count */
static const UnsignedInt Dimensions = dimensions; /**< @brief Texture dimension count */
#ifdef MAGNUM_BUILD_DEPRECATED
/**
* @brief %Texture target
* @brief Texture target
*
* @deprecated Use dedicated classes instead, see documentation of
* particular enum value for more information.
@ -178,7 +178,7 @@ template<UnsignedInt dimensions> class Texture: public AbstractTexture {
*/
explicit CORRADE_DEPRECATED("use the parameterless constructor or dedicated TextureArray, MultisampleTexture, RectangleTexture classes instead") Texture(Target target): AbstractTexture(GLenum(target)) {}
/** @brief %Texture target
/** @brief Texture target
* @deprecated Use dedicated @ref Magnum::Texture "Texture",
* @ref Magnum::TextureArray "TextureArray",
* @ref Magnum::MultisampleTexture "MultisampleTexture",
@ -190,7 +190,7 @@ template<UnsignedInt dimensions> class Texture: public AbstractTexture {
#ifndef MAGNUM_TARGET_GLES2
/**
* @brief %Image size in given mip level
* @brief Image size in given mip level
*
* The result is not cached in any way. If
* @extension{EXT,direct_state_access} is not available, the texture
@ -199,7 +199,7 @@ template<UnsignedInt dimensions> class Texture: public AbstractTexture {
* @fn_gl{GetTexLevelParameter} or @fn_gl_extension{GetTextureLevelParameter,EXT,direct_state_access}
* with @def_gl{TEXTURE_WIDTH}, @def_gl{TEXTURE_HEIGHT} or
* @def_gl{TEXTURE_DEPTH}
* @requires_gles31 %Texture image size queries are not available in
* @requires_gles31 Texture image size queries are not available in
* OpenGL ES 3.0 and older.
*/
VectorTypeFor<dimensions, Int> imageSize(Int level) {
@ -239,7 +239,7 @@ template<UnsignedInt dimensions> class Texture: public AbstractTexture {
* @fn_gl{ActiveTexture}, @fn_gl{BindTexture} and @fn_gl{TexParameter}
* or @fn_gl_extension{TextureParameter,EXT,direct_state_access}
* with @def_gl{TEXTURE_MAX_LEVEL}
* @requires_gles30 %Extension @es_extension{APPLE,texture_max_level},
* @requires_gles30 Extension @es_extension{APPLE,texture_max_level},
* otherwise the max level is always set to largest possible value
* in OpenGL ES 2.0.
*/
@ -304,7 +304,7 @@ template<UnsignedInt dimensions> class Texture: public AbstractTexture {
* @fn_gl{BindTexture} and @fn_gl{TexParameter} or
* @fn_gl_extension{TextureParameter,EXT,direct_state_access} with
* @def_gl{TEXTURE_MIN_LOD}
* @requires_gles30 %Texture LOD parameters are not available in OpenGL
* @requires_gles30 Texture LOD parameters are not available in OpenGL
* ES 2.0.
*/
Texture<dimensions>& setMinLod(Float lod) {
@ -324,7 +324,7 @@ template<UnsignedInt dimensions> class Texture: public AbstractTexture {
* @fn_gl{BindTexture} and @fn_gl{TexParameter} or
* @fn_gl_extension{TextureParameter,EXT,direct_state_access} with
* @def_gl{TEXTURE_MAX_LOD}
* @requires_gles30 %Texture LOD parameters are not available in OpenGL
* @requires_gles30 Texture LOD parameters are not available in OpenGL
* ES 2.0.
*/
Texture<dimensions>& setMaxLod(Float lod) {
@ -346,7 +346,7 @@ template<UnsignedInt dimensions> class Texture: public AbstractTexture {
* @fn_gl{ActiveTexture}, @fn_gl{BindTexture} and @fn_gl{TexParameter}
* or @fn_gl_extension{TextureParameter,EXT,direct_state_access}
* with @def_gl{TEXTURE_LOD_BIAS}
* @requires_gl %Texture LOD bias can be specified only directly in
* @requires_gl Texture LOD bias can be specified only directly in
* fragment shader in OpenGL ES.
*/
Texture<dimensions>& setLodBias(Float bias) {
@ -387,7 +387,7 @@ template<UnsignedInt dimensions> class Texture: public AbstractTexture {
* and @fn_gl{TexParameter} or
* @fn_gl_extension{TextureParameter,EXT,direct_state_access} with
* @def_gl{TEXTURE_BORDER_COLOR}
* @requires_es_extension %Extension @es_extension{NV,texture_border_clamp}
* @requires_es_extension Extension @es_extension{NV,texture_border_clamp}
*/
Texture<dimensions>& setBorderColor(const Color4& color) {
AbstractTexture::setBorderColor(color);
@ -406,7 +406,7 @@ template<UnsignedInt dimensions> class Texture: public AbstractTexture {
* @see @fn_gl{ActiveTexture}, @fn_gl{BindTexture} and @fn_gl{TexParameter}
* or @fn_gl_extension{TextureParameter,EXT,direct_state_access}
* with @def_gl{TEXTURE_BORDER_COLOR}
* @requires_gl30 %Extension @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{EXT,texture_integer}
* @requires_gl Border is available only for float textures in OpenGL
* ES.
*/
@ -416,7 +416,7 @@ template<UnsignedInt dimensions> class Texture: public AbstractTexture {
}
/** @overload
* @requires_gl30 %Extension @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{EXT,texture_integer}
* @requires_gl Border is available only for float textures in OpenGL
* ES.
*/
@ -456,7 +456,7 @@ template<UnsignedInt dimensions> class Texture: public AbstractTexture {
* @fn_gl{TexParameter} or
* @fn_gl_extension{TextureParameter,EXT,direct_state_access} with
* @def_gl{TEXTURE_SRGB_DECODE_EXT}
* @requires_extension %Extension @extension{EXT,texture_sRGB_decode}
* @requires_extension Extension @extension{EXT,texture_sRGB_decode}
* @requires_es_extension OpenGL ES 3.0 or extension
* @es_extension{EXT,sRGB} and
* @es_extension2{EXT,texture_sRGB_decode,texture_sRGB_decode}
@ -486,8 +486,8 @@ template<UnsignedInt dimensions> class Texture: public AbstractTexture {
* @def_gl{TEXTURE_SWIZZLE_RGBA} (or @def_gl{TEXTURE_SWIZZLE_R},
* @def_gl{TEXTURE_SWIZZLE_G}, @def_gl{TEXTURE_SWIZZLE_B} and
* @def_gl{TEXTURE_SWIZZLE_A} separately in OpenGL ES)
* @requires_gl33 %Extension @extension{ARB,texture_swizzle}
* @requires_gles30 %Texture swizzle is not available in OpenGL ES 2.0.
* @requires_gl33 Extension @extension{ARB,texture_swizzle}
* @requires_gles30 Texture swizzle is not available in OpenGL ES 2.0.
*/
template<char r, char g, char b, char a> Texture<dimensions>& setSwizzle() {
AbstractTexture::setSwizzle<r, g, b, a>();
@ -507,7 +507,7 @@ template<UnsignedInt dimensions> class Texture: public AbstractTexture {
* @fn_gl{BindTexture} and @fn_gl{TexParameter} or
* @fn_gl_extension{TextureParameter,EXT,direct_state_access} with
* @def_gl{TEXTURE_COMPARE_MODE}
* @requires_gles30 %Extension @es_extension{EXT,shadow_samplers}
* @requires_gles30 Extension @es_extension{EXT,shadow_samplers}
*/
Texture<dimensions>& setCompareMode(Sampler::CompareMode mode) {
AbstractTexture::setCompareMode(mode);
@ -528,7 +528,7 @@ template<UnsignedInt dimensions> class Texture: public AbstractTexture {
* @fn_gl{BindTexture} and @fn_gl{TexParameter} or
* @fn_gl_extension{TextureParameter,EXT,direct_state_access} with
* @def_gl{TEXTURE_COMPARE_FUNC}
* @requires_gles30 %Extension @es_extension{EXT,shadow_samplers}
* @requires_gles30 Extension @es_extension{EXT,shadow_samplers}
*/
Texture<dimensions>& setCompareFunction(Sampler::CompareFunction function) {
AbstractTexture::setCompareFunction(function);
@ -548,7 +548,7 @@ template<UnsignedInt dimensions> class Texture: public AbstractTexture {
* @see @fn_gl{ActiveTexture}, @fn_gl{BindTexture} and @fn_gl{TexParameter}
* or @fn_gl_extension{TextureParameter,EXT,direct_state_access}
* with @def_gl{DEPTH_STENCIL_TEXTURE_MODE}
* @requires_gl43 %Extension @extension{ARB,stencil_texturing}
* @requires_gl43 Extension @extension{ARB,stencil_texturing}
* @requires_gles31 Stencil texturing is not available in OpenGL ES 3.0
* and older.
*/
@ -599,9 +599,9 @@ template<UnsignedInt dimensions> class Texture: public AbstractTexture {
/**
* @brief Read given mip level of texture to image
* @param level Mip level
* @param image %Image where to put the data
* @param image Image where to put the data
*
* %Image parameters like format and type of pixel data are taken from
* Image parameters like format and type of pixel data are taken from
* given image, image size is taken from the texture using
* @ref imageSize().
*
@ -617,7 +617,7 @@ template<UnsignedInt dimensions> class Texture: public AbstractTexture {
* with @def_gl{TEXTURE_WIDTH}, @def_gl{TEXTURE_HEIGHT} or @def_gl{TEXTURE_DEPTH},
* then @fn_gl{GetTexImage}, @fn_gl_extension{GetTextureImage,EXT,direct_state_access}
* or @fn_gl_extension{GetnTexImage,ARB,robustness}
* @requires_gl %Texture image queries are not available in OpenGL ES.
* @requires_gl Texture image queries are not available in OpenGL ES.
*/
void image(Int level, Image<dimensions>& image) {
AbstractTexture::image<dimensions>(_target, level, image);
@ -626,11 +626,11 @@ template<UnsignedInt dimensions> class Texture: public AbstractTexture {
/**
* @brief Read given mip level of texture to buffer image
* @param level Mip level
* @param image %Buffer image where to put the data
* @param usage %Buffer usage
* @param image Buffer image where to put the data
* @param usage Buffer usage
*
* See @ref image(Int, Image&) for more information.
* @requires_gl %Texture image queries are not available in OpenGL ES.
* @requires_gl Texture image queries are not available in OpenGL ES.
* @todo Make it more flexible (usable with
* @extension{ARB,buffer_storage}, avoiding relocations...)
*/
@ -727,7 +727,7 @@ template<UnsignedInt dimensions> class Texture: public AbstractTexture {
* @see @ref setMinificationFilter(), @fn_gl{ActiveTexture},
* @fn_gl{BindTexture} and @fn_gl{GenerateMipmap} or
* @fn_gl_extension{GenerateTextureMipmap,EXT,direct_state_access}
* @requires_gl30 %Extension @extension{ARB,framebuffer_object}
* @requires_gl30 Extension @extension{ARB,framebuffer_object}
*/
Texture<dimensions>& generateMipmap() {
AbstractTexture::generateMipmap();
@ -786,7 +786,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 @es_extension{OES,texture_3D} in OpenGL ES 2.0
*/
typedef Texture<3> Texture3D;

18
src/Magnum/TextureArray.h

@ -48,7 +48,7 @@ namespace Implementation {
}
/**
@brief %Texture array
@brief Texture array
Template class for one- and two-dimensional texture arrays. See also
@ref AbstractTexture documentation for more information.
@ -87,14 +87,14 @@ documentation for more information about usage in shaders.
@see @ref Texture1DArray, @ref Texture2DArray, @ref Texture,
@ref CubeMapTexture, @ref CubeMapTextureArray, @ref RectangleTexture,
@ref BufferTexture, @ref MultisampleTexture
@requires_gl30 %Extension @extension{EXT,texture_array}
@requires_gles30 %Array textures are not available in OpenGL ES 2.0.
@requires_gl30 Extension @extension{EXT,texture_array}
@requires_gles30 Array textures are not available in OpenGL ES 2.0.
@requires_gl 1D array textures are not available in OpenGL ES, only 2D ones.
@todo Fix this when @es_extension{NV,texture_array} is in ES2 extension headers
*/
template<UnsignedInt dimensions> class TextureArray: public AbstractTexture {
public:
static const UnsignedInt Dimensions = dimensions; /**< @brief %Texture dimension count */
static const UnsignedInt Dimensions = dimensions; /**< @brief Texture dimension count */
/**
* @brief Max supported texture array size
@ -217,7 +217,7 @@ template<UnsignedInt dimensions> class TextureArray: 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
* @requires_gles30 Extension @es_extension{EXT,shadow_samplers} and
* @es_extension{NV,shadow_samplers_array}
*/
TextureArray<dimensions>& setCompareMode(Sampler::CompareMode mode) {
@ -230,7 +230,7 @@ template<UnsignedInt dimensions> class TextureArray: 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
* @requires_gles30 Extension @es_extension{EXT,shadow_samplers} and
* @es_extension{NV,shadow_samplers_array}
*/
TextureArray<dimensions>& setCompareFunction(Sampler::CompareFunction function) {
@ -402,7 +402,7 @@ template<UnsignedInt dimensions> class TextureArray: public AbstractTexture {
/**
@brief One-dimensional texture array
@requires_gl30 %Extension @extension{EXT,texture_array}
@requires_gl30 Extension @extension{EXT,texture_array}
@requires_gl Only @ref Magnum::Texture2DArray "Texture2DArray" is available in
OpenGL ES.
*/
@ -412,8 +412,8 @@ typedef TextureArray<1> Texture1DArray;
/**
@brief Two-dimensional texture array
@requires_gl30 %Extension @extension{EXT,texture_array}
@requires_gles30 %Array textures are not available in OpenGL ES 2.0.
@requires_gl30 Extension @extension{EXT,texture_array}
@requires_gles30 Array textures are not available in OpenGL ES 2.0.
*/
typedef TextureArray<2> Texture2DArray;

164
src/Magnum/TextureFormat.h

@ -51,8 +51,8 @@ enum class TextureFormat: GLenum {
* allowed in unemulated @ref Texture::setStorage() "*Texture::setStorage()"
* 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_gl30 Extension @extension{ARB,texture_rg}
* @requires_gles30 Extension @es_extension{EXT,texture_rg} in OpenGL ES
* 2.0
* @deprecated_gl Prefer to use the exactly specified version of this
* format, e.g. @ref Magnum::TextureFormat::R8 "TextureFormat::R8".
@ -65,8 +65,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
* @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
* storage only, for image specification use
* @ref Magnum::TextureFormat::Red "TextureFormat::Red" instead.
@ -82,8 +82,8 @@ enum class TextureFormat: GLenum {
* implementation-dependent. Not allowed in unemulated
* @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_gl30 Extension @extension{ARB,texture_rg}
* @requires_gles30 Extension @es_extension{EXT,texture_rg} in OpenGL ES
* 2.0
* @deprecated_gl Prefer to use the exactly specified version of this
* format, e.g. @ref Magnum::TextureFormat::RG8 "TextureFormat::RG8".
@ -96,8 +96,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
* @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
* storage only, for image specification use
* @ref Magnum::TextureFormat::RG "TextureFormat::RG" instead.
@ -119,7 +119,7 @@ enum class TextureFormat: GLenum {
/**
* RGB, each component normalized unsigned byte.
* @requires_gles30 %Extension @es_extension{OES,required_internalformat}
* @requires_gles30 Extension @es_extension{OES,required_internalformat}
* (for image specification) or @es_extension{EXT,texture_storage}
* (for texture storage) in OpenGL ES 2.0
*/
@ -140,7 +140,7 @@ enum class TextureFormat: GLenum {
/**
* RGBA, each component normalized unsigned byte.
* @requires_gles30 %Extension @es_extension{OES,required_internalformat}
* @requires_gles30 Extension @es_extension{OES,required_internalformat}
* (for image specification) or @es_extension{EXT,texture_storage}
* (for texture storage) in OpenGL ES 2.0
*/
@ -153,28 +153,28 @@ enum class TextureFormat: GLenum {
#ifndef MAGNUM_TARGET_GLES2
/**
* Red component, normalized signed byte.
* @requires_gl31 %Extension @extension{EXT,texture_snorm}
* @requires_gl31 Extension @extension{EXT,texture_snorm}
* @requires_gles30 Only unsigned formats are available in OpenGL ES 2.0.
*/
R8Snorm = GL_R8_SNORM,
/**
* Red and green component, each normalized signed byte.
* @requires_gl31 %Extension @extension{EXT,texture_snorm}
* @requires_gl31 Extension @extension{EXT,texture_snorm}
* @requires_gles30 Only unsigned formats are available in OpenGL ES 2.0.
*/
RG8Snorm = GL_RG8_SNORM,
/**
* RGB, each component normalized signed byte.
* @requires_gl31 %Extension @extension{EXT,texture_snorm}
* @requires_gl31 Extension @extension{EXT,texture_snorm}
* @requires_gles30 Only unsigned formats are available in OpenGL ES 2.0.
*/
RGB8Snorm = GL_RGB8_SNORM,
/**
* RGBA, each component normalized signed byte.
* @requires_gl31 %Extension @extension{EXT,texture_snorm}
* @requires_gl31 Extension @extension{EXT,texture_snorm}
* @requires_gles30 Only unsigned formats are available in OpenGL ES 2.0.
*/
RGBA8Snorm = GL_RGBA8_SNORM,
@ -183,7 +183,7 @@ enum class TextureFormat: GLenum {
#ifndef MAGNUM_TARGET_GLES
/**
* Red component, normalized unsigned short.
* @requires_gl30 %Extension @extension{ARB,texture_rg}
* @requires_gl30 Extension @extension{ARB,texture_rg}
* @requires_gl Only byte-sized normalized formats are available in OpenGL
* ES.
*/
@ -191,7 +191,7 @@ enum class TextureFormat: GLenum {
/**
* Red and green component, each normalized unsigned short.
* @requires_gl30 %Extension @extension{ARB,texture_rg}
* @requires_gl30 Extension @extension{ARB,texture_rg}
* @requires_gl Only byte-sized normalized formats are available in OpenGL
* ES.
*/
@ -213,7 +213,7 @@ enum class TextureFormat: GLenum {
/**
* Red component, normalized signed short.
* @requires_gl31 %Extension @extension{EXT,texture_snorm}
* @requires_gl31 Extension @extension{EXT,texture_snorm}
* @requires_gl Only byte-sized normalized formats are available in OpenGL
* ES.
*/
@ -221,7 +221,7 @@ enum class TextureFormat: GLenum {
/**
* Red and green component, each normalized signed short.
* @requires_gl31 %Extension @extension{EXT,texture_snorm}
* @requires_gl31 Extension @extension{EXT,texture_snorm}
* @requires_gl Only byte-sized normalized formats are available in OpenGL
* ES.
*/
@ -229,7 +229,7 @@ enum class TextureFormat: GLenum {
/**
* RGB, each component normalized signed short.
* @requires_gl31 %Extension @extension{EXT,texture_snorm}
* @requires_gl31 Extension @extension{EXT,texture_snorm}
* @requires_gl Only byte-sized normalized formats are available in OpenGL
* ES.
*/
@ -237,7 +237,7 @@ enum class TextureFormat: GLenum {
/**
* RGBA, each component normalized signed short.
* @requires_gl31 %Extension @extension{EXT,texture_snorm}
* @requires_gl31 Extension @extension{EXT,texture_snorm}
* @requires_gl Only byte-sized normalized formats are available in OpenGL
* ES.
*/
@ -247,7 +247,7 @@ enum class TextureFormat: GLenum {
#ifndef MAGNUM_TARGET_GLES2
/**
* Red component, non-normalized unsigned byte.
* @requires_gl30 %Extension @extension{ARB,texture_rg} and @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{ARB,texture_rg} and @extension{EXT,texture_integer}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -255,7 +255,7 @@ enum class TextureFormat: GLenum {
/**
* Red and green component, each non-normalized unsigned byte.
* @requires_gl30 %Extension @extension{ARB,texture_rg} and @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{ARB,texture_rg} and @extension{EXT,texture_integer}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -263,7 +263,7 @@ enum class TextureFormat: GLenum {
/**
* RGB, each component non-normalized unsigned byte.
* @requires_gl30 %Extension @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{EXT,texture_integer}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -271,7 +271,7 @@ enum class TextureFormat: GLenum {
/**
* RGBA, each component non-normalized unsigned byte.
* @requires_gl30 %Extension @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{EXT,texture_integer}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -279,7 +279,7 @@ enum class TextureFormat: GLenum {
/**
* Red component, non-normalized signed byte.
* @requires_gl30 %Extension @extension{ARB,texture_rg} and @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{ARB,texture_rg} and @extension{EXT,texture_integer}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -287,7 +287,7 @@ enum class TextureFormat: GLenum {
/**
* Red and green component, each non-normalized signed byte.
* @requires_gl30 %Extension @extension{ARB,texture_rg} and @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{ARB,texture_rg} and @extension{EXT,texture_integer}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -295,7 +295,7 @@ enum class TextureFormat: GLenum {
/**
* RGB, each component non-normalized signed byte.
* @requires_gl30 %Extension @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{EXT,texture_integer}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -303,7 +303,7 @@ enum class TextureFormat: GLenum {
/**
* RGBA, each component non-normalized signed byte.
* @requires_gl30 %Extension @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{EXT,texture_integer}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -311,7 +311,7 @@ enum class TextureFormat: GLenum {
/**
* Red component, non-normalized unsigned short.
* @requires_gl30 %Extension @extension{ARB,texture_rg} and @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{ARB,texture_rg} and @extension{EXT,texture_integer}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -319,7 +319,7 @@ enum class TextureFormat: GLenum {
/**
* Red and green component, each non-normalized unsigned short.
* @requires_gl30 %Extension @extension{ARB,texture_rg} and @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{ARB,texture_rg} and @extension{EXT,texture_integer}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -327,7 +327,7 @@ enum class TextureFormat: GLenum {
/**
* RGB, each component non-normalized unsigned short.
* @requires_gl30 %Extension @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{EXT,texture_integer}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -335,7 +335,7 @@ enum class TextureFormat: GLenum {
/**
* RGBA, each component non-normalized unsigned short.
* @requires_gl30 %Extension @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{EXT,texture_integer}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -343,7 +343,7 @@ enum class TextureFormat: GLenum {
/**
* Red component, non-normalized signed short.
* @requires_gl30 %Extension @extension{ARB,texture_rg} and @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{ARB,texture_rg} and @extension{EXT,texture_integer}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -351,7 +351,7 @@ enum class TextureFormat: GLenum {
/**
* Red and green component, each non-normalized signed short.
* @requires_gl30 %Extension @extension{ARB,texture_rg} and @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{ARB,texture_rg} and @extension{EXT,texture_integer}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -359,7 +359,7 @@ enum class TextureFormat: GLenum {
/**
* RGB, each component non-normalized signed short.
* @requires_gl30 %Extension @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{EXT,texture_integer}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -367,7 +367,7 @@ enum class TextureFormat: GLenum {
/**
* RGBA, each component non-normalized signed short.
* @requires_gl30 %Extension @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{EXT,texture_integer}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -375,7 +375,7 @@ enum class TextureFormat: GLenum {
/**
* Red component, non-normalized unsigned int.
* @requires_gl30 %Extension @extension{ARB,texture_rg} and @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{ARB,texture_rg} and @extension{EXT,texture_integer}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -383,7 +383,7 @@ enum class TextureFormat: GLenum {
/**
* Red and green component, each non-normalized unsigned int.
* @requires_gl30 %Extension @extension{ARB,texture_rg} and @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{ARB,texture_rg} and @extension{EXT,texture_integer}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -391,7 +391,7 @@ enum class TextureFormat: GLenum {
/**
* RGB, each component non-normalized unsigned int.
* @requires_gl30 %Extension @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{EXT,texture_integer}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -399,7 +399,7 @@ enum class TextureFormat: GLenum {
/**
* RGBA, each component non-normalized unsigned int.
* @requires_gl30 %Extension @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{EXT,texture_integer}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -407,7 +407,7 @@ enum class TextureFormat: GLenum {
/**
* Red component, non-normalized signed int.
* @requires_gl30 %Extension @extension{ARB,texture_rg} and @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{ARB,texture_rg} and @extension{EXT,texture_integer}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -415,7 +415,7 @@ enum class TextureFormat: GLenum {
/**
* Red and green component, each non-normalized signed int.
* @requires_gl30 %Extension @extension{ARB,texture_rg} and @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{ARB,texture_rg} and @extension{EXT,texture_integer}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -423,7 +423,7 @@ enum class TextureFormat: GLenum {
/**
* RGB, each component non-normalized signed int.
* @requires_gl30 %Extension @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{EXT,texture_integer}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -431,7 +431,7 @@ enum class TextureFormat: GLenum {
/**
* RGBA, each component non-normalized signed int.
* @requires_gl30 %Extension @extension{EXT,texture_integer}
* @requires_gl30 Extension @extension{EXT,texture_integer}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -439,7 +439,7 @@ enum class TextureFormat: GLenum {
/**
* Red component, half float.
* @requires_gl30 %Extension @extension{ARB,texture_rg} and @extension{ARB,texture_float}
* @requires_gl30 Extension @extension{ARB,texture_rg} and @extension{ARB,texture_float}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -447,7 +447,7 @@ enum class TextureFormat: GLenum {
/**
* Red and green component, each half float.
* @requires_gl30 %Extension @extension{ARB,texture_rg} and @extension{ARB,texture_float}
* @requires_gl30 Extension @extension{ARB,texture_rg} and @extension{ARB,texture_float}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -455,7 +455,7 @@ enum class TextureFormat: GLenum {
/**
* RGB, each component half float.
* @requires_gl30 %Extension @extension{ARB,texture_float}
* @requires_gl30 Extension @extension{ARB,texture_float}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -463,7 +463,7 @@ enum class TextureFormat: GLenum {
/**
* RGBA, each component half float.
* @requires_gl30 %Extension @extension{ARB,texture_float}
* @requires_gl30 Extension @extension{ARB,texture_float}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -471,7 +471,7 @@ enum class TextureFormat: GLenum {
/**
* Red component, float.
* @requires_gl30 %Extension @extension{ARB,texture_rg} and @extension{ARB,texture_float}
* @requires_gl30 Extension @extension{ARB,texture_rg} and @extension{ARB,texture_float}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -479,7 +479,7 @@ enum class TextureFormat: GLenum {
/**
* Red and green component, each float.
* @requires_gl30 %Extension @extension{ARB,texture_rg} and @extension{ARB,texture_float}
* @requires_gl30 Extension @extension{ARB,texture_rg} and @extension{ARB,texture_float}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -487,7 +487,7 @@ enum class TextureFormat: GLenum {
/**
* RGB, each component float.
* @requires_gl30 %Extension @extension{ARB,texture_float}
* @requires_gl30 Extension @extension{ARB,texture_float}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -495,7 +495,7 @@ enum class TextureFormat: GLenum {
/**
* RGBA, each component float.
* @requires_gl30 %Extension @extension{ARB,texture_float}
* @requires_gl30 Extension @extension{ARB,texture_float}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -551,7 +551,7 @@ enum class TextureFormat: GLenum {
/**
* RGB, normalized unsigned, red and blue component 5bit, green 6bit.
* @requires_gles30 %Extension @es_extension{OES,required_internalformat}
* @requires_gles30 Extension @es_extension{OES,required_internalformat}
* (for image specification) or @es_extension{EXT,texture_storage}
* (for texture storage) in OpenGL ES 2.0
*/
@ -560,7 +560,7 @@ enum class TextureFormat: GLenum {
#ifndef MAGNUM_TARGET_GLES3
/**
* RGB, each component normalized unsigned 10bit.
* @requires_es_extension %Extension @es_extension{EXT,texture_type_2_10_10_10_REV}
* @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
* storage) in OpenGL ES 2.0. Included for compatibility reasons only,
@ -585,7 +585,7 @@ enum class TextureFormat: GLenum {
#ifndef MAGNUM_TARGET_GLES2
/**
* RGB, float, red and green component 11bit, blue 10bit.
* @requires_gl30 %Extension @extension{EXT,packed_float}
* @requires_gl30 Extension @extension{EXT,packed_float}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -593,7 +593,7 @@ enum class TextureFormat: GLenum {
/**
* RGB, unsigned with exponent, each RGB component 9bit, exponent 5bit.
* @requires_gl30 %Extension @extension{EXT,texture_shared_exponent}
* @requires_gl30 Extension @extension{EXT,texture_shared_exponent}
* @requires_gles30 Use @ref Magnum::TextureFormat::RGB "TextureFormat::RGB"
* in OpenGL ES 2.0 instead.
*/
@ -604,7 +604,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}
* @requires_es_extension Extension @es_extension{EXT,sRGB}
* @deprecated_gl Prefer to use the exactly specified version of this
* format, i.e. @ref Magnum::TextureFormat::SRGB8 "TextureFormat::SRGB8".
* @todo is this allowed in core?
@ -634,7 +634,7 @@ enum class TextureFormat: GLenum {
/**
* RGBA, normalized unsigned, each component 4bit.
* @requires_gles30 %Extension @es_extension{OES,required_internalformat}
* @requires_gles30 Extension @es_extension{OES,required_internalformat}
* (for image specification) or @es_extension{EXT,texture_storage}
* (for texture storage) in OpenGL ES 2.0
*/
@ -642,7 +642,7 @@ enum class TextureFormat: GLenum {
/**
* RGBA, normalized unsigned, each RGB component 5bit, alpha 1bit.
* @requires_gles30 %Extension @es_extension{OES,required_internalformat}
* @requires_gles30 Extension @es_extension{OES,required_internalformat}
* (for image specification) or @es_extension{EXT,texture_storage}
* (for texture storage) in OpenGL ES 2.0
*/
@ -650,7 +650,7 @@ enum class TextureFormat: GLenum {
/**
* RGBA, normalized unsigned, each RGB component 10bit, alpha 2bit.
* @requires_gles30 %Extension @es_extension{EXT,texture_type_2_10_10_10_REV}
* @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
* storage) in OpenGL ES 2.0
@ -664,7 +664,7 @@ enum class TextureFormat: GLenum {
#ifndef MAGNUM_TARGET_GLES2
/**
* RGBA, non-normalized unsigned, each RGB component 10bit, alpha 2bit.
* @requires_gl33 %Extension @extension{ARB,texture_rgb10_a2ui}
* @requires_gl33 Extension @extension{ARB,texture_rgb10_a2ui}
* @requires_gles30 Only normalized integral formats are available in
* OpenGL ES 2.0.
*/
@ -683,7 +683,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}
* @requires_es_extension Extension @es_extension{EXT,sRGB}
* @deprecated_gl Prefer to use the exactly specified version of this
* format, i.e. @ref Magnum::TextureFormat::SRGB8Alpha8 "TextureFormat::SRGB8Alpha8".
* @todo is this allowed in core?
@ -707,7 +707,7 @@ enum class TextureFormat: GLenum {
/**
* Compressed red channel, normalized unsigned. **Not available on
* multisample textures.**
* @requires_gl30 %Extension @extension{ARB,texture_rg}
* @requires_gl30 Extension @extension{ARB,texture_rg}
* @requires_gl Generic texture compression is not available in OpenGL ES.
*/
CompressedRed = GL_COMPRESSED_RED,
@ -715,7 +715,7 @@ enum class TextureFormat: GLenum {
/**
* Compressed red and green channel, normalized unsigned. **Not available
* on multisample textures.**
* @requires_gl30 %Extension @extension{ARB,texture_rg}
* @requires_gl30 Extension @extension{ARB,texture_rg}
* @requires_gl Generic texture compression is not available in OpenGL ES.
*/
CompressedRG = GL_COMPRESSED_RG,
@ -737,7 +737,7 @@ enum class TextureFormat: GLenum {
/**
* RGTC compressed red channel, normalized unsigned. **Not available on
* multisample textures.**
* @requires_gl30 %Extension @extension{EXT,texture_compression_rgtc}
* @requires_gl30 Extension @extension{EXT,texture_compression_rgtc}
* @requires_gl RGTC texture compression is not available in OpenGL ES.
*/
CompressedRedRgtc1 = GL_COMPRESSED_RED_RGTC1,
@ -745,7 +745,7 @@ enum class TextureFormat: GLenum {
/**
* RGTC compressed red and green channel, normalized unsigned. **Not
* available on multisample textures.**
* @requires_gl30 %Extension @extension{EXT,texture_compression_rgtc}
* @requires_gl30 Extension @extension{EXT,texture_compression_rgtc}
* @requires_gl RGTC texture compression is not available in OpenGL ES.
*/
CompressedRGRgtc2 = GL_COMPRESSED_RG_RGTC2,
@ -753,7 +753,7 @@ enum class TextureFormat: GLenum {
/**
* RGTC compressed red channel, normalized signed. **Not available on
* multisample textures.**
* @requires_gl30 %Extension @extension{EXT,texture_compression_rgtc}
* @requires_gl30 Extension @extension{EXT,texture_compression_rgtc}
* @requires_gl RGTC texture compression is not available in OpenGL ES.
*/
CompressedSignedRedRgtc1 = GL_COMPRESSED_SIGNED_RED_RGTC1,
@ -761,7 +761,7 @@ enum class TextureFormat: GLenum {
/**
* RGTC compressed red and green channel, normalized signed. **Not
* available on multisample textures.**
* @requires_gl30 %Extension @extension{EXT,texture_compression_rgtc}
* @requires_gl30 Extension @extension{EXT,texture_compression_rgtc}
* @requires_gl RGTC texture compression is not available in OpenGL ES.
*/
CompressedSignedRGRgtc2 = GL_COMPRESSED_SIGNED_RG_RGTC2,
@ -769,7 +769,7 @@ enum class TextureFormat: GLenum {
/**
* BPTC compressed RGB, unsigned float. **Not available on multisample
* textures.**
* @requires_gl42 %Extension @extension{ARB,texture_compression_bptc}
* @requires_gl42 Extension @extension{ARB,texture_compression_bptc}
* @requires_gl BPTC texture compression is not available in OpenGL ES.
*/
CompressedRGBBptcUnsignedFloat = GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT,
@ -777,7 +777,7 @@ enum class TextureFormat: GLenum {
/**
* BPTC compressed RGB, signed float. **Not available on multisample
* textures.**
* @requires_gl42 %Extension @extension{ARB,texture_compression_bptc}
* @requires_gl42 Extension @extension{ARB,texture_compression_bptc}
* @requires_gl BPTC texture compression is not available in OpenGL ES.
*/
CompressedRGBBptcSignedFloat = GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT,
@ -785,7 +785,7 @@ enum class TextureFormat: GLenum {
/**
* BPTC compressed RGBA, normalized unsigned. **Not available on
* multisample textures.**
* @requires_gl42 %Extension @extension{ARB,texture_compression_bptc}
* @requires_gl42 Extension @extension{ARB,texture_compression_bptc}
* @requires_gl BPTC texture compression is not available in OpenGL ES.
*/
CompressedRGBABptcUnorm = GL_COMPRESSED_RGBA_BPTC_UNORM,
@ -793,7 +793,7 @@ enum class TextureFormat: GLenum {
/**
* BPTC compressed sRGBA, normalized unsigned. **Not available on
* multisample textures.**
* @requires_gl42 %Extension @extension{ARB,texture_compression_bptc}
* @requires_gl42 Extension @extension{ARB,texture_compression_bptc}
* @requires_gl BPTC texture compression is not available in OpenGL ES.
*/
CompressedSRGBAlphaBptcUnorm = GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM,
@ -804,7 +804,7 @@ 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
* @requires_gles30 Extension @es_extension{OES,depth_texture} or
* @es_extension{ANGLE,depth_texture} in OpenGL ES 2.0
* @deprecated_gl Prefer to use the exactly specified version of this
* format, e.g. @ref Magnum::TextureFormat::DepthComponent24 "TextureFormat::DepthComponent24".
@ -813,7 +813,7 @@ enum class TextureFormat: GLenum {
/**
* Depth component, 16bit. Not supported in 3D textures.
* @requires_gles30 %Extension @es_extension{OES,depth_texture} or
* @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
@ -823,7 +823,7 @@ enum class TextureFormat: GLenum {
/**
* Depth component, 24bit. Not supported in 3D textures.
* @requires_gles30 %Extension @es_extension{OES,required_internalformat},
* @requires_gles30 Extension @es_extension{OES,required_internalformat},
* @es_extension{OES,depth_texture} and @es_extension{OES,depth24} in
* OpenGL ES 2.0
*/
@ -835,7 +835,7 @@ enum class TextureFormat: GLenum {
/**
* Depth component, 32bit. Not supported in 3D textures.
* @requires_es_extension %Extension @es_extension{OES,depth_texture} or
* @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
@ -850,7 +850,7 @@ enum class TextureFormat: GLenum {
#ifndef MAGNUM_TARGET_GLES2
/**
* Depth component, 32bit float. Not supported in 3D textures.
* @requires_gl30 %Extension @extension{ARB,depth_buffer_float}
* @requires_gl30 Extension @extension{ARB,depth_buffer_float}
* @requires_gles30 Only integral depth textures are available in OpenGL ES
* 2.0.
*/
@ -860,7 +860,7 @@ enum class TextureFormat: GLenum {
#ifndef MAGNUM_TARGET_GLES
/**
* Stencil index, 8bit. Not supported in 3D textures.
* @requires_gl44 %Extension @extension{ARB,texture_stencil8}
* @requires_gl44 Extension @extension{ARB,texture_stencil8}
* @requires_gl Only available as renderbuffer format in OpenGL ES.
*/
StencilIndex8 = GL_STENCIL_INDEX8,
@ -873,7 +873,7 @@ 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
* @requires_gles30 Extension @es_extension{OES,packed_depth_stencil} or
* @es_extension{ANGLE,depth_texture} in OpenGL ES 2.0
* @deprecated_gl Prefer to use exactly specified version of this format,
* e.g. @ref Magnum::TextureFormat::Depth24Stencil8 "TextureFormat::Depth24Stencil8".
@ -887,8 +887,8 @@ 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
* @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
@ -905,7 +905,7 @@ enum class TextureFormat: GLenum {
* 32bit float depth component and 8bit stencil component. Not supported in
* 3D textures.
* @see @ref Texture::setDepthStencilMode() "*Texture::setDepthStencilMode()"
* @requires_gl30 %Extension @extension{ARB,depth_buffer_float}
* @requires_gl30 Extension @extension{ARB,depth_buffer_float}
* @requires_gles30 Only integral depth textures are available in OpenGL ES
* 2.0.
*/

4
src/Magnum/TimeQuery.h

@ -62,8 +62,8 @@ UnsignedInt timeElapsed1 = tmp-q1.result<UnsignedInt>();
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_gl33 Extension @extension{ARB,timer_query}
@requires_es_extension Extension @es_extension{EXT,disjoint_timer_query}
@see @ref PrimitiveQuery, @ref SampleQuery
@todo timestamp with glGet + example usage

2
src/Magnum/Timeline.h

@ -37,7 +37,7 @@
namespace Magnum {
/**
@brief %Timeline
@brief Timeline
Keeps track of time delta between frames and allows FPS limiting. Can be used
as source for animation speed computations.

4
src/Magnum/TransformFeedback.h

@ -44,7 +44,7 @@ namespace Implementation { struct TransformFeedbackState; }
@brief Transform feedback
@see @ref PrimitiveQuery
@requires_gl40 %Extension @extension{ARB,transform_feedback2}
@requires_gl40 Extension @extension{ARB,transform_feedback2}
@requires_gles30 Transform feedback is not available in OpenGL ES 2.0
@todo @extension{AMD,transform_feedback3_lines_triangles}?
*/
@ -169,7 +169,7 @@ class MAGNUM_EXPORT TransformFeedback: public AbstractObject {
GLuint id() const { return _id; }
/**
* @brief %Buffer label
* @brief Buffer label
*
* The result is *not* cached, repeated queries will result in repeated
* OpenGL calls. If OpenGL 4.3 is not supported and neither

Loading…
Cancel
Save