Browse Source

Links to required extensions in documentation.

Fixed a few typos in extension names, fixed BPTC texture compression
typos. Removed redundant EXT_framebuffer_object from functions as the
Framebuffer class itself has it.
pull/279/head
Vladimír Vondruš 14 years ago
parent
commit
5133861750
  1. 3
      Doxyfile
  2. 12
      src/AbstractImage.h
  3. 10
      src/AbstractShaderProgram.h
  4. 66
      src/AbstractTexture.h
  5. 12
      src/Buffer.h
  6. 8
      src/BufferedTexture.h
  7. 2
      src/Camera.h
  8. 2
      src/CubeMapTexture.h
  9. 4
      src/CubeMapTextureArray.h
  10. 22
      src/Framebuffer.h
  11. 4
      src/Mesh.h
  12. 8
      src/Query.h
  13. 2
      src/Renderbuffer.h
  14. 6
      src/Shader.h
  15. 8
      src/Texture.h

3
Doxyfile

@ -205,7 +205,8 @@ ALIASES = \
"requires_gl40=@xrefitem RequiresGL40 \"Requires OpenGL 4.0\" \"Functionality requiring OpenGL 4.0\"" \ "requires_gl40=@xrefitem RequiresGL40 \"Requires OpenGL 4.0\" \"Functionality requiring OpenGL 4.0\"" \
"requires_gl41=@xrefitem RequiresGL41 \"Requires OpenGL 4.1\" \"Functionality requiring OpenGL 4.1\"" \ "requires_gl41=@xrefitem RequiresGL41 \"Requires OpenGL 4.1\" \"Functionality requiring OpenGL 4.1\"" \
"requires_gl42=@xrefitem RequiresGL42 \"Requires OpenGL 4.2\" \"Functionality requiring OpenGL 4.2\"" \ "requires_gl42=@xrefitem RequiresGL42 \"Requires OpenGL 4.2\" \"Functionality requiring OpenGL 4.2\"" \
"requires_extension=@xrefitem RequiresExtension \"Requires extension\" \"Functionality requiring specific OpenGL extension\"" "requires_extension=@xrefitem RequiresExtension \"Requires extension\" \"Functionality requiring specific OpenGL extension\"" \
"extension{2}=<a href=\"http://www.opengl.org/registry/specs/\1/\2.txt\"><tt>\1_\2</tt></a>"
# This tag can be used to specify a number of word-keyword mappings (TCL only). # This tag can be used to specify a number of word-keyword mappings (TCL only).
# A mapping has the form "name=value". For example adding # A mapping has the form "name=value". For example adding

12
src/AbstractImage.h

@ -70,7 +70,7 @@ class MAGNUM_EXPORT AbstractImage {
/** /**
* Depth and stencil component. For framebuffer reading only. * Depth and stencil component. For framebuffer reading only.
* *
* @requires_gl30 Extension <tt>EXT_packed_depth_stencil</tt> * @requires_gl30 Extension @extension{EXT,packed_depth_stencil}
*/ */
DepthStencil = GL_DEPTH_STENCIL DepthStencil = GL_DEPTH_STENCIL
}; };
@ -87,7 +87,7 @@ class MAGNUM_EXPORT AbstractImage {
/** /**
* Each component half float (16bit). For framebuffer reading only. * Each component half float (16bit). For framebuffer reading only.
* *
* @requires_gl30 Extension <tt>NV_half_float</tt> / <tt>ARB_half_float_pixel</tt> * @requires_gl30 Extension @extension{NV,half_float} / @extension{ARB,half_float_pixel}
*/ */
HalfFloat = GL_HALF_FLOAT, HalfFloat = GL_HALF_FLOAT,
@ -169,7 +169,7 @@ class MAGNUM_EXPORT AbstractImage {
* Three-component BGR, float, red and green 11bit, blue 10bit, * Three-component BGR, float, red and green 11bit, blue 10bit,
* 32bit total. For framebuffer reading only. * 32bit total. For framebuffer reading only.
* *
* @requires_gl30 Extension <tt>EXT_packed_float</tt> * @requires_gl30 Extension @extension{EXT,packed_float}
*/ */
B10GR11Float = GL_UNSIGNED_INT_10F_11F_11F_REV, B10GR11Float = GL_UNSIGNED_INT_10F_11F_11F_REV,
@ -178,7 +178,7 @@ class MAGNUM_EXPORT AbstractImage {
* component 9bit, exponent 5bit, 32bit total. For framebuffer * component 9bit, exponent 5bit, 32bit total. For framebuffer
* reading only. * reading only.
* *
* @requires_gl30 Extension <tt>EXT_texture_shared_exponent</tt> * @requires_gl30 Extension @extension{EXT,texture_shared_exponent}
*/ */
Exponent5RGB9 = GL_UNSIGNED_INT_5_9_9_9_REV, Exponent5RGB9 = GL_UNSIGNED_INT_5_9_9_9_REV,
@ -186,7 +186,7 @@ class MAGNUM_EXPORT AbstractImage {
* 24bit depth and 8bit stencil component, 32bit total. For * 24bit depth and 8bit stencil component, 32bit total. For
* framebuffer reading only. * framebuffer reading only.
* *
* @requires_gl30 Extension <tt>EXT_packed_depth_stencil</tt> * @requires_gl30 Extension @extension{EXT,packed_depth_stencil}
*/ */
Depth24Stencil8 = GL_UNSIGNED_INT_24_8, Depth24Stencil8 = GL_UNSIGNED_INT_24_8,
@ -194,7 +194,7 @@ class MAGNUM_EXPORT AbstractImage {
* 32bit float depth component and 8bit stencil component, 64bit * 32bit float depth component and 8bit stencil component, 64bit
* total. For framebuffer reading only. * total. For framebuffer reading only.
* *
* @requires_gl30 Extension <tt>ARB_depth_buffer_float</tt> * @requires_gl30 Extension @extension{ARB,depth_buffer_float}
*/ */
Depth32FloatStencil8 = GL_FLOAT_32_UNSIGNED_INT_24_8_REV Depth32FloatStencil8 = GL_FLOAT_32_UNSIGNED_INT_24_8_REV
}; };

10
src/AbstractShaderProgram.h

@ -166,7 +166,7 @@ class MAGNUM_EXPORT AbstractShaderProgram {
* @note This function should be called between loadShader() calls * @note This function should be called between loadShader() calls
* and link(). * and link().
* *
* @requires_gl30 Extension <tt>EXT_gpu_shader4</tt> * @requires_gl30 Extension @extension{EXT,gpu_shader4}
*/ */
void bindFragmentDataLocation(GLuint location, const std::string& name); void bindFragmentDataLocation(GLuint location, const std::string& name);
@ -236,7 +236,7 @@ class MAGNUM_EXPORT AbstractShaderProgram {
/** /**
* @copydoc setUniform(GLint, GLint) * @copydoc setUniform(GLint, GLint)
* *
* @requires_gl30 Extension <tt>EXT_gpu_shader4</tt> * @requires_gl30 Extension @extension{EXT,gpu_shader4}
*/ */
inline void setUniform(GLint location, GLuint value) { inline void setUniform(GLint location, GLuint value) {
glUniform1ui(location, value); glUniform1ui(location, value);
@ -245,7 +245,7 @@ class MAGNUM_EXPORT AbstractShaderProgram {
/** /**
* @copydoc setUniform(GLint, GLint) * @copydoc setUniform(GLint, GLint)
* *
* @requires_gl30 Extension <tt>EXT_gpu_shader4</tt> * @requires_gl30 Extension @extension{EXT,gpu_shader4}
*/ */
inline void setUniform(GLint location, const Math::Vector2<GLuint>& value) { inline void setUniform(GLint location, const Math::Vector2<GLuint>& value) {
glUniform2uiv(location, 1, value.data()); glUniform2uiv(location, 1, value.data());
@ -254,7 +254,7 @@ class MAGNUM_EXPORT AbstractShaderProgram {
/** /**
* @copydoc setUniform(GLint, GLint) * @copydoc setUniform(GLint, GLint)
* *
* @requires_gl30 Extension <tt>EXT_gpu_shader4</tt> * @requires_gl30 Extension @extension{EXT,gpu_shader4}
*/ */
inline void setUniform(GLint location, const Math::Vector3<GLuint>& value) { inline void setUniform(GLint location, const Math::Vector3<GLuint>& value) {
glUniform3uiv(location, 1, value.data()); glUniform3uiv(location, 1, value.data());
@ -263,7 +263,7 @@ class MAGNUM_EXPORT AbstractShaderProgram {
/** /**
* @copydoc setUniform(GLint, GLuint) * @copydoc setUniform(GLint, GLuint)
* *
* @requires_gl30 Extension <tt>EXT_gpu_shader4</tt> * @requires_gl30 Extension @extension{EXT,gpu_shader4}
*/ */
inline void setUniform(GLint location, const Math::Vector4<GLuint>& value) { inline void setUniform(GLint location, const Math::Vector4<GLuint>& value) {
glUniform4uiv(location, 1, value.data()); glUniform4uiv(location, 1, value.data());

66
src/AbstractTexture.h

@ -119,56 +119,56 @@ class MAGNUM_EXPORT AbstractTexture {
/** /**
* (Non-normalized) unsigned byte * (Non-normalized) unsigned byte
* *
* @requires_gl30 Extension <tt>EXT_texture_integer</tt> * @requires_gl30 Extension @extension{EXT,texture_integer}
*/ */
UnsignedByte, UnsignedByte,
/** /**
* (Non-normalized) byte * (Non-normalized) byte
* *
* @requires_gl30 Extension <tt>EXT_texture_integer</tt> * @requires_gl30 Extension @extension{EXT,texture_integer}
*/ */
Byte, Byte,
/** /**
* (Non-normalized) unsigned short * (Non-normalized) unsigned short
* *
* @requires_gl30 Extension <tt>EXT_texture_integer</tt> * @requires_gl30 Extension @extension{EXT,texture_integer}
*/ */
UnsignedShort, UnsignedShort,
/** /**
* (Non-normalized) short * (Non-normalized) short
* *
* @requires_gl30 Extension <tt>EXT_texture_integer</tt> * @requires_gl30 Extension @extension{EXT,texture_integer}
*/ */
Short, Short,
/** /**
* (Non-normalized) unsigned integer * (Non-normalized) unsigned integer
* *
* @requires_gl30 Extension <tt>EXT_texture_integer</tt> * @requires_gl30 Extension @extension{EXT,texture_integer}
*/ */
UnsignedInt, UnsignedInt,
/** /**
* (Non-normalized) integer * (Non-normalized) integer
* *
* @requires_gl30 Extension <tt>EXT_texture_integer</tt> * @requires_gl30 Extension @extension{EXT,texture_integer}
*/ */
Int, Int,
/** /**
* Half float (16 bit) * Half float (16 bit)
* *
* @requires_gl30 Extension <tt>ARB_texture_float</tt> * @requires_gl30 Extension @extension{ARB,texture_float}
*/ */
Half, Half,
/** /**
* Float (32 bit) * Float (32 bit)
* *
* @requires_gl30 Extension <tt>ARB_texture_float</tt> * @requires_gl30 Extension @extension{ARB,texture_float}
*/ */
Float, Float,
@ -270,7 +270,7 @@ class MAGNUM_EXPORT AbstractTexture {
* Four-component RGBA, unsigned non-normalized, each RGB * Four-component RGBA, unsigned non-normalized, each RGB
* component 10bit, alpha channel 2bit, 32bit total. * component 10bit, alpha channel 2bit, 32bit total.
* *
* @requires_gl33 Extension <tt>ARB_texture_rgb10_a2ui</tt> * @requires_gl33 Extension @extension{ARB,texture_rgb10_a2ui}
*/ */
RGB10Alpha2Unsigned = GL_RGB10_A2UI, RGB10Alpha2Unsigned = GL_RGB10_A2UI,
@ -290,7 +290,7 @@ class MAGNUM_EXPORT AbstractTexture {
* Three-component RGB, float, red and green 11bit, blue 10bit, * Three-component RGB, float, red and green 11bit, blue 10bit,
* 32bit total. * 32bit total.
* *
* @requires_gl30 Extension <tt>EXT_packed_float</tt> * @requires_gl30 Extension @extension{EXT,packed_float}
*/ */
RG11B10Float = GL_R11F_G11F_B10F, RG11B10Float = GL_R11F_G11F_B10F,
@ -306,7 +306,7 @@ class MAGNUM_EXPORT AbstractTexture {
* Three-component RGB, unsigned with exponent, each component * Three-component RGB, unsigned with exponent, each component
* 9bit, exponent 5bit, 32bit total. * 9bit, exponent 5bit, 32bit total.
* *
* @requires_gl30 Extension <tt>EXT_texture_shared_exponent</tt> * @requires_gl30 Extension @extension{EXT,texture_shared_exponent}
*/ */
RGB9Exponent5 = GL_RGB9_E5, RGB9Exponent5 = GL_RGB9_E5,
@ -325,59 +325,59 @@ class MAGNUM_EXPORT AbstractTexture {
/** /**
* RTGC compressed red channel, unsigned normalized. * RTGC compressed red channel, unsigned normalized.
* *
* @requires_gl30 Extension <tt>EXT_texture_compression_rgtc</tt> * @requires_gl30 Extension @extension{EXT,texture_compression_rgtc}
*/ */
CompressedRtgcRed = GL_COMPRESSED_RED_RGTC1, CompressedRtgcRed = GL_COMPRESSED_RED_RGTC1,
/** /**
* RTGC compressed red channel, signed normalized. * RTGC compressed red channel, signed normalized.
* *
* @requires_gl30 Extension <tt>EXT_texture_compression_rgtc</tt> * @requires_gl30 Extension @extension{EXT,texture_compression_rgtc}
*/ */
CompressedRtgcSignedRed = GL_COMPRESSED_SIGNED_RED_RGTC1, CompressedRtgcSignedRed = GL_COMPRESSED_SIGNED_RED_RGTC1,
/** /**
* RTGC compressed red and green channel, unsigned normalized. * RTGC compressed red and green channel, unsigned normalized.
* *
* @requires_gl30 Extension <tt>EXT_texture_compression_rgtc</tt> * @requires_gl30 Extension @extension{EXT,texture_compression_rgtc}
*/ */
CompressedRtgcRedGreen = GL_COMPRESSED_RG_RGTC2, CompressedRtgcRedGreen = GL_COMPRESSED_RG_RGTC2,
/** /**
* RTGC compressed red and green channel, signed normalized. * RTGC compressed red and green channel, signed normalized.
* *
* @requires_gl30 Extension <tt>EXT_texture_compression_rgtc</tt> * @requires_gl30 Extension @extension{EXT,texture_compression_rgtc}
*/ */
CompressedRtgcSignedRedGreen = GL_COMPRESSED_SIGNED_RG_RGTC2, CompressedRtgcSignedRedGreen = GL_COMPRESSED_SIGNED_RG_RGTC2,
#if defined(GL_COMPRESSED_RGBA_BPTC_UNORM) || defined(DOXYGEN_GENERATING_OUTPUT) #if defined(GL_COMPRESSED_RGBA_BPTC_UNORM) || defined(DOXYGEN_GENERATING_OUTPUT)
/** /**
* BTPC compressed RGBA, unsigned normalized. * BPTC compressed RGBA, unsigned normalized.
* *
* @requires_gl42 Extension <tt>ARB_texture_compression_btpc</tt> * @requires_gl42 Extension @extension{ARB,texture_compression_bptc}
*/ */
CompressedBtpcRGBA = GL_COMPRESSED_RGBA_BPTC_UNORM, CompressedBptcRGBA = GL_COMPRESSED_RGBA_BPTC_UNORM,
/** /**
* BTPC compressed sRGBA, unsigned normalized. * BPTC compressed sRGBA, unsigned normalized.
* *
* @requires_gl42 Extension <tt>ARB_texture_compression_btpc</tt> * @requires_gl42 Extension @extension{ARB,texture_compression_bptc}
*/ */
CompressedBtpcSRGBA = GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM, CompressedBptcSRGBA = GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM,
/** /**
* BTPC compressed RGB, signed float. * BPTC compressed RGB, signed float.
* *
* @requires_gl42 Extension <tt>ARB_texture_compression_btpc</tt> * @requires_gl42 Extension @extension{ARB,texture_compression_bptc}
*/ */
CompressedBtpcRGBSignedFloat = GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT, CompressedBptcRGBSignedFloat = GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT,
/** /**
* BTPC compressed RGB, unsigned float. * BPTC compressed RGB, unsigned float.
* *
* @requires_gl42 Extension <tt>ARB_texture_compression_btpc</tt> * @requires_gl42 Extension @extension{ARB,texture_compression_bptc}
*/ */
CompressedBtpcRGBUnsignedFloat = GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT, CompressedBptcRGBUnsignedFloat = GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT,
#endif #endif
/** Depth component. */ /** Depth component. */
@ -395,21 +395,21 @@ class MAGNUM_EXPORT AbstractTexture {
/** /**
* 32bit float depth component. * 32bit float depth component.
* *
* @requires_gl30 Extension <tt>ARB_depth_buffer_float</tt> * @requires_gl30 Extension @extension{ARB,depth_buffer_float}
*/ */
Depth32Float = GL_DEPTH_COMPONENT32F, Depth32Float = GL_DEPTH_COMPONENT32F,
/** /**
* 24bit depth and 8bit stencil component. * 24bit depth and 8bit stencil component.
* *
* @requires_gl30 Extension <tt>EXT_packed_depth_stencil</tt> * @requires_gl30 Extension @extension{EXT,packed_depth_stencil}
*/ */
Depth24Stencil8 = GL_DEPTH24_STENCIL8, Depth24Stencil8 = GL_DEPTH24_STENCIL8,
/** /**
* 32bit float depth component and 8bit stencil component. * 32bit float depth component and 8bit stencil component.
* *
* @requires_gl30 Extension <tt>ARB_depth_buffer_float</tt> * @requires_gl30 Extension @extension{ARB,depth_buffer_float}
*/ */
Depth32FloatStencil8 = GL_DEPTH32F_STENCIL8 Depth32FloatStencil8 = GL_DEPTH32F_STENCIL8
}; };
@ -451,7 +451,7 @@ class MAGNUM_EXPORT AbstractTexture {
* @brief Max supported anisotropy * @brief Max supported anisotropy
* *
* @see setMaxAnisotropy() * @see setMaxAnisotropy()
* @requires_extension <tt>EXT_texture_filter_anisotropic</tt> * @requires_extension @extension{EXT,texture_filter_anisotropic}
*/ */
static GLfloat maxSupportedAnisotropy(); static GLfloat maxSupportedAnisotropy();
@ -538,7 +538,7 @@ class MAGNUM_EXPORT AbstractTexture {
* Default value is `1.0`, which means no anisotropy. Set to value * Default value is `1.0`, which means no anisotropy. Set to value
* greater than `1.0` for anisotropic filtering. * greater than `1.0` for anisotropic filtering.
* @see maxSupportedAnisotropy() * @see maxSupportedAnisotropy()
* @requires_extension <tt>EXT_texture_filter_anisotropic</tt> * @requires_extension @extension{EXT,texture_filter_anisotropic}
*/ */
inline void setMaxAnisotropy(GLfloat anisotropy) { inline void setMaxAnisotropy(GLfloat anisotropy) {
bind(); bind();
@ -550,7 +550,7 @@ class MAGNUM_EXPORT AbstractTexture {
* *
* Can not be used for rectangle textures. * Can not be used for rectangle textures.
* @see setMinificationFilter() * @see setMinificationFilter()
* @requires_gl30 Extension <tt>EXT_framebuffer_object</tt> * @requires_gl30 Extension @extension{EXT,framebuffer_object}
*/ */
void generateMipmap(); void generateMipmap();

12
src/Buffer.h

@ -43,7 +43,7 @@ class Buffer {
/** /**
* Source for copies. * Source for copies.
* *
* @requires_gl31 Extension <tt>ARB_copy_buffer</tt> * @requires_gl31 Extension @extension{ARB,copy_buffer}
*/ */
#if defined(GL_COPY_READ_BUFFER_BINDING) || defined(DOXYGEN_GENERATING_OUTPUT) #if defined(GL_COPY_READ_BUFFER_BINDING) || defined(DOXYGEN_GENERATING_OUTPUT)
CopyRead = GL_COPY_READ_BUFFER_BINDING, CopyRead = GL_COPY_READ_BUFFER_BINDING,
@ -54,7 +54,7 @@ class Buffer {
/** /**
* Target for copies. * Target for copies.
* *
* @requires_gl31 Extension <tt>ARB_copy_buffer</tt> * @requires_gl31 Extension @extension{ARB,copy_buffer}
*/ */
#if defined(GL_COPY_WRITE_BUFFER_BINDING) || defined(DOXYGEN_GENERATING_OUTPUT) #if defined(GL_COPY_WRITE_BUFFER_BINDING) || defined(DOXYGEN_GENERATING_OUTPUT)
CopyWrite = GL_COPY_WRITE_BUFFER_BINDING, CopyWrite = GL_COPY_WRITE_BUFFER_BINDING,
@ -75,28 +75,28 @@ class Buffer {
* Source for texel fetches. * Source for texel fetches.
* *
* @see BufferedTexture * @see BufferedTexture
* @requires_gl31 Extension <tt>ARB_texture_buffer_object</tt> * @requires_gl31 Extension @extension{ARB,texture_buffer_object}
*/ */
Texture = GL_TEXTURE_BUFFER, Texture = GL_TEXTURE_BUFFER,
/** /**
* Target for transform feedback. * Target for transform feedback.
* *
* @requires_gl30 Extension <tt>EXT_transform_feedback</tt> * @requires_gl30 Extension @extension{EXT,transform_feedback}
*/ */
TransformFeedback = GL_TRANSFORM_FEEDBACK_BUFFER, TransformFeedback = GL_TRANSFORM_FEEDBACK_BUFFER,
/** /**
* Used for storing uniforms. * Used for storing uniforms.
* *
* @requires_gl31 Extension <tt>ARB_uniform_buffer_object</tt> * @requires_gl31 Extension @extension{ARB,uniform_buffer_object}
*/ */
Uniform = GL_UNIFORM_BUFFER, Uniform = GL_UNIFORM_BUFFER,
/** /**
* Used for supplying arguments for instanced drawing. * Used for supplying arguments for instanced drawing.
* *
* @requires_gl40 Extension <tt>ARB_draw_indirect</tt> * @requires_gl40 Extension @extension{ARB,draw_indirect}
*/ */
DrawIndirect = GL_DRAW_INDIRECT_BUFFER DrawIndirect = GL_DRAW_INDIRECT_BUFFER
}; };

8
src/BufferedTexture.h

@ -36,7 +36,7 @@ using data setting functions in Buffer itself.
When using buffered texture in the shader, use `samplerBuffer` and fetch the When using buffered texture in the shader, use `samplerBuffer` and fetch the
data using integer coordinates in `texelFetch()`. data using integer coordinates in `texelFetch()`.
@requires_gl31 Extension <tt>ARB_texture_buffer_object</tt> @requires_gl31 Extension @extension{ARB,texture_buffer_object}
*/ */
class BufferedTexture { class BufferedTexture {
BufferedTexture(const BufferedTexture& other) = delete; BufferedTexture(const BufferedTexture& other) = delete;
@ -63,7 +63,7 @@ class BufferedTexture {
/** /**
* Three-component RGB, float, each component 32bit, 96bit total. * Three-component RGB, float, each component 32bit, 96bit total.
* *
* @requires_gl40 Extension <tt>ARB_texture_buffer_object_rgb32</tt> * @requires_gl40 Extension @extension{ARB,texture_buffer_object_rgb32}
*/ */
RGB32Float = GL_RGB32F, RGB32Float = GL_RGB32F,
@ -71,7 +71,7 @@ class BufferedTexture {
* Three-component RGB, unsigned non-normalized, each component * Three-component RGB, unsigned non-normalized, each component
* 32bit, 96bit total. * 32bit, 96bit total.
* *
* @requires_gl40 Extension <tt>ARB_texture_buffer_object_rgb32</tt> * @requires_gl40 Extension @extension{ARB,texture_buffer_object_rgb32}
*/ */
RGB32UnsignedInt = GL_RGB32UI, RGB32UnsignedInt = GL_RGB32UI,
@ -79,7 +79,7 @@ class BufferedTexture {
* Three-component RGB, signed non-normalized, each component * Three-component RGB, signed non-normalized, each component
* 32bit, 96bit total. * 32bit, 96bit total.
* *
* @requires_gl40 Extension <tt>ARB_texture_buffer_object_rgb32</tt> * @requires_gl40 Extension @extension{ARB,texture_buffer_object_rgb32}
*/ */
RGB32Int = GL_RGB32I RGB32Int = GL_RGB32I
}; };

2
src/Camera.h

@ -45,7 +45,7 @@ class MAGNUM_EXPORT Camera: public Object {
/** /**
* Depth clamping. If enabled, ignores near and far clipping plane. * Depth clamping. If enabled, ignores near and far clipping plane.
* *
* @requires_gl32 Extension <tt>ARB_depth_clamp</tt> * @requires_gl32 Extension @extension{ARB,depth_clamp}
*/ */
DepthClamp = GL_DEPTH_CLAMP, DepthClamp = GL_DEPTH_CLAMP,

2
src/CubeMapTexture.h

@ -61,7 +61,7 @@ class CubeMapTexture: public AbstractTexture {
/** /**
* @brief Enable/disable seamless cube map textures * @brief Enable/disable seamless cube map textures
* *
* @requires_gl32 Extension <tt>ARB_seamless_cube_map</tt> * @requires_gl32 Extension @extension{ARB,seamless_cube_map}
*/ */
inline static void setSeamless(bool enabled) { inline static void setSeamless(bool enabled) {
enabled ? glEnable(GL_TEXTURE_CUBE_MAP_SEAMLESS) : glDisable(GL_TEXTURE_CUBE_MAP_SEAMLESS); enabled ? glEnable(GL_TEXTURE_CUBE_MAP_SEAMLESS) : glDisable(GL_TEXTURE_CUBE_MAP_SEAMLESS);

4
src/CubeMapTextureArray.h

@ -33,7 +33,7 @@ classic textures, coordinates for cube map textures is signed three-part
vector from the center of the cube, which intersects one of the six sides of vector from the center of the cube, which intersects one of the six sides of
the cube map. the cube map.
@requires_gl40 Extension <tt>ARB_texture_cube_map_array</tt> @requires_gl40 Extension @extension{ARB,texture_cube_map_array}
*/ */
class CubeMapTextureArray: public AbstractTexture { class CubeMapTextureArray: public AbstractTexture {
public: public:
@ -50,7 +50,7 @@ class CubeMapTextureArray: public AbstractTexture {
/** /**
* @brief Enable/disable seamless cube map textures * @brief Enable/disable seamless cube map textures
* *
* @requires_gl32 Extension <tt>ARB_seamless_cube_map</tt> * @requires_gl32 Extension @extension{ARB,seamless_cube_map}
*/ */
inline static void setSeamless(bool enabled) { inline static void setSeamless(bool enabled) {
enabled ? glEnable(GL_TEXTURE_CUBE_MAP_SEAMLESS) : glDisable(GL_TEXTURE_CUBE_MAP_SEAMLESS); enabled ? glEnable(GL_TEXTURE_CUBE_MAP_SEAMLESS) : glDisable(GL_TEXTURE_CUBE_MAP_SEAMLESS);

22
src/Framebuffer.h

@ -29,7 +29,7 @@ namespace Magnum {
/** /**
@brief %Framebuffer @brief %Framebuffer
@requires_gl30 Extension <tt>EXT_framebuffer_object</tt> @requires_gl30 Extension @extension{EXT,framebuffer_object}
*/ */
class MAGNUM_EXPORT Framebuffer { class MAGNUM_EXPORT Framebuffer {
Framebuffer(const Framebuffer& other) = delete; Framebuffer(const Framebuffer& other) = delete;
@ -43,14 +43,14 @@ class MAGNUM_EXPORT Framebuffer {
/** /**
* For reading only. * For reading only.
* *
* @requires_gl30 Extension <tt>EXT_framebuffer_blit</tt> * @requires_gl30 Extension @extension{EXT,framebuffer_blit}
*/ */
Read = GL_READ_FRAMEBUFFER, Read = GL_READ_FRAMEBUFFER,
/** /**
* For drawing only. * For drawing only.
* *
* @requires_gl30 Extension <tt>EXT_framebuffer_blit</tt> * @requires_gl30 Extension @extension{EXT,framebuffer_blit}
*/ */
Draw = GL_DRAW_FRAMEBUFFER, Draw = GL_DRAW_FRAMEBUFFER,
ReadDraw = GL_FRAMEBUFFER /**< For both reading and drawing. */ ReadDraw = GL_FRAMEBUFFER /**< For both reading and drawing. */
@ -160,7 +160,7 @@ class MAGNUM_EXPORT Framebuffer {
* and drawing. If multiple attachments are specified in mapForDraw() * and drawing. If multiple attachments are specified in mapForDraw()
* / mapDefaultForDraw(), the data are written to each of them. * / mapDefaultForDraw(), the data are written to each of them.
* *
* @requires_gl30 Extension <tt>EXT_framebuffer_blit</tt> * @requires_gl30 Extension @extension{EXT,framebuffer_blit}
*/ */
inline static void blit(const Math::Vector2<GLint>& bottomLeft, const Math::Vector2<GLint>& topRight, const Math::Vector2<GLint>& destinationBottomLeft, const Math::Vector2<GLint>& destinationTopRight, BlitMask blitMask, AbstractTexture::Filter filter) { inline static void blit(const Math::Vector2<GLint>& bottomLeft, const Math::Vector2<GLint>& topRight, const Math::Vector2<GLint>& destinationBottomLeft, const Math::Vector2<GLint>& destinationTopRight, BlitMask blitMask, AbstractTexture::Filter filter) {
glBlitFramebuffer(bottomLeft.x(), bottomLeft.y(), topRight.x(), topRight.y(), destinationBottomLeft.x(), destinationBottomLeft.y(), destinationTopRight.x(), destinationTopRight.y(), static_cast<GLbitfield>(blitMask), static_cast<GLenum>(filter)); glBlitFramebuffer(bottomLeft.x(), bottomLeft.y(), topRight.x(), topRight.y(), destinationBottomLeft.x(), destinationBottomLeft.y(), destinationTopRight.x(), destinationTopRight.y(), static_cast<GLbitfield>(blitMask), static_cast<GLenum>(filter));
@ -180,7 +180,7 @@ class MAGNUM_EXPORT Framebuffer {
* AbstractTexture::Filter::NearestNeighbor filtering is used by * AbstractTexture::Filter::NearestNeighbor filtering is used by
* default. * default.
* *
* @requires_gl30 Extension <tt>EXT_framebuffer_blit</tt> * @requires_gl30 Extension @extension{EXT,framebuffer_blit}
*/ */
inline static void blit(const Math::Vector2<GLint>& bottomLeft, const Math::Vector2<GLint>& topRight, BlitMask blitMask) { inline static void blit(const Math::Vector2<GLint>& bottomLeft, const Math::Vector2<GLint>& topRight, BlitMask blitMask) {
glBlitFramebuffer(bottomLeft.x(), bottomLeft.y(), topRight.x(), topRight.y(), bottomLeft.x(), bottomLeft.y(), topRight.x(), topRight.y(), static_cast<GLbitfield>(blitMask), static_cast<GLenum>(AbstractTexture::Filter::NearestNeighbor)); glBlitFramebuffer(bottomLeft.x(), bottomLeft.y(), topRight.x(), topRight.y(), bottomLeft.x(), bottomLeft.y(), topRight.x(), topRight.y(), static_cast<GLbitfield>(blitMask), static_cast<GLenum>(AbstractTexture::Filter::NearestNeighbor));
@ -283,8 +283,6 @@ class MAGNUM_EXPORT Framebuffer {
* @param depthStencilAttachment Depth/stencil attachment * @param depthStencilAttachment Depth/stencil attachment
* @param texture 1D texture * @param texture 1D texture
* @param mipLevel Mip level * @param mipLevel Mip level
*
* @requires_gl30 Extension <tt>EXT_framebuffer_object</tt>
*/ */
inline void attachTexture1D(Target target, DepthStencilAttachment depthStencilAttachment, Texture1D* texture, GLint mipLevel) { inline void attachTexture1D(Target target, DepthStencilAttachment depthStencilAttachment, Texture1D* texture, GLint mipLevel) {
/** @todo Check for internal format compatibility */ /** @todo Check for internal format compatibility */
@ -299,8 +297,6 @@ class MAGNUM_EXPORT Framebuffer {
* @param colorAttachment Color attachment ID (number between 0 and 15) * @param colorAttachment Color attachment ID (number between 0 and 15)
* @param texture 1D texture * @param texture 1D texture
* @param mipLevel Mip level * @param mipLevel Mip level
*
* @requires_gl30 Extension <tt>EXT_framebuffer_object</tt>
*/ */
inline void attachTexture1D(Target target, unsigned int colorAttachment, Texture1D* texture, GLint mipLevel) { inline void attachTexture1D(Target target, unsigned int colorAttachment, Texture1D* texture, GLint mipLevel) {
/** @todo Check for internal format compatibility */ /** @todo Check for internal format compatibility */
@ -318,7 +314,6 @@ class MAGNUM_EXPORT Framebuffer {
* should be always 0. * should be always 0.
* *
* @see attachCubeMapTexture() * @see attachCubeMapTexture()
* @requires_gl30 Extension <tt>EXT_framebuffer_object</tt>
*/ */
inline void attachTexture2D(Target target, DepthStencilAttachment depthStencilAttachment, Texture2D* texture, GLint mipLevel) { inline void attachTexture2D(Target target, DepthStencilAttachment depthStencilAttachment, Texture2D* texture, GLint mipLevel) {
/** @todo Check for internal format compatibility */ /** @todo Check for internal format compatibility */
@ -336,7 +331,6 @@ class MAGNUM_EXPORT Framebuffer {
* should be always 0. * should be always 0.
* *
* @see attachCubeMapTexture() * @see attachCubeMapTexture()
* @requires_gl30 Extension <tt>EXT_framebuffer_object</tt>
*/ */
inline void attachTexture2D(Target target, unsigned int colorAttachment, Texture2D* texture, GLint mipLevel) { inline void attachTexture2D(Target target, unsigned int colorAttachment, Texture2D* texture, GLint mipLevel) {
/** @todo Check for internal format compatibility */ /** @todo Check for internal format compatibility */
@ -354,7 +348,6 @@ class MAGNUM_EXPORT Framebuffer {
* @param mipLevel Mip level * @param mipLevel Mip level
* *
* @see attachTexture2D() * @see attachTexture2D()
* @requires_gl30 Extension <tt>EXT_framebuffer_object</tt>
*/ */
inline void attachCubeMapTexture(Target target, DepthStencilAttachment depthStencilAttachment, CubeMapTexture* texture, CubeMapTexture::Coordinate coordinate, GLint mipLevel) { inline void attachCubeMapTexture(Target target, DepthStencilAttachment depthStencilAttachment, CubeMapTexture* texture, CubeMapTexture::Coordinate coordinate, GLint mipLevel) {
/** @todo Check for internal format compatibility */ /** @todo Check for internal format compatibility */
@ -371,7 +364,6 @@ class MAGNUM_EXPORT Framebuffer {
* @param mipLevel Mip level * @param mipLevel Mip level
* *
* @see attachTexture2D() * @see attachTexture2D()
* @requires_gl30 Extension <tt>EXT_framebuffer_object</tt>
*/ */
inline void attachCubeMapTexture(Target target, unsigned int colorAttachment, CubeMapTexture* texture, CubeMapTexture::Coordinate coordinate, GLint mipLevel) { inline void attachCubeMapTexture(Target target, unsigned int colorAttachment, CubeMapTexture* texture, CubeMapTexture::Coordinate coordinate, GLint mipLevel) {
/** @todo Check for internal format compatibility */ /** @todo Check for internal format compatibility */
@ -386,8 +378,6 @@ class MAGNUM_EXPORT Framebuffer {
* @param texture 3D texture * @param texture 3D texture
* @param mipLevel Mip level * @param mipLevel Mip level
* @param layer Layer of 2D image within a 3D texture * @param layer Layer of 2D image within a 3D texture
*
* @requires_gl30 Extension <tt>EXT_framebuffer_object</tt>
*/ */
inline void attachTexture3D(Target target, DepthStencilAttachment depthStencilAttachment, Texture3D* texture, GLint mipLevel, GLint layer) { inline void attachTexture3D(Target target, DepthStencilAttachment depthStencilAttachment, Texture3D* texture, GLint mipLevel, GLint layer) {
/** @todo Check for internal format compatibility */ /** @todo Check for internal format compatibility */
@ -403,8 +393,6 @@ class MAGNUM_EXPORT Framebuffer {
* @param texture 3D texture * @param texture 3D texture
* @param mipLevel Mip level * @param mipLevel Mip level
* @param layer Layer of 2D image within a 3D texture. * @param layer Layer of 2D image within a 3D texture.
*
* @requires_gl30 Extension <tt>EXT_framebuffer_object</tt>
*/ */
inline void attachTexture3D(Target target, unsigned int colorAttachment, Texture3D* texture, GLint mipLevel, GLint layer) { inline void attachTexture3D(Target target, unsigned int colorAttachment, Texture3D* texture, GLint mipLevel, GLint layer) {
/** @todo Check for internal format compatibility */ /** @todo Check for internal format compatibility */

4
src/Mesh.h

@ -36,8 +36,8 @@ class Buffer;
@todo Support for normalized values (e.g. for color as char[4] passed to @todo Support for normalized values (e.g. for color as char[4] passed to
shader as floating-point vec4) shader as floating-point vec4)
@requires_gl30 Extension <tt>APPLE_vertex_array_object</tt> @requires_gl30 Extension @extension{APPLE,vertex_array_object}
@requires_gl30 Extension <tt>EXT_gpu_shader4</tt> (for unsigned integer attributes) @requires_gl30 Extension @extension{EXT,gpu_shader4} (for unsigned integer attributes)
@todo Support for provoking vertex (OpenGL 3.2, ARB_provoking_vertex) @todo Support for provoking vertex (OpenGL 3.2, ARB_provoking_vertex)
@todo Support for packed unsigned integer types for attributes (OpenGL 3.3, ARB_vertex_type_2_10_10_10_rev) @todo Support for packed unsigned integer types for attributes (OpenGL 3.3, ARB_vertex_type_2_10_10_10_rev)

8
src/Query.h

@ -57,7 +57,7 @@ class MAGNUM_EXPORT AbstractQuery {
* Note that this function is blocking until the result is available. * Note that this function is blocking until the result is available.
* See resultAvailable(). * See resultAvailable().
* *
* @requires_gl33 Extension <tt>ARB_timer_query</tt> (64bit integers) * @requires_gl33 Extension @extension{ARB,timer_query} (64bit integers)
*/ */
template<class T> T result(); template<class T> T result();
@ -110,7 +110,7 @@ class MAGNUM_EXPORT Query: public AbstractQuery {
/** /**
* Elapsed time * Elapsed time
* *
* @requires_gl33 Extension <tt>ARB_timer_query</tt> * @requires_gl33 Extension @extension{ARB,timer_query}
*/ */
TimeElapsed = GL_TIME_ELAPSED TimeElapsed = GL_TIME_ELAPSED
}; };
@ -182,7 +182,7 @@ class MAGNUM_EXPORT SampleQuery: public AbstractQuery {
/** /**
* Whether any samples passed from fragment shader * Whether any samples passed from fragment shader
* *
* @requires_gl33 Extension <tt>ARB_occlusion_query2</tt> * @requires_gl33 Extension @extension{ARB,occlusion_query2}
*/ */
AnySamplesPassed = GL_ANY_SAMPLES_PASSED AnySamplesPassed = GL_ANY_SAMPLES_PASSED
}; };
@ -269,7 +269,7 @@ GLuint timeElapsed2 = q3.result<GLuint>()-tmp;
@endcode @endcode
Using this query results in fewer OpenGL calls when doing more measures. Using this query results in fewer OpenGL calls when doing more measures.
@requires_gl33 Extension <tt>ARB_timer_query</tt> @requires_gl33 Extension @extension{ARB,timer_query}
*/ */
class TimeQuery: public AbstractQuery { class TimeQuery: public AbstractQuery {
public: public:

2
src/Renderbuffer.h

@ -28,7 +28,7 @@ namespace Magnum {
Attachable to Framebuffer as render target. Attachable to Framebuffer as render target.
@requires_gl30 Extension <tt>EXT_framebuffer_object</tt> @requires_gl30 Extension @extension{EXT,framebuffer_object}
*/ */
class Renderbuffer { class Renderbuffer {
Renderbuffer(const Renderbuffer& other) = delete; Renderbuffer(const Renderbuffer& other) = delete;

6
src/Shader.h

@ -45,7 +45,7 @@ class MAGNUM_EXPORT Shader {
/** /**
* Geometry shader * Geometry shader
* *
* @requires_gl32 Extension <tt>ARB_geometry_shader4</tt> * @requires_gl32 Extension @extension{ARB,geometry_shader4}
*/ */
Geometry = GL_GEOMETRY_SHADER, Geometry = GL_GEOMETRY_SHADER,
@ -54,14 +54,14 @@ class MAGNUM_EXPORT Shader {
/** /**
* Tesselation control shader * Tesselation control shader
* *
* @requires_gl40 Extension <tt>ARB_tesselation_shader</tt> * @requires_gl40 Extension @extension{ARB,tessellation_shader}
*/ */
TesselationControl = GL_TESS_CONTROL_SHADER, TesselationControl = GL_TESS_CONTROL_SHADER,
/** /**
* Tesselation evaluation shader * Tesselation evaluation shader
* *
* @requires_gl40 Extension <tt>ARB_tesselation_shader</tt> * @requires_gl40 Extension @extension{ARB,tessellation_shader}
*/ */
TesselationEvaluation = GL_TESS_EVALUATION_SHADER TesselationEvaluation = GL_TESS_EVALUATION_SHADER
}; };

8
src/Texture.h

@ -50,7 +50,7 @@ don't support mipmapping and repeating wrapping modes, see @ref Texture::Filter
"Filter", @ref Texture::Mipmap "Mipmap" and generateMipmap() documentation "Filter", @ref Texture::Mipmap "Mipmap" and generateMipmap() documentation
for more information. for more information.
@requires_gl31 Extension <tt>ARB_texture_rectangle</tt> (rectangle textures) @requires_gl31 Extension @extension{ARB,texture_rectangle} (rectangle textures)
@see CubeMapTexture, CubeMapTextureArray @see CubeMapTexture, CubeMapTextureArray
*/ */
@ -72,21 +72,21 @@ template<size_t textureDimensions> class Texture: public AbstractTexture {
/** /**
* One-dimensional texture array (i.e. two dimensions in total) * One-dimensional texture array (i.e. two dimensions in total)
* *
* @requires_gl30 Extension <tt>EXT_texture_array</tt> * @requires_gl30 Extension @extension{EXT,texture_array}
*/ */
Texture1DArray = GL_TEXTURE_1D_ARRAY, Texture1DArray = GL_TEXTURE_1D_ARRAY,
/** /**
* Two-dimensional texture array (i.e. three dimensions in total) * Two-dimensional texture array (i.e. three dimensions in total)
* *
* @requires_gl30 Extension <tt>EXT_texture_array</tt> * @requires_gl30 Extension @extension{EXT,texture_array}
*/ */
Texture2DArray = GL_TEXTURE_2D_ARRAY, Texture2DArray = GL_TEXTURE_2D_ARRAY,
/** /**
* Rectangle texture (i.e. two dimensions) * Rectangle texture (i.e. two dimensions)
* *
* @requires_gl31 Extension <tt>ARB_texture_rectangle</tt> * @requires_gl31 Extension @extension{ARB,texture_rectangle}
*/ */
Rectangle = GL_TEXTURE_RECTANGLE Rectangle = GL_TEXTURE_RECTANGLE
}; };

Loading…
Cancel
Save