diff --git a/src/Renderbuffer.h b/src/Renderbuffer.h index 2c78954fc..3a9d14145 100644 --- a/src/Renderbuffer.h +++ b/src/Renderbuffer.h @@ -68,7 +68,7 @@ class Renderbuffer { * * Like AbstractTexture::Format without * AbstractTexture::Format::RGB9Intensity5, three-component and - * compressed formats. + * compressed formats, but with added separate stencil index. */ enum class Format: GLenum { #ifndef MAGNUM_TARGET_GLES @@ -93,21 +93,64 @@ class Renderbuffer { #endif #ifndef MAGNUM_TARGET_GLES - Depth = GL_DEPTH_COMPONENT, DepthStencil = GL_DEPTH_STENCIL, + /** + * Depth component, at least 16bit. + * + * Prefer to use the exactly specified version of this format, in + * this case e.g. `Format::%Depth16`. + * @requires_gl Use exactly specified format Format::%Depth16 instead. + */ + Depth = GL_DEPTH_COMPONENT, + + DepthStencil = GL_DEPTH_STENCIL, #endif - Depth16 = GL_DEPTH_COMPONENT16 + Depth16 = GL_DEPTH_COMPONENT16, #ifndef MAGNUM_TARGET_GLES - , - Depth24 = GL_DEPTH_COMPONENT24, DepthFloat = GL_DEPTH_COMPONENT32F, + + /** + * Stencil index (unspecified size). + * + * Prefer to use the exactly specified version of this format, in + * this case e.g. `Format::%Stencil8`. + * @requires_gl Use exactly specified format Format::%Stencil8 instead. + */ + Stencil = GL_STENCIL_INDEX, + + /** + * 1-bit stencil index. + * + * @requires_gl Use Format::%Stencil8 instead. + */ + Stencil1 = GL_STENCIL_INDEX1, + + /** + * 4-bit stencil index. + * + * @requires_gl Use Format::%Stencil8 instead. + */ + Stencil4 = GL_STENCIL_INDEX4, + #endif + + /** 8-bit stencil index. */ + Stencil8 = GL_STENCIL_INDEX8 + + #ifndef MAGNUM_TARGET_GLES + , + + /** + * 16-bit stencil index. + * + * @requires_gl Use Format::%Stencil8 instead. + */ + Stencil16 = GL_STENCIL_INDEX1, + Depth24Stencil8 = GL_DEPTH24_STENCIL8, DepthFloatStencil8 = GL_DEPTH32F_STENCIL8 #endif - - /** @todo GL_STENCIL_INDEX1 - GL_STENCIL_INDEX16 (renderbuffer only) */ }; /** @copydoc AbstractTexture::InternalFormat */