diff --git a/src/Magnum/CubeMapTextureArray.h b/src/Magnum/CubeMapTextureArray.h index 4cc079709..0461818e5 100644 --- a/src/Magnum/CubeMapTextureArray.h +++ b/src/Magnum/CubeMapTextureArray.h @@ -89,13 +89,36 @@ class CubeMapTextureArray: public AbstractTexture { */ explicit CubeMapTextureArray(): AbstractTexture(GL_TEXTURE_CUBE_MAP_ARRAY) {} - /** @copydoc Texture::setBaseLevel() */ + /** + * @brief Set base mip level + * @return Reference to self (for method chaining) + * + * Taken into account when generating mipmap using @ref generateMipmap() + * and when considering texture completeness when using mipmap + * filtering. Initial value is `0`. + * @see @ref setMaxLevel(), @ref setMinificationFilter(), + * @fn_gl{ActiveTexture}, @fn_gl{BindTexture} and @fn_gl{TexParameter} + * or @fn_gl_extension{TextureParameter,EXT,direct_state_access} + * with @def_gl{TEXTURE_BASE_LEVEL} + */ CubeMapTextureArray& setBaseLevel(Int level) { AbstractTexture::setBaseLevel(level); return *this; } - /** @copydoc Texture::setMaxLevel() */ + /** + * @brief Set max mip level + * @return Reference to self (for method chaining) + * + * Taken into account when generating mipmap using @ref generateMipmap() + * and when considering texture completeness when using mipmap + * filtering. Initial value is `1000`, which is clamped to count of + * levels specified when using @ref setStorage(). + * @see @ref setBaseLevel(), @ref setMinificationFilter(), + * @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} + */ CubeMapTextureArray& setMaxLevel(Int level) { AbstractTexture::setMaxLevel(level); return *this; @@ -119,19 +142,19 @@ class CubeMapTextureArray: public AbstractTexture { return *this; } - /** @copydoc Texture::setBorderColor() */ + /** @copydoc RectangleTexture::setBorderColor(const Color4&) */ CubeMapTextureArray& setBorderColor(const Color4& color) { AbstractTexture::setBorderColor(color); return *this; } - /** @copydoc Texture::setBorderColor(const Vector4ui&) */ + /** @copydoc RectangleTexture::setBorderColor(const Vector4ui&) */ CubeMapTextureArray& setBorderColor(const Vector4ui& color) { AbstractTexture::setBorderColor(color); return *this; } - /** @copydoc Texture::setBorderColor(const Vector4i&) */ + /** @copydoc RectangleTexture::setBorderColor(const Vector4i&) */ CubeMapTextureArray& setBorderColor(const Vector4i& color) { AbstractTexture::setBorderColor(color); return *this; diff --git a/src/Magnum/RectangleTexture.h b/src/Magnum/RectangleTexture.h index 91a3fca21..1e4b5ba35 100644 --- a/src/Magnum/RectangleTexture.h +++ b/src/Magnum/RectangleTexture.h @@ -137,25 +137,48 @@ class RectangleTexture: public AbstractTexture { return *this; } - /** @copydoc Texture::setBorderColor() */ + /** + * @brief Set border color + * @return Reference to self (for method chaining) + * + * Border color when wrapping is set to @ref Sampler::Wrapping::ClampToBorder. + * If @extension{EXT,direct_state_access} is not available, the texture + * is bound to some texture unit before the operation. Initial value is + * `{0.0f, 0.0f, 0.0f, 0.0f}`. + * @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} + */ RectangleTexture& setBorderColor(const Color4& color) { AbstractTexture::setBorderColor(color); return *this; } - #ifndef MAGNUM_TARGET_GLES - /** @copydoc Texture::setBorderColor(const Vector4ui&) */ + /** + * @brief Set border color for integer texture + * @return Reference to self (for method chaining) + * + * Border color for integer textures when wrapping is set to + * @ref Sampler::Wrapping::ClampToBorder. If @extension{EXT,direct_state_access} + * is not available, the texture is bound to some texture unit before + * the operation. Initial value is `{0, 0, 0, 0}`. + * @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} + */ RectangleTexture& setBorderColor(const Vector4ui& color) { AbstractTexture::setBorderColor(color); return *this; } - /** @copydoc Texture::setBorderColor(const Vector4i&) */ + /** @overload + * @requires_gl30 %Extension @extension{EXT,texture_integer} + */ RectangleTexture& setBorderColor(const Vector4i& color) { AbstractTexture::setBorderColor(color); return *this; } - #endif /** @copydoc Texture::setMaxAnisotropy() */ RectangleTexture& setMaxAnisotropy(Float anisotropy) { @@ -190,7 +213,6 @@ class RectangleTexture: public AbstractTexture { return *this; } - #ifndef MAGNUM_TARGET_GLES /** * @brief Read texture to image * @param image %Image where to put the data @@ -206,7 +228,6 @@ class RectangleTexture: public AbstractTexture { * and @extension{ARB,robustness} are available, the DSA version is * used, because it is better for performance and there isn't any * function combining both features. - * @requires_gl %Texture image queries are not available in OpenGL ES. * @see @fn_gl{ActiveTexture}, @fn_gl{BindTexture} and * @fn_gl{GetTexLevelParameter} or @fn_gl_extension{GetTextureLevelParameter,EXT,direct_state_access} * with @def_gl{TEXTURE_WIDTH} and @def_gl{TEXTURE_HEIGHT}, then @@ -223,12 +244,10 @@ class RectangleTexture: public AbstractTexture { * @param usage %Buffer usage * * See @ref image(Image2D&) for more information. - * @requires_gl %Texture image queries are not available in OpenGL ES. */ void image(BufferImage2D& image, BufferUsage usage) { AbstractTexture::image<2>(_target, 0, image, usage); } - #endif /** * @brief Set image data @@ -250,7 +269,6 @@ class RectangleTexture: public AbstractTexture { return *this; } - #ifndef MAGNUM_TARGET_GLES2 /** @overload */ RectangleTexture& setImage(TextureFormat internalFormat, BufferImage2D& image) { DataHelper<2>::setImage(*this, _target, 0, internalFormat, image); @@ -261,7 +279,6 @@ class RectangleTexture: public AbstractTexture { RectangleTexture& setImage(TextureFormat internalFormat, BufferImage2D&& image) { return setImage(internalFormat, image); } - #endif /** * @brief Set image subdata @@ -281,7 +298,6 @@ class RectangleTexture: public AbstractTexture { return *this; } - #ifndef MAGNUM_TARGET_GLES2 /** @overload */ RectangleTexture& setSubImage(const Vector2i& offset, BufferImage2D& image) { DataHelper<2>::setSubImage(*this, _target, 0, offset, image); @@ -292,7 +308,6 @@ class RectangleTexture: public AbstractTexture { RectangleTexture& setSubImage(const Vector2i& offset, BufferImage2D&& image) { return setSubImage(offset, image); } - #endif /** * @brief Invalidate texture image diff --git a/src/Magnum/Texture.h b/src/Magnum/Texture.h index 4b6694fdf..5c387d941 100644 --- a/src/Magnum/Texture.h +++ b/src/Magnum/Texture.h @@ -327,7 +327,11 @@ template class Texture: public AbstractTexture { return *this; } - /** @overload */ + /** @overload + * @requires_gl30 %Extension @extension{EXT,texture_integer} + * @requires_gl Border is available only for float textures in OpenGL + * ES. + */ Texture& setBorderColor(const Vector4i& color) { AbstractTexture::setBorderColor(color); return *this; diff --git a/src/Magnum/TextureArray.h b/src/Magnum/TextureArray.h index bdf197a88..4327ff006 100644 --- a/src/Magnum/TextureArray.h +++ b/src/Magnum/TextureArray.h @@ -137,7 +137,7 @@ template class TextureArray: public AbstractTexture { return *this; } - /** @copydoc Texture::setBorderColor() */ + /** @copydoc Texture::setBorderColor(const Color4&) */ TextureArray& setBorderColor(const Color4& color) { AbstractTexture::setBorderColor(color); return *this;