namespace
GLOpenGL wrapping layer.
C++11 wrappers around OpenGL objects with state tracking and transparent extension support.
All of this library except GL::MAGNUM_WITH_GL
is enabled when building Magnum. To use this library with CMake, request the GL
component of the Magnum
package and link to the Magnum::GL
target:
find_package(Magnum REQUIRED GL) # ... target_link_libraries(your-app PRIVATE Magnum::GL)
See Downloading and building, Usage with CMake and OpenGL for more information.
Namespaces
- namespace Extensions
- Compile-time information about OpenGL extensions.
Classes
- class AbstractFramebuffer
- Base for default and named framebuffers.
- class AbstractObject
- Base for all OpenGL objects.
- class AbstractQuery
- Base class for queries.
- class AbstractShaderProgram
- Base for shader program implementations.
- class AbstractTexture
- Base for textures.
-
template<UnsignedInt location, class T>class Attribute
- Base class for specifying shader attributes.
- class Buffer
- Buffer.
-
template<UnsignedInt dimensions>class BufferImage
- Buffer image.
- class BufferTexture
- Buffer texture.
-
template<UnsignedInt dimensions>class CompressedBufferImage
- Compressed buffer image.
- class Context
- Magnum OpenGL context.
- class CubeMapTexture
- Cube map texture.
- class CubeMapTextureArray
- Cube map texture array.
- class DebugGroup
- Debug group.
- class DebugMessage
- Debug message.
- class DebugOutput
- Debug output.
- class DefaultFramebuffer
- Default framebuffer.
- class DynamicAttribute
- Base class for dynamic vertex attribute location and type.
- class Extension
- Run-time information about OpenGL extension.
- class Framebuffer
- Framebuffer.
- class Mesh
- Mesh.
- class MeshView
- Mesh view.
-
template<UnsignedInt dimensions>class MultisampleTexture
- Mulitsample texture.
- class OpenGLTester
- Base class for OpenGL tests and benchmarks.
- class PipelineStatisticsQuery new in 2020.06
- Pipeline statistics query.
- class PrimitiveQuery
- Query for primitives.
- class RectangleTexture
- Rectangle texture.
- class Renderbuffer
- Renderbuffer.
- class Renderer
- Global renderer configuration.
- class SampleQuery
- Query for samples.
- class Sampler
- Texture sampler.
- class Shader
- Shader.
-
template<UnsignedInt dimensions>class Texture
- Texture.
-
template<UnsignedInt dimensions>class TextureArray
- Texture array.
- class TimeQuery
- Query for elapsed time.
- class TransformFeedback
- Transform feedback.
Enums
- enum class FramebufferClear: GLbitfield { Color = GL_COLOR_BUFFER_BIT, Depth = GL_DEPTH_BUFFER_BIT, Stencil = GL_STENCIL_BUFFER_BIT }
- Mask for framebuffer clearing.
- enum class FramebufferBlit: GLbitfield { Color = GL_COLOR_BUFFER_BIT, Depth = GL_DEPTH_BUFFER_BIT, Stencil = GL_STENCIL_BUFFER_BIT }
- Mask for framebuffer blitting.
- enum class FramebufferBlitFilter: GLenum { Nearest = GL_NEAREST, Linear = GL_LINEAR }
- Framebuffer blit filtering.
- enum class FramebufferTarget: GLenum { Read = GL_READ_FRAMEBUFFER, Draw = GL_DRAW_FRAMEBUFFER }
- Framebuffer target.
- enum class ObjectFlag: UnsignedByte { Created = 1 << 0, DeleteOnDestruction = 1 << 1 }
- Object wrapping flag.
- enum class BufferUsage: GLenum { StreamDraw = GL_STREAM_DRAW, StreamRead = GL_STREAM_READ, StreamCopy = GL_STREAM_COPY, StaticDraw = GL_STATIC_DRAW, StaticRead = GL_STATIC_READ, StaticCopy = GL_STATIC_COPY, DynamicDraw = GL_DYNAMIC_DRAW, DynamicRead = GL_DYNAMIC_READ, DynamicCopy = GL_DYNAMIC_COPY }
- Buffer usage.
- enum class BufferTextureFormat: GLenum { R8 = GL_R8, RG8 = GL_RG8, RGBA8 = GL_RGBA8, R16 = GL_R16, RG16 = GL_RG16, RGBA16 = GL_RGBA16, R8UI = GL_R8UI, RG8UI = GL_RG8UI, RGBA8UI = GL_RGBA8UI, R8I = GL_R8I, RG8I = GL_RG8I, RGBA8I = GL_RGBA8I, R16UI = GL_R16UI, RG16UI = GL_RG16UI, RGBA16UI = GL_RGBA16UI, R16I = GL_R16I, RG16I = GL_RG16I, RGBA16I = GL_RGBA16I, R32UI = GL_R32UI, RG32UI = GL_RG32UI, RGB32UI = GL_RGB32UI, RGBA32UI = GL_RGBA32UI, R32I = GL_R32I, RG32I = GL_RG32I, RGB32I = GL_RGB32I, RGBA32I = GL_RGBA32I, R16F = GL_R16F, RG16F = GL_RG16F, RGBA16F = GL_RGBA16F, R32F = GL_R32F, RG32F = GL_RG32F, RGB32F = GL_RGB32F, RGBA32F = GL_RGBA32F }
- Internal buffer texture format.
- enum class CubeMapCoordinate: GLenum { PositiveX = GL_TEXTURE_CUBE_MAP_POSITIVE_X, NegativeX = GL_TEXTURE_CUBE_MAP_NEGATIVE_X, PositiveY = GL_TEXTURE_CUBE_MAP_POSITIVE_Y, NegativeY = GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, PositiveZ = GL_TEXTURE_CUBE_MAP_POSITIVE_Z, NegativeZ = GL_TEXTURE_CUBE_MAP_NEGATIVE_Z }
- Cube map coordinate.
- enum class ImageAccess: GLenum { ReadOnly = GL_READ_ONLY, WriteOnly = GL_WRITE_ONLY, ReadWrite = GL_READ_WRITE }
- Image access.
- enum class ImageFormat: GLenum { R8 = GL_R8, RG8 = GL_RG8, RGBA8 = GL_RGBA8, R8Snorm = GL_R8_SNORM, RG8Snorm = GL_RG8_SNORM, RGBA8Snorm = GL_RGBA8_SNORM, R16 = GL_R16, RG16 = GL_RG16, RGBA16 = GL_RGBA16, R16Snorm = GL_R16_SNORM, RG16Snorm = GL_RG16_SNORM, RGBA16Snorm = GL_RGBA16_SNORM, R8UI = GL_R8UI, RG8UI = GL_RG8UI, RGBA8UI = GL_RGBA8UI, R8I = GL_R8I, RG8I = GL_RG8I, RGBA8I = GL_RGBA8I, R16UI = GL_R16UI, RG16UI = GL_RG16UI, RGBA16UI = GL_RGBA16UI, R16I = GL_R16I, RG16I = GL_RG16I, RGBA16I = GL_RGBA16I, R32UI = GL_R32UI, RG32UI = GL_RG32UI, RGBA32UI = GL_RGBA32UI, R32I = GL_R32I, RG32I = GL_RG32I, RGBA32I = GL_RGBA32I, R16F = GL_R16F, RG16F = GL_RG16F, RGBA16F = GL_RGBA16F, R32F = GL_R32F, RG32F = GL_RG32F, RGBA32F = GL_RGBA32F, R11FG11FB10F = GL_R11F_G11F_B10F, RGB10A2 = GL_RGB10_A2, RGB10A2UI = GL_RGB10_A2UI }
- Image format.
- enum class MeshPrimitive: GLenum { Points = GL_POINTS, Lines = GL_LINES, LineLoop = GL_LINE_LOOP, LineStrip = GL_LINE_STRIP, LinesAdjacency = GL_LINES_ADJACENCY, LineStripAdjacency = GL_LINE_STRIP_ADJACENCY, Triangles = GL_TRIANGLES, TriangleStrip = GL_TRIANGLE_STRIP, TriangleFan = GL_TRIANGLE_FAN, TrianglesAdjacency = GL_TRIANGLES_ADJACENCY, TriangleStripAdjacency = GL_TRIANGLE_STRIP_ADJACENCY, Patches = GL_PATCHES }
- Mesh primitive type.
- enum class MeshIndexType: GLenum { UnsignedByte = GL_UNSIGNED_BYTE, UnsignedShort = GL_UNSIGNED_SHORT, UnsignedInt = GL_UNSIGNED_INT }
- Mesh index type.
- enum class MultisampleTextureSampleLocations: GLboolean { NotFixed = GL_FALSE, Fixed = GL_TRUE }
- Multisample texture sample locations.
- enum class PixelFormat: GLenum { Red = GL_RED, Green = GL_GREEN, Blue = GL_BLUE, Luminance = GL_LUMINANCE, RG = GL_RG, LuminanceAlpha = GL_LUMINANCE_ALPHA, RGB = GL_RGB, RGBA = GL_RGBA, BGR = GL_BGR, BGRA = GL_BGRA, SRGB = GL_SRGB_EXT, SRGBAlpha = GL_SRGB_ALPHA_EXT, RedInteger = GL_RED_INTEGER, GreenInteger = GL_GREEN_INTEGER, BlueInteger = GL_BLUE_INTEGER, RGInteger = GL_RG_INTEGER, RGBInteger = GL_RGB_INTEGER, RGBAInteger = GL_RGBA_INTEGER, BGRInteger = GL_BGR_INTEGER, BGRAInteger = GL_BGRA_INTEGER, DepthComponent = GL_DEPTH_COMPONENT, StencilIndex = GL_STENCIL_INDEX, DepthStencil = GL_DEPTH_STENCIL }
- Format of pixel data.
- enum class PixelType: GLenum { UnsignedByte = GL_UNSIGNED_BYTE, Byte = GL_BYTE, UnsignedShort = GL_UNSIGNED_SHORT, Short = GL_SHORT, UnsignedInt = GL_UNSIGNED_INT, Int = GL_INT, Half = GL_HALF_FLOAT new in 2020.06, HalfFloat deprecated in 2020.06, Float = GL_FLOAT, UnsignedByte332 = GL_UNSIGNED_BYTE_3_3_2, UnsignedByte233Rev = GL_UNSIGNED_BYTE_2_3_3_REV, UnsignedShort565 = GL_UNSIGNED_SHORT_5_6_5, UnsignedShort565Rev = GL_UNSIGNED_SHORT_5_6_5_REV, UnsignedShort4444 = GL_UNSIGNED_SHORT_4_4_4_4, UnsignedShort4444Rev = GL_UNSIGNED_SHORT_4_4_4_4_REV, UnsignedShort5551 = GL_UNSIGNED_SHORT_5_5_5_1, UnsignedShort1555Rev = GL_UNSIGNED_SHORT_1_5_5_5_REV, UnsignedInt8888 = GL_UNSIGNED_INT_8_8_8_8, UnsignedInt8888Rev = GL_UNSIGNED_INT_8_8_8_8_REV, UnsignedInt1010102 = GL_UNSIGNED_INT_10_10_10_2, UnsignedInt2101010Rev = GL_UNSIGNED_INT_2_10_10_10_REV, UnsignedInt10F11F11FRev = GL_UNSIGNED_INT_10F_11F_11F_REV, UnsignedInt5999Rev = GL_UNSIGNED_INT_5_9_9_9_REV, UnsignedInt248 = GL_UNSIGNED_INT_24_8, Float32UnsignedInt248Rev = GL_FLOAT_32_UNSIGNED_INT_24_8_REV }
- Type of pixel data.
- enum class CompressedPixelFormat: GLenum { Red = GL_COMPRESSED_RED, RG = GL_COMPRESSED_RG, RGB = GL_COMPRESSED_RGB, RGBA = GL_COMPRESSED_RGBA, RedRgtc1 = GL_COMPRESSED_RED_RGTC1, RGRgtc2 = GL_COMPRESSED_RG_RGTC2, SignedRedRgtc1 = GL_COMPRESSED_SIGNED_RED_RGTC1, SignedRGRgtc2 = GL_COMPRESSED_SIGNED_RG_RGTC2, RGBBptcUnsignedFloat = GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT, RGBBptcSignedFloat = GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT, RGBABptcUnorm = GL_COMPRESSED_RGBA_BPTC_UNORM, SRGBAlphaBptcUnorm = GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM, RGB8Etc2 = GL_COMPRESSED_RGB8_ETC2, SRGB8Etc2 = GL_COMPRESSED_SRGB8_ETC2, RGB8PunchthroughAlpha1Etc2 = GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2, SRGB8PunchthroughAlpha1Etc2 = GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2, RGBA8Etc2Eac = GL_COMPRESSED_RGBA8_ETC2_EAC, SRGB8Alpha8Etc2Eac = GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC, R11Eac = GL_COMPRESSED_R11_EAC, SignedR11Eac = GL_COMPRESSED_SIGNED_R11_EAC, RG11Eac = GL_COMPRESSED_RG11_EAC, SignedRG11Eac = GL_COMPRESSED_SIGNED_RG11_EAC, RGBS3tcDxt1 = GL_COMPRESSED_RGB_S3TC_DXT1_EXT, SRGBS3tcDxt1 = GL_COMPRESSED_SRGB_S3TC_DXT1_EXT new in 2019.10, RGBAS3tcDxt1 = GL_COMPRESSED_RGBA_S3TC_DXT1_EXT, SRGBAlphaS3tcDxt1 = GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT new in 2019.10, RGBAS3tcDxt3 = GL_COMPRESSED_RGBA_S3TC_DXT3_EXT, SRGBAlphaS3tcDxt3 = GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT new in 2019.10, RGBAS3tcDxt5 = GL_COMPRESSED_RGBA_S3TC_DXT5_EXT, SRGBAlphaS3tcDxt5 = GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT new in 2019.10, RGBAAstc4x4 = GL_COMPRESSED_RGBA_ASTC_4x4_KHR, SRGB8Alpha8Astc4x4 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR, RGBAAstc5x4 = GL_COMPRESSED_RGBA_ASTC_5x4_KHR, SRGB8Alpha8Astc5x4 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR, RGBAAstc5x5 = GL_COMPRESSED_RGBA_ASTC_5x5_KHR, SRGB8Alpha8Astc5x5 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR, RGBAAstc6x5 = GL_COMPRESSED_RGBA_ASTC_6x5_KHR, SRGB8Alpha8Astc6x5 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR, RGBAAstc6x6 = GL_COMPRESSED_RGBA_ASTC_6x6_KHR, SRGB8Alpha8Astc6x6 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR, RGBAAstc8x5 = GL_COMPRESSED_RGBA_ASTC_8x5_KHR, SRGB8Alpha8Astc8x5 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR, RGBAAstc8x6 = GL_COMPRESSED_RGBA_ASTC_8x6_KHR, SRGB8Alpha8Astc8x6 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR, RGBAAstc8x8 = GL_COMPRESSED_RGBA_ASTC_8x8_KHR, SRGB8Alpha8Astc8x8 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR, RGBAAstc10x5 = GL_COMPRESSED_RGBA_ASTC_10x5_KHR, SRGB8Alpha8Astc10x5 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR, RGBAAstc10x6 = GL_COMPRESSED_RGBA_ASTC_10x6_KHR, SRGB8Alpha8Astc10x6 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR, RGBAAstc10x8 = GL_COMPRESSED_RGBA_ASTC_10x8_KHR, SRGB8Alpha8Astc10x8 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR, RGBAAstc10x10 = GL_COMPRESSED_RGBA_ASTC_10x10_KHR, SRGB8Alpha8Astc10x10 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR, RGBAAstc12x10 = GL_COMPRESSED_RGBA_ASTC_12x10_KHR, SRGB8Alpha8Astc12x10 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR, RGBAAstc12x12 = GL_COMPRESSED_RGBA_ASTC_12x12_KHR, SRGB8Alpha8Astc12x12 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR, RGBAAstc3x3x3 = GL_COMPRESSED_RGBA_ASTC_3x3x3_OES new in 2019.10, SRGB8Alpha8Astc3x3x3 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_3x3x3_OES new in 2019.10, RGBAAstc4x3x3 = GL_COMPRESSED_RGBA_ASTC_4x3x3_OES new in 2019.10, SRGB8Alpha8Astc4x3x3 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x3x3_OES new in 2019.10, RGBAAstc4x4x3 = GL_COMPRESSED_RGBA_ASTC_4x4x3_OES new in 2019.10, SRGB8Alpha8Astc4x4x3 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x3_OES new in 2019.10, RGBAAstc4x4x4 = GL_COMPRESSED_RGBA_ASTC_4x4x4_OES new in 2019.10, SRGB8Alpha8Astc4x4x4 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x4_OES new in 2019.10, RGBAAstc5x4x4 = GL_COMPRESSED_RGBA_ASTC_5x4x4_OES new in 2019.10, SRGB8Alpha8Astc5x4x4 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4x4_OES new in 2019.10, RGBAAstc5x5x4 = GL_COMPRESSED_RGBA_ASTC_5x5x4_OES new in 2019.10, SRGB8Alpha8Astc5x5x4 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x4_OES new in 2019.10, RGBAAstc5x5x5 = GL_COMPRESSED_RGBA_ASTC_5x5x5_OES new in 2019.10, SRGB8Alpha8Astc5x5x5 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x5_OES new in 2019.10, RGBAAstc6x5x5 = GL_COMPRESSED_RGBA_ASTC_6x5x5_OES new in 2019.10, SRGB8Alpha8Astc6x5x5 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5x5_OES new in 2019.10, RGBAAstc6x6x5 = GL_COMPRESSED_RGBA_ASTC_6x6x5_OES new in 2019.10, SRGB8Alpha8Astc6x6x5 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x5_OES new in 2019.10, RGBAAstc6x6x6 = GL_COMPRESSED_RGBA_ASTC_6x6x6_OES new in 2019.10, SRGB8Alpha8Astc6x6x6 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x6_OES new in 2019.10, RGBPvrtc2bppV1 = GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG new in 2019.10, SRGBPvrtc2bppV1 = GL_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT new in 2019.10, RGBAPvrtc2bppV1 = GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG new in 2019.10, SRGBAlphaPvrtc2bppV1 = GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT new in 2019.10, RGBPvrtc4bppV1 = GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG new in 2019.10, SRGBPvrtc4bppV1 = GL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT new in 2019.10, RGBAPvrtc4bppV1 = GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG new in 2019.10, SRGBAlphaPvrtc4bppV1 = GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT new in 2019.10 }
- Format of compressed pixel data.
- enum class RenderbufferFormat: GLenum { Red = GL_RED, R8 = GL_R8, RG = GL_RG, RG8 = GL_RG8, RGBA = GL_RGBA, RGBA8 = GL_RGBA8, R16 = GL_R16, RG16 = GL_RG16, RGB16 = GL_RGB16, RGBA16 = GL_RGBA16, R8UI = GL_R8UI, RG8UI = GL_RG8UI, RGBA8UI = GL_RGBA8UI, R8I = GL_R8I, RG8I = GL_RG8I, RGBA8I = GL_RGBA8I, R16UI = GL_R16UI, RG16UI = GL_RG16UI, RGBA16UI = GL_RGBA16UI, R16I = GL_R16I, RG16I = GL_RG16I, RGBA16I = GL_RGBA16I, R32UI = GL_R32UI, RG32UI = GL_RG32UI, RGBA32UI = GL_RGBA32UI, R32I = GL_R32I, RG32I = GL_RG32I, RGBA32I = GL_RGBA32I, R16F = GL_R16F, RG16F = GL_RG16F, RGBA16F = GL_RGBA16F, R32F = GL_R32F, RG32F = GL_RG32F, RGBA32F = GL_RGBA32F, RGB565 = GL_RGB565, RGBA4 = GL_RGBA4, RGB5A1 = GL_RGB5_A1, RGB10A2 = GL_RGB10_A2, RGB10A2UI = GL_RGB10_A2UI, SRGB8Alpha8 = GL_SRGB8_ALPHA8, R11FG11FB10F = GL_R11F_G11F_B10F, DepthComponent = GL_DEPTH_COMPONENT, DepthComponent16 = GL_DEPTH_COMPONENT16, DepthComponent24 = GL_DEPTH_COMPONENT24, DepthComponent32 = GL_DEPTH_COMPONENT32, DepthComponent32F = GL_DEPTH_COMPONENT32F, StencilIndex = GL_STENCIL_INDEX, StencilIndex1 = GL_STENCIL_INDEX1, StencilIndex4 = GL_STENCIL_INDEX4, StencilIndex8 = GL_STENCIL_INDEX8, StencilIndex16 = GL_STENCIL_INDEX16, DepthStencil = GL_DEPTH_STENCIL, Depth24Stencil8 = GL_DEPTH24_STENCIL8, Depth32FStencil8 = GL_DEPTH32F_STENCIL8 }
- Internal renderbuffer format.
- enum class SamplerFilter: GLint { Nearest = GL_NEAREST, Linear = GL_LINEAR }
- Texture sampler filtering.
- enum class SamplerMipmap: GLint { Base = GL_NEAREST & ~GL_NEAREST, Nearest = GL_NEAREST_MIPMAP_NEAREST & ~GL_NEAREST, Linear = GL_NEAREST_MIPMAP_LINEAR & ~GL_NEAREST }
- Texture sampler mip level selection.
- enum class SamplerWrapping: GLint { Repeat = GL_REPEAT, MirroredRepeat = GL_MIRRORED_REPEAT, ClampToEdge = GL_CLAMP_TO_EDGE, ClampToBorder = GL_CLAMP_TO_BORDER, MirrorClampToEdge = GL_MIRROR_CLAMP_TO_EDGE }
- Texture sampler wrapping.
- enum class SamplerCompareMode: GLenum { None = GL_NONE, CompareRefToTexture = GL_COMPARE_REF_TO_TEXTURE }
- Depth texture comparison mode.
- enum class SamplerCompareFunction: GLenum { Never = GL_NEVER, Always = GL_ALWAYS, Less = GL_LESS, LessOrEqual = GL_LEQUAL, Equal = GL_EQUAL, NotEqual = GL_NOTEQUAL, GreaterOrEqual = GL_GEQUAL, Greater = GL_GREATER }
- Texture sampler depth comparison function.
- enum class SamplerDepthStencilMode: GLenum { DepthComponent = GL_DEPTH_COMPONENT, StencilIndex = GL_STENCIL_INDEX }
- Texture sampler depth/stencil mode.
- enum class TextureFormat: GLenum { Red = GL_RED, R8 = GL_R8, RG = GL_RG, RG8 = GL_RG8, RGB = GL_RGB, RGB8 = GL_RGB8, RGBA = GL_RGBA, RGBA8 = GL_RGBA8, SR8 = GL_SR8_EXT new in 2019.10, SRG8 = GL_SRG8_EXT new in 2019.10, SRGB = GL_SRGB, SRGB8 = GL_SRGB8, SRGBAlpha = GL_SRGB_ALPHA, SRGB8Alpha8 = GL_SRGB8_ALPHA8, R8Snorm = GL_R8_SNORM, RG8Snorm = GL_RG8_SNORM, RGB8Snorm = GL_RGB8_SNORM, RGBA8Snorm = GL_RGBA8_SNORM, R16 = GL_R16, RG16 = GL_RG16, RGB16 = GL_RGB16, RGBA16 = GL_RGBA16, R16Snorm = GL_R16_SNORM, RG16Snorm = GL_RG16_SNORM, RGB16Snorm = GL_RGB16_SNORM, RGBA16Snorm = GL_RGBA16_SNORM, R8UI = GL_R8UI, RG8UI = GL_RG8UI, RGB8UI = GL_RGB8UI, RGBA8UI = GL_RGBA8UI, R8I = GL_R8I, RG8I = GL_RG8I, RGB8I = GL_RGB8I, RGBA8I = GL_RGBA8I, R16UI = GL_R16UI, RG16UI = GL_RG16UI, RGB16UI = GL_RGB16UI, RGBA16UI = GL_RGBA16UI, R16I = GL_R16I, RG16I = GL_RG16I, RGB16I = GL_RGB16I, RGBA16I = GL_RGBA16I, R32UI = GL_R32UI, RG32UI = GL_RG32UI, RGB32UI = GL_RGB32UI, RGBA32UI = GL_RGBA32UI, R32I = GL_R32I, RG32I = GL_RG32I, RGB32I = GL_RGB32I, RGBA32I = GL_RGBA32I, R16F = GL_R16F, RG16F = GL_RG16F, RGB16F = GL_RGB16F, RGBA16F = GL_RGBA16F, R32F = GL_R32F, RG32F = GL_RG32F, RGB32F = GL_RGB32F, RGBA32F = GL_RGBA32F, Luminance = GL_LUMINANCE, LuminanceAlpha = GL_LUMINANCE_ALPHA, R3G3B2 = GL_R3_G3_B2, R3B3G2 = R3G3B2 deprecated in 2019.10, RGB4 = GL_RGB4, RGB5 = GL_RGB5, RGB565 = GL_RGB565, RGB10 = GL_RGB10, RGB12 = GL_RGB12, R11FG11FB10F = GL_R11F_G11F_B10F, RGB9E5 = GL_RGB9_E5, RGBA2 = GL_RGBA2, RGBA4 = GL_RGBA4, RGB5A1 = GL_RGB5_A1, RGB10A2 = GL_RGB10_A2, RGB10A2UI = GL_RGB10_A2UI, RGBA12 = GL_RGBA12, BGRA = GL_BGRA_EXT new in 2019.10, BGRA8 = GL_BGRA8_EXT new in 2019.10, CompressedRed = GL_COMPRESSED_RED, CompressedRG = GL_COMPRESSED_RG, CompressedRGB = GL_COMPRESSED_RGB, CompressedRGBA = GL_COMPRESSED_RGBA, CompressedRedRgtc1 = GL_COMPRESSED_RED_RGTC1, CompressedRGRgtc2 = GL_COMPRESSED_RG_RGTC2, CompressedSignedRedRgtc1 = GL_COMPRESSED_SIGNED_RED_RGTC1, CompressedSignedRGRgtc2 = GL_COMPRESSED_SIGNED_RG_RGTC2, CompressedRGBBptcUnsignedFloat = GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT, CompressedRGBBptcSignedFloat = GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT, CompressedRGBABptcUnorm = GL_COMPRESSED_RGBA_BPTC_UNORM, CompressedSRGBAlphaBptcUnorm = GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM, CompressedRGB8Etc2 = GL_COMPRESSED_RGB8_ETC2, CompressedSRGB8Etc2 = GL_COMPRESSED_SRGB8_ETC2, CompressedRGB8PunchthroughAlpha1Etc2 = GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2, CompressedSRGB8PunchthroughAlpha1Etc2 = GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2, CompressedRGBA8Etc2Eac = GL_COMPRESSED_RGBA8_ETC2_EAC, CompressedSRGB8Alpha8Etc2Eac = GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC, CompressedR11Eac = GL_COMPRESSED_R11_EAC, CompressedSignedR11Eac = GL_COMPRESSED_SIGNED_R11_EAC, CompressedRG11Eac = GL_COMPRESSED_RG11_EAC, CompressedSignedRG11Eac = GL_COMPRESSED_SIGNED_RG11_EAC, CompressedRGBS3tcDxt1 = GL_COMPRESSED_RGB_S3TC_DXT1_EXT, CompressedSRGBS3tcDxt1 = GL_COMPRESSED_SRGB_S3TC_DXT1_EXT, CompressedRGBAS3tcDxt1 = GL_COMPRESSED_RGBA_S3TC_DXT1_EXT, CompressedSRGBAlphaS3tcDxt1 = GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT, CompressedRGBAS3tcDxt3 = GL_COMPRESSED_RGBA_S3TC_DXT3_EXT, CompressedSRGBAlphaS3tcDxt3 = GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT, CompressedRGBAS3tcDxt5 = GL_COMPRESSED_RGBA_S3TC_DXT5_EXT, CompressedSRGBAlphaS3tcDxt5 = GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT, CompressedRGBAAstc4x4 = GL_COMPRESSED_RGBA_ASTC_4x4_KHR, CompressedSRGB8Alpha8Astc4x4 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR, CompressedRGBAAstc5x4 = GL_COMPRESSED_RGBA_ASTC_5x4_KHR, CompressedSRGB8Alpha8Astc5x4 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR, CompressedRGBAAstc5x5 = GL_COMPRESSED_RGBA_ASTC_5x5_KHR, CompressedSRGB8Alpha8Astc5x5 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR, CompressedRGBAAstc6x5 = GL_COMPRESSED_RGBA_ASTC_6x5_KHR, CompressedSRGB8Alpha8Astc6x5 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR, CompressedRGBAAstc6x6 = GL_COMPRESSED_RGBA_ASTC_6x6_KHR, CompressedSRGB8Alpha8Astc6x6 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR, CompressedRGBAAstc8x5 = GL_COMPRESSED_RGBA_ASTC_8x5_KHR, CompressedSRGB8Alpha8Astc8x5 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR, CompressedRGBAAstc8x6 = GL_COMPRESSED_RGBA_ASTC_8x6_KHR, CompressedSRGB8Alpha8Astc8x6 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR, CompressedRGBAAstc8x8 = GL_COMPRESSED_RGBA_ASTC_8x8_KHR, CompressedSRGB8Alpha8Astc8x8 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR, CompressedRGBAAstc10x5 = GL_COMPRESSED_RGBA_ASTC_10x5_KHR, CompressedSRGB8Alpha8Astc10x5 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR, CompressedRGBAAstc10x6 = GL_COMPRESSED_RGBA_ASTC_10x6_KHR, CompressedSRGB8Alpha8Astc10x6 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR, CompressedRGBAAstc10x8 = GL_COMPRESSED_RGBA_ASTC_10x8_KHR, CompressedSRGB8Alpha8Astc10x8 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR, CompressedRGBAAstc10x10 = GL_COMPRESSED_RGBA_ASTC_10x10_KHR, CompressedSRGB8Alpha8Astc10x10 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR, CompressedRGBAAstc12x10 = GL_COMPRESSED_RGBA_ASTC_12x10_KHR, CompressedSRGB8Alpha8Astc12x10 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR, CompressedRGBAAstc12x12 = GL_COMPRESSED_RGBA_ASTC_12x12_KHR, CompressedSRGB8Alpha8Astc12x12 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR, CompressedRGBAAstc3x3x3 = GL_COMPRESSED_RGBA_ASTC_3x3x3_OES, CompressedSRGB8Alpha8Astc3x3x3 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_3x3x3_OES, CompressedRGBAAstc4x3x3 = GL_COMPRESSED_RGBA_ASTC_4x3x3_OES, CompressedSRGB8Alpha8Astc4x3x3 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x3x3_OES, CompressedRGBAAstc4x4x3 = GL_COMPRESSED_RGBA_ASTC_4x4x3_OES, CompressedSRGB8Alpha8Astc4x4x3 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x3_OES, CompressedRGBAAstc4x4x4 = GL_COMPRESSED_RGBA_ASTC_4x4x4_OES, CompressedSRGB8Alpha8Astc4x4x4 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x4_OES, CompressedRGBAAstc5x4x4 = GL_COMPRESSED_RGBA_ASTC_5x4x4_OES, CompressedSRGB8Alpha8Astc5x4x4 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4x4_OES, CompressedRGBAAstc5x5x4 = GL_COMPRESSED_RGBA_ASTC_5x5x4_OES, CompressedSRGB8Alpha8Astc5x5x4 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x4_OES, CompressedRGBAAstc5x5x5 = GL_COMPRESSED_RGBA_ASTC_5x5x5_OES, CompressedSRGB8Alpha8Astc5x5x5 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x5_OES, CompressedRGBAAstc6x5x5 = GL_COMPRESSED_RGBA_ASTC_6x5x5_OES, CompressedSRGB8Alpha8Astc6x5x5 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5x5_OES, CompressedRGBAAstc6x6x5 = GL_COMPRESSED_RGBA_ASTC_6x6x5_OES, CompressedSRGB8Alpha8Astc6x6x5 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x5_OES, CompressedRGBAAstc6x6x6 = GL_COMPRESSED_RGBA_ASTC_6x6x6_OES, CompressedSRGB8Alpha8Astc6x6x6 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x6_OES, CompressedRGBPvrtc2bppV1 = GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG, CompressedSRGBPvrtc2bppV1 = GL_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT, CompressedRGBAPvrtc2bppV1 = GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG, CompressedSRGBAlphaPvrtc2bppV1 = GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT, CompressedRGBPvrtc4bppV1 = GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG, CompressedSRGBPvrtc4bppV1 = GL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT, CompressedRGBAPvrtc4bppV1 = GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG, CompressedSRGBAlphaPvrtc4bppV1 = GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT, DepthComponent = GL_DEPTH_COMPONENT, DepthComponent16 = GL_DEPTH_COMPONENT16, DepthComponent24 = GL_DEPTH_COMPONENT24, DepthComponent32 = GL_DEPTH_COMPONENT32, DepthComponent32F = GL_DEPTH_COMPONENT32F, StencilIndex8 = GL_STENCIL_INDEX8, DepthStencil = GL_DEPTH_STENCIL, Depth24Stencil8 = GL_DEPTH24_STENCIL8, Depth32FStencil8 = GL_DEPTH32F_STENCIL8 }
- Internal texture format.
- enum class Version: Int { None = 0xFFFF, GL210 = 210, GL300 = 300, GL310 = 310, GL320 = 320, GL330 = 330, GL400 = 400, GL410 = 410, GL420 = 420, GL430 = 430, GL440 = 440, GL450 = 450, GL460 = 460, GLES200 = Implementation::VersionESMask|200, GLES300 = Implementation::VersionESMask|300, GLES310 = Implementation::VersionESMask|310, GLES320 = Implementation::VersionESMask|320 }
- OpenGL version.
Typedefs
-
using FramebufferClearMask = Containers::
EnumSet<FramebufferClear> - Mask for framebuffer clearing.
-
using FramebufferBlitMask = Containers::
EnumSet<FramebufferBlit> - Mask for framebuffer blitting.
-
using ObjectFlags = Containers::
EnumSet<ObjectFlag> - Object wrapping flags.
- using BufferImage1D = BufferImage<1>
- One-dimensional buffer image.
- using BufferImage2D = BufferImage<2>
- Two-dimensional buffer image.
- using BufferImage3D = BufferImage<3>
- Three-dimensional buffer image.
- using CompressedBufferImage1D = CompressedBufferImage<1>
- One-dimensional compressed buffer image.
- using CompressedBufferImage2D = CompressedBufferImage<2>
- Two-dimensional compressed buffer image.
- using CompressedBufferImage3D = CompressedBufferImage<3>
- Three-dimensional compressed buffer image.
- using MultisampleTexture2D = MultisampleTexture<2>
- Two-dimensional multisample texture.
- using MultisampleTexture2DArray = MultisampleTexture<3>
- Two-dimensional multisample texture array.
- using Texture1D = Texture<1>
- One-dimensional texture.
- using Texture2D = Texture<2>
- Two-dimensional texture.
- using Texture3D = Texture<3>
- Three-dimensional texture.
- using Texture1DArray = TextureArray<1>
- One-dimensional texture array.
- using Texture2DArray = TextureArray<2>
- Two-dimensional texture array.
Functions
-
template<UnsignedInt location, class T>auto operator<<(Debug& debug, Attribute<location, T>::Components) -> Debug&
- Debug output operator.
-
template<UnsignedInt location, class T>auto operator<<(Debug& debug, Attribute<location, T>::DataType) -> Debug&
- Debug output operator.
-
auto operator<<(Debug& debug,
DynamicAttribute::
Kind) -> Debug& - Debug output operator.
-
auto operator<<(Debug& debug,
DynamicAttribute::
Components) -> Debug& - Debug output operator.
-
auto operator<<(Debug& debug,
DynamicAttribute::
DataType) -> Debug& - Debug output operator.
-
auto hasVertexFormat(Magnum::
VertexFormat format) -> bool new in 2020.06 - Check availability of a generic mesh attribute type.
-
auto operator<<(Debug& debug,
Buffer::
TargetHint value) -> Debug& - Debug output operator.
-
auto operator<<(Debug& debug,
Buffer::
Target value) -> Debug& - Debug output operator.
-
auto operator<<(Debug& debug,
Context::
Flag value) -> Debug& - Debug output operator.
-
auto operator<<(Debug& debug,
Context::
Flags value) -> Debug& - Debug output operator.
-
auto operator<<(Debug& debug,
Context::
DetectedDriver value) -> Debug& - Debug output operator.
-
auto operator<<(Debug& debug,
Context::
DetectedDrivers value) -> Debug& - Debug output operator.
-
auto operator<<(Debug& debug,
DebugOutput::
Source value) -> Debug& - Debug output operator.
-
auto operator<<(Debug& debug,
DebugOutput::
Type value) -> Debug& - Debug output operator.
-
auto operator<<(Debug& debug,
DebugOutput::
Severity value) -> Debug& - Debug output operator.
-
auto operator<<(Debug& debug,
DebugMessage::
Source value) -> Debug& - Debug output operator.
-
auto operator<<(Debug& debug,
DebugMessage::
Type value) -> Debug& - Debug output operator.
-
auto operator<<(Debug& debug,
DebugGroup::
Source value) -> Debug& - Debug output operator.
-
auto operator<<(Debug& debug,
DefaultFramebuffer::
Status value) -> Debug& - Debug output operator.
-
auto operator<<(Debug& debug,
Framebuffer::
Status value) -> Debug& - Debug output operator.
-
auto hasMeshPrimitive(Magnum::
MeshPrimitive primitive) -> bool new in 2020.06 - Check availability of a generic mesh primitive.
-
auto meshPrimitive(Magnum::
MeshPrimitive primitive) -> MeshPrimitive - Convert generic mesh primitive to OpenGL mesh primitive.
-
auto meshIndexType(Magnum::
MeshIndexType type) -> MeshIndexType - Convert generic mesh index type to OpenGL mesh index type.
- auto meshIndexTypeSize(MeshIndexType type) -> UnsignedInt new in Git master
- Size of given mesh index type.
- auto operator<<(Debug& debug, MeshPrimitive value) -> Debug&
- Debug output operator.
- auto operator<<(Debug& debug, MeshIndexType value) -> Debug&
- Debug output operator.
-
auto hasPixelFormat(Magnum::
PixelFormat format) -> bool - Check availability of a generic pixel format.
-
auto pixelFormat(Magnum::
PixelFormat format) -> PixelFormat - Convert a generic pixel format to OpenGL pixel format.
-
auto pixelType(Magnum::
PixelFormat format, UnsignedInt extra = 0) -> PixelType - Convert a generic pixel format to OpenGL pixel type.
- auto pixelFormatSize(PixelFormat format, PixelType type) -> UnsignedInt
- Size of a pixel for given format/type combination in bytes.
- auto pixelSize(PixelFormat format, PixelType type) -> UnsignedInt deprecated in Git master
- Size of a pixel for given format/type combination in bytes.
-
auto genericPixelFormat(PixelFormat format,
PixelType type) -> Containers::
Optional<Magnum:: PixelFormat> new in Git master - Convert OpenGL pixel format and type combination to a generic pixel format.
- auto operator<<(Debug& debug, PixelFormat value) -> Debug&
- Debug output operator.
- auto operator<<(Debug& debug, PixelType value) -> Debug&
- Debug output operator.
-
auto hasCompressedPixelFormat(Magnum::
CompressedPixelFormat format) -> bool - Check availability of generic compressed pixel format.
-
auto compressedPixelFormat(Magnum::
CompressedPixelFormat format) -> CompressedPixelFormat - Convert generic compressed pixel format to OpenGL compressed pixel format.
-
auto genericCompressedPixelFormat(CompressedPixelFormat format) -> Containers::
Optional<Magnum:: CompressedPixelFormat> new in Git master - Convert OpenGL compressed pixel format to a generic compressed pixel format.
- auto operator<<(Debug& debug, CompressedPixelFormat value) -> Debug&
- Debug output operator.
-
auto operator<<(Debug& debug,
Renderer::
Error value) -> Debug& - Debug output operator.
-
auto operator<<(Debug& debug,
Renderer::
ResetNotificationStrategy value) -> Debug& - Debug output operator.
-
auto operator<<(Debug& debug,
Renderer::
GraphicsResetStatus value) -> Debug& - Debug output operator.
-
auto samplerFilter(Magnum::
SamplerFilter filter) -> SamplerFilter - Convert generic texture sampler filter mode to OpenGL filter mode.
- auto operator<<(Debug& debug, SamplerFilter value) -> Debug&
- Debug output operator.
-
auto samplerMipmap(Magnum::
SamplerMipmap mipmap) -> SamplerMipmap - Convert generic sampler filter mode to OpenGL filter mode.
- auto operator<<(Debug& debug, SamplerMipmap value) -> Debug&
- Debug output operator.
-
auto hasSamplerWrapping(Magnum::
SamplerWrapping wrapping) -> bool - Check availability of a generic sampler wrapping mode.
-
auto samplerWrapping(Magnum::
SamplerWrapping wrapping) -> SamplerWrapping - Convert generic sampler filter mode to OpenGL filter mode.
-
template<std::auto samplerWrapping(const Math::
size_t dimensions> Vector<dimensions, Magnum:: SamplerWrapping>& wrapping) -> Math:: Vector<dimensions, SamplerWrapping> - auto operator<<(Debug& debug, SamplerWrapping value) -> Debug&
- Debug output operator.
- auto operator<<(Debug& debug, SamplerCompareMode value) -> Debug&
- Debug output operator.
- auto operator<<(Debug& debug, SamplerCompareFunction value) -> Debug&
- Debug output operator.
- auto operator<<(Debug& debug, SamplerDepthStencilMode value) -> Debug&
- Debug output operator.
-
auto operator<<(Debug& debug,
Shader::
Type value) -> Debug& - Debug output operator.
-
auto hasTextureFormat(Magnum::
PixelFormat format) -> bool new in 2019.10 - Check availability of a sized generic texture format.
-
auto textureFormat(Magnum::
PixelFormat format) -> TextureFormat new in 2019.10 - Convert a generic pixel format to sized OpenGL texture format.
-
auto hasTextureFormat(Magnum::
CompressedPixelFormat format) -> bool new in 2019.10 - Check availability of a generic compressed texture format.
-
auto textureFormat(Magnum::
CompressedPixelFormat format) -> TextureFormat new in 2019.10 - Convert generic compressed pixel format to OpenGL texture format.
-
auto genericPixelFormat(TextureFormat format) -> Containers::
Optional<Magnum:: PixelFormat> new in Git master - Convert OpenGL texture format to a generic pixel format.
-
auto genericCompressedPixelFormat(TextureFormat format) -> Containers::
Optional<Magnum:: CompressedPixelFormat> new in Git master - Convert OpenGL compressed texture format to a generic compressed pixel format.
- auto operator<<(Debug& debug, TextureFormat value) -> Debug& new in 2019.10
- Debug output operator.
- auto version(Int major, Int minor) -> Version constexpr
- Enum value from major and minor version number.
-
auto version(Version version) -> Containers::
Pair<Int, Int> - Major and minor version number from enum value.
- auto isVersionES(Version version) -> bool constexpr
- Whether given version is OpenGL ES or WebGL.
- auto operator<<(Debug& debug, Version value) -> Debug&
- Debug output operator.
Variables
- DefaultFramebuffer defaultFramebuffer
- Default framebuffer instance.
Enum documentation
enum class Magnum:: GL:: FramebufferClear: GLbitfield
#include <Magnum/GL/AbstractFramebuffer.h>
Mask for framebuffer clearing.
Enumerators | |
---|---|
Color |
Color buffer |
Depth |
Depth buffer |
Stencil |
Stencil buffer |
enum class Magnum:: GL:: FramebufferBlit: GLbitfield
#include <Magnum/GL/AbstractFramebuffer.h>
Mask for framebuffer blitting.
Enumerators | |
---|---|
Color |
Color buffer |
Depth |
Depth buffer |
Stencil |
Stencil buffer |
enum class Magnum:: GL:: FramebufferBlitFilter: GLenum
#include <Magnum/GL/AbstractFramebuffer.h>
Framebuffer blit filtering.
Enumerators | |
---|---|
Nearest |
Nearest neighbor filtering |
Linear |
Linear interpolation filtering |
enum class Magnum:: GL:: FramebufferTarget: GLenum
#include <Magnum/GL/AbstractFramebuffer.h>
Framebuffer target.
Enumerators | |
---|---|
Read |
Frambebuffer reading target |
Draw |
Framebuffer drawing target |
enum class Magnum:: GL:: ObjectFlag: UnsignedByte
#include <Magnum/GL/AbstractObject.h>
Object wrapping flag.
Enumerators | |
---|---|
Created |
The object is known to be already created, either by using |
DeleteOnDestruction |
Delete the object on destruction. |
enum class Magnum:: GL:: BufferUsage: GLenum
#include <Magnum/GL/Buffer.h>
Buffer usage.
Enumerators | |
---|---|
StreamDraw |
Set once by the application and used infrequently for drawing. |
StreamRead |
Set once as output from an OpenGL command and used infequently for drawing. |
StreamCopy |
Set once as output from an OpenGL command and used infrequently for drawing or copying to other buffers. |
StaticDraw |
Set once by the application and used frequently for drawing. A good default choice if you are not sure. |
StaticRead |
Set once as output from an OpenGL command and queried many times by the application. |
StaticCopy |
Set once as output from an OpenGL command and used frequently for drawing or copying to other buffers. |
DynamicDraw |
Updated frequently by the application and used frequently for drawing or copying to other buffers. |
DynamicRead |
Updated frequently as output from OpenGL command and queried many times from the application. |
DynamicCopy |
Updated frequently as output from OpenGL command and used frequently for drawing or copying to other images. |
enum class Magnum:: GL:: BufferTextureFormat: GLenum
#include <Magnum/GL/BufferTextureFormat.h>
Internal buffer texture format.
Enumerators | |
---|---|
R8 |
Red component, normalized unsigned byte. |
RG8 |
Red and green component, each normalized unsigned byte. |
RGBA8 |
RGBA, each component normalized unsigned byte. |
R16 |
Red component, normalized unsigned short. |
RG16 |
Red and green component, each normalized unsigned short. |
RGBA16 |
RGBA, each component normalized unsigned short. |
R8UI |
Red component, non-normalized unsigned byte. |
RG8UI |
Red and green component, each non-normalized unsigned byte. |
RGBA8UI |
RGBA, each component non-normalized unsigned byte. |
R8I |
Red component, non-normalized signed byte. |
RG8I |
Red and green component, each non-normalized signed byte. |
RGBA8I |
RGBA, each component non-normalized signed byte. |
R16UI |
Red component, non-normalized unsigned short. |
RG16UI |
Red and green component, each non-normalized unsigned short. |
RGBA16UI |
RGBA, each component non-normalized unsigned short. |
R16I |
Red component, non-normalized signed short. |
RG16I |
Red and green component, each non-normalized signed short. |
RGBA16I |
RGBA, each component non-normalized signed short. |
R32UI |
Red component, non-normalized unsigned int. |
RG32UI |
Red and green component, each non-normalized unsigned int. |
RGB32UI |
RGB, each component non-normalized unsigned int. |
RGBA32UI |
RGBA, each component non-normalized unsigned int. |
R32I |
Red component, non-normalized signed int. |
RG32I |
Red and green component, each non-normalized signed int. |
RGB32I |
RGB, each component non-normalized signed int. |
RGBA32I |
RGBA, each component non-normalized signed int. |
R16F |
Red component, half float. |
RG16F |
Red and green component, each half float. |
RGBA16F |
RGBA, each component half float. |
R32F |
Red component, float. |
RG32F |
Red and green component, each float. |
RGB32F |
RGB, each component float. |
RGBA32F |
RGBA, each component float. |
enum class Magnum:: GL:: CubeMapCoordinate: GLenum
#include <Magnum/GL/CubeMapTexture.h>
Cube map coordinate.
Enumerators | |
---|---|
PositiveX |
+X cube side |
NegativeX |
-X cube side |
PositiveY |
+Y cube side |
NegativeY |
-Y cube side |
PositiveZ |
+Z cube side |
NegativeZ |
-Z cube side |
enum class Magnum:: GL:: ImageAccess: GLenum
#include <Magnum/GL/ImageFormat.h>
Image access.
Enumerators | |
---|---|
ReadOnly |
Access the image for reading only |
WriteOnly |
Access the image for writing only |
ReadWrite |
Access the image for both reading and writing |
enum class Magnum:: GL:: ImageFormat: GLenum
#include <Magnum/GL/ImageFormat.h>
Image format.
Enumerators | |
---|---|
R8 |
Red component, normalized unsigned byte. |
RG8 |
Red and green component, each normalized unsigned byte. |
RGBA8 |
RGBA, each component normalized unsigned byte. |
R8Snorm |
Red component, normalized signed byte. |
RG8Snorm |
Red and green component, each normalized signed byte. |
RGBA8Snorm |
RGBA, each component normalized unsigned byte. |
R16 |
Red component, normalized unsigned short. |
RG16 |
Red and green component, each normalized unsigned short. |
RGBA16 |
RGBA, each component normalized unsigned short. |
R16Snorm |
Red component, normalized signed short. |
RG16Snorm |
Red and green component, each normalized signed short. |
RGBA16Snorm |
RGBA, each component normalized unsigned short. |
R8UI |
Red component, non-normalized unsigned byte. |
RG8UI |
Red and green component, each non-normalized unsigned byte. |
RGBA8UI |
RGBA, each component non-normalized unsigned byte. |
R8I |
Red component, non-normalized signed byte. |
RG8I |
Red and green component, each non-normalized signed byte. |
RGBA8I |
RGBA, each component non-normalized signed byte. |
R16UI |
Red component, non-normalized unsigned short. |
RG16UI |
Red and green component, each non-normalized unsigned short. |
RGBA16UI |
RGBA, each component non-normalized unsigned short. |
R16I |
Red component, non-normalized signed short. |
RG16I |
Red and green component, each non-normalized signed short. |
RGBA16I |
RGBA, each component non-normalized signed short. |
R32UI |
Red component, non-normalized unsigned int. |
RG32UI |
Red and green component, each non-normalized unsigned int. |
RGBA32UI |
RGBA, each component non-normalized unsigned int. |
R32I |
Red component, non-normalized signed int. |
RG32I |
Red and green component, each non-normalized signed int. |
RGBA32I |
RGBA, each component non-normalized signed int. |
R16F |
Red component, half float. |
RG16F |
Red and green component, each half float. |
RGBA16F |
RGBA, each component half float. |
R32F |
Red component, float. |
RG32F |
Red and green component, each float. |
RGBA32F |
RGBA, each component float. |
R11FG11FB10F |
RGB, float, red and green component 11bit, blue 10bit. |
RGB10A2 |
RGBA, normalized unsigned, each RGB component 10bit, alpha 2bit. |
RGB10A2UI |
RGBA, non-normalized unsigned, each RGB component 10bit, alpha 2bit. |
enum class Magnum:: GL:: MeshPrimitive: GLenum
#include <Magnum/GL/Mesh.h>
Mesh primitive type.
Enumerators | |
---|---|
Points |
Single points. |
Lines |
Each pair of vertices defines a single line, lines aren't connected together. |
LineLoop |
Line strip, last and first vertex are connected together. |
LineStrip |
First two vertices define first line segment, each following vertex defines another segment. |
LinesAdjacency |
Lines with adjacency information. |
LineStripAdjacency |
Line strip with adjacency information. |
Triangles |
Each three vertices define one triangle. |
TriangleStrip |
First three vertices define first triangle, each following vertex defines another triangle. |
TriangleFan |
First vertex is center, each following vertex is connected to previous and center vertex. |
TrianglesAdjacency |
Triangles with adjacency information. |
TriangleStripAdjacency |
Triangle strip with adjacency information. |
Patches |
Patches. |
enum class Magnum:: GL:: MeshIndexType: GLenum
#include <Magnum/GL/Mesh.h>
Mesh index type.
Enumerators | |
---|---|
UnsignedByte |
Even though OpenGL historically supports 8-bit indices, using this type is discouraged on contemporary GPU architectures. Prefer using 16-bit indices instead. |
UnsignedShort | |
UnsignedInt |
enum class Magnum:: GL:: MultisampleTextureSampleLocations: GLboolean
#include <Magnum/GL/MultisampleTexture.h>
Multisample texture sample locations.
Enumerators | |
---|---|
NotFixed |
Not fixed |
Fixed |
Fixed |
enum class Magnum:: GL:: PixelFormat: GLenum
#include <Magnum/GL/PixelFormat.h>
Format of pixel data.
Note that some formats can be used only for framebuffer reading (using AbstractFramebuffer::
In most cases you may want to use PixelFormat::
Enumerators | |
---|---|
Red |
Floating-point red channel. |
Green |
Floating-point green channel. |
Blue |
Floating-point blue channel. |
Luminance |
Floating-point luminance channel. The value is used for all RGB channels. Can't be used for framebuffer reading. |
RG |
Floating-point red and green channel. |
LuminanceAlpha |
Floating-point luminance and alpha channel. First value is used for all RGB channels, second value is used for alpha channel. Can't be used for framebuffer reading. |
RGB |
Floating-point RGB. |
RGBA |
Floating-point RGBA. |
BGR |
Floating-point BGR. On desktop OpenGL there's no corresponding dedicated texture format for BGR(A) — simply use it with TextureFormat:: |
BGRA |
Floating-point BGRA. On desktop OpenGL there's no corresponding dedicated texture format for BGR(A) — simply use it with TextureFormat:: |
SRGB |
Floating-point sRGB. |
SRGBAlpha |
Floating-point sRGB + alpha. |
RedInteger |
Integer red channel. |
GreenInteger |
Integer green channel. |
BlueInteger |
Integer blue channel. |
RGInteger |
Integer red and green channel. |
RGBInteger |
Integer RGB. |
RGBAInteger |
Integer RGBA. |
BGRInteger |
Integer BGR. |
BGRAInteger |
Integer BGRA. |
DepthComponent |
Depth component. |
StencilIndex |
Stencil index. |
DepthStencil |
Depth and stencil. |
enum class Magnum:: GL:: PixelType: GLenum
#include <Magnum/GL/PixelFormat.h>
Type of pixel data.
Note that some formats can be used only for framebuffer reading (using AbstractFramebuffer::
In most cases you may want to use PixelType::
Enumerators | |
---|---|
UnsignedByte |
Each component unsigned byte. |
Byte |
Each component signed byte. |
UnsignedShort |
Each component unsigned short. |
Short |
Each component signed short. |
UnsignedInt |
Each component unsigned int. |
Int |
Each component signed int. |
Half new in 2020.06 |
Each component half float. |
HalfFloat |
Half float. |
Float |
Each component float. |
UnsignedByte332 |
RGB, unsigned byte, red and green component 3bit, blue component 2bit. |
UnsignedByte233Rev |
BGR, unsigned byte, red and green component 3bit, blue component 2bit. |
UnsignedShort565 |
RGB, unsigned byte, red and blue component 5bit, green 6bit. |
UnsignedShort565Rev |
BGR, unsigned short, red and blue 5bit, green 6bit. |
UnsignedShort4444 |
RGBA, unsigned short, each component 4bit. |
UnsignedShort4444Rev |
ABGR, unsigned short, each component 4bit. |
UnsignedShort5551 |
RGBA, unsigned short, each RGB component 5bit, alpha component 1bit. |
UnsignedShort1555Rev |
ABGR, unsigned short, each RGB component 5bit, alpha component 1bit. |
UnsignedInt8888 |
RGBA, unsigned int, each component 8bit. |
UnsignedInt8888Rev |
ABGR, unsigned int, each component 8bit. |
UnsignedInt1010102 |
RGBA, unsigned int, each RGB component 10bit, alpha component 2bit. |
UnsignedInt2101010Rev |
ABGR, unsigned int, each RGB component 10bit, alpha component 2bit. |
UnsignedInt10F11F11FRev |
BGR, unsigned int, red and green 11bit float, blue 10bit float. |
UnsignedInt5999Rev |
BGR, unsigned int, each component 9bit + 5bit exponent. |
UnsignedInt248 |
Unsigned int, depth component 24bit, stencil index 8bit. |
Float32UnsignedInt248Rev |
Float + unsigned int, depth component 32bit float, 24bit gap, stencil index 8bit. |
enum class Magnum:: GL:: CompressedPixelFormat: GLenum
#include <Magnum/GL/PixelFormat.h>
Format of compressed pixel data.
Equivalent to Compressed*
values of TextureFormat enum.
Enumerators | |
---|---|
Red |
Compressed red channel, normalized unsigned. |
RG |
Compressed red and green channel, normalized unsigned. |
RGB |
Compressed RGB, normalized unsigned. |
RGBA |
Compressed RGBA, normalized unsigned. |
RedRgtc1 |
RGTC compressed red channel, normalized unsigned. Equivalent to the old |
RGRgtc2 |
RGTC compressed red and green channel, normalized unsigned. Equivalent to the old |
SignedRedRgtc1 |
RGTC compressed red channel, normalized signed. Equivalent to the old |
SignedRGRgtc2 |
RGTC compressed red and green channel, normalized signed. Equivalent to the old |
RGBBptcUnsignedFloat |
BPTC compressed RGB, unsigned float. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
RGBBptcSignedFloat |
BPTC compressed RGB, signed float. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
RGBABptcUnorm |
BPTC compressed RGBA, normalized unsigned. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
SRGBAlphaBptcUnorm |
BPTC compressed sRGBA, normalized unsigned. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
RGB8Etc2 |
ETC2 compressed RGB, normalized unsigned. Available only on 2D, 2D array, cube map and cube map array textures. |
SRGB8Etc2 |
ETC2 compressed sRGB, normalized unsigned. Available only on 2D, 2D array, cube map and cube map array textures. |
RGB8PunchthroughAlpha1Etc2 |
ETC2 compressed RGB with punchthrough (single-bit) alpha, normalized unsigned. Available only on 2D, 2D array, cube map and cube map array textures. |
SRGB8PunchthroughAlpha1Etc2 |
ETC2 compressed sRGB with punchthrough (single-bit) alpha, normalized unsigned. Available only on 2D, 2D array, cube map and cube map array textures. |
RGBA8Etc2Eac |
ETC2/EAC compressed RGBA, normalized unsigned. Available only on 2D, 2D array, cube map and cube map array textures. |
SRGB8Alpha8Etc2Eac |
ETC2/EAC compressed sRGB with alpha, normalized unsigned. Available only on 2D, 2D array, cube map and cube map array textures. |
R11Eac |
EAC compressed red channel, normalized unsigned. Available only on 2D, 2D array, cube map and cube map array textures. |
SignedR11Eac |
EAC compressed red channel, normalized signed. Available only on 2D, 2D array, cube map and cube map array textures. |
RG11Eac |
EAC compressed red and green channel, normalized unsigned. Available only on 2D, 2D array, cube map and cube map array textures. |
SignedRG11Eac |
EAC compressed red and green channel, normalized signed. Available only on 2D, 2D array, cube map and cube map array textures. |
RGBS3tcDxt1 |
S3TC DXT1 compressed RGB. Available only for 2D, 2D array, cube map and cube map array textures. |
SRGBS3tcDxt1 new in 2019.10 |
S3TC DXT1 compressed sRGB. Available only for 2D, 2D array, cube map and cube map array textures. |
RGBAS3tcDxt1 |
S3TC DXT1 compressed RGBA. Available only for 2D, 2D array, cube map and cube map array textures. |
SRGBAlphaS3tcDxt1 new in 2019.10 |
S3TC DXT1 compressed sRGB + linear alpha. Available only for 2D, 2D array, cube map and cube map array textures. |
RGBAS3tcDxt3 |
S3TC DXT3 compressed RGBA. Available only for 2D, 2D array, cube map and cube map array textures. |
SRGBAlphaS3tcDxt3 new in 2019.10 |
S3TC DXT3 compressed sRGB + linear alpha. Available only for 2D, 2D array, cube map and cube map array textures. |
RGBAS3tcDxt5 |
S3TC DXT5 compressed RGBA. Available only for 2D, 2D array, cube map and cube map array textures. |
SRGBAlphaS3tcDxt5 new in 2019.10 |
S3TC DXT5 compressed sRGB + linear alpha. Available only for 2D, 2D array, cube map and cube map array textures. |
RGBAAstc4x4 |
2D ASTC compressed RGBA with 4x4 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
SRGB8Alpha8Astc4x4 |
2D ASTC compressed sRGB with alpha with 4x4 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
RGBAAstc5x4 |
2D ASTC compressed RGBA with 5x4 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
SRGB8Alpha8Astc5x4 |
2D ASTC compressed sRGB with alpha with 5x4 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
RGBAAstc5x5 |
2D ASTC compressed RGBA with 5x5 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
SRGB8Alpha8Astc5x5 |
2D ASTC compressed sRGB with alpha with 5x5 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
RGBAAstc6x5 |
2D ASTC compressed RGBA with 6x5 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
SRGB8Alpha8Astc6x5 |
2D ASTC compressed sRGB with alpha with 6x5 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
RGBAAstc6x6 |
2D ASTC compressed RGBA with 6x6 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
SRGB8Alpha8Astc6x6 |
2D ASTC compressed sRGB with alpha with 6x6 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
RGBAAstc8x5 |
2D ASTC compressed RGBA with 8x5 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
SRGB8Alpha8Astc8x5 |
2D ASTC compressed sRGB with alpha with 8x5 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
RGBAAstc8x6 |
2D ASTC compressed RGBA with 8x6 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
SRGB8Alpha8Astc8x6 |
2D ASTC compressed sRGB with alpha with 8x6 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
RGBAAstc8x8 |
2D ASTC compressed RGBA with 8x8 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
SRGB8Alpha8Astc8x8 |
2D ASTC compressed sRGB with alpha with 8x8 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
RGBAAstc10x5 |
2D ASTC compressed RGBA with 10x5 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
SRGB8Alpha8Astc10x5 |
2D ASTC compressed sRGB with alpha with 10x5 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
RGBAAstc10x6 |
2D ASTC compressed RGBA with 10x6 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
SRGB8Alpha8Astc10x6 |
2D ASTC compressed sRGB with alpha with 10x6 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
RGBAAstc10x8 |
2D ASTC compressed RGBA with 10x8 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
SRGB8Alpha8Astc10x8 |
2D ASTC compressed sRGB with alpha with 10x8 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
RGBAAstc10x10 |
2D ASTC compressed RGBA with 10x10 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
SRGB8Alpha8Astc10x10 |
2D ASTC compressed sRGB with alpha with 10x10 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
RGBAAstc12x10 |
2D ASTC compressed RGBA with 12x10 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
SRGB8Alpha8Astc12x10 |
2D ASTC compressed sRGB with alpha with 12x10 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
RGBAAstc12x12 |
2D ASTC compressed RGBA with 12x12 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
SRGB8Alpha8Astc12x12 |
2D ASTC compressed sRGB with alpha with 12x12 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
RGBAAstc3x3x3 new in 2019.10 |
3D ASTC compressed RGBA with 3x3x3 blocks. Available only on 3D textures. |
SRGB8Alpha8Astc3x3x3 new in 2019.10 |
3D ASTC compressed sRGB with alpha with 3x3x3 blocks. Available only on 3D textures. |
RGBAAstc4x3x3 new in 2019.10 |
3D ASTC compressed RGBA with 4x3x3 blocks. Available only on 3D textures. |
SRGB8Alpha8Astc4x3x3 new in 2019.10 |
3D ASTC compressed sRGB with alpha with 4x3x3 blocks. Available only on 3D textures. |
RGBAAstc4x4x3 new in 2019.10 |
3D ASTC compressed RGBA with 4x4x3 blocks. Available only on 3D textures. |
SRGB8Alpha8Astc4x4x3 new in 2019.10 |
3D ASTC compressed sRGB with alpha with 4x4x3 blocks. Available only on 3D textures. |
RGBAAstc4x4x4 new in 2019.10 |
3D ASTC compressed RGBA with 4x4x4 blocks. Available only on 3D textures. |
SRGB8Alpha8Astc4x4x4 new in 2019.10 |
3D ASTC compressed sRGB with alpha with 4x4x4 blocks. Available only on 3D textures. |
RGBAAstc5x4x4 new in 2019.10 |
3D ASTC compressed RGBA with 5x4x4 blocks. Available only on 3D textures. |
SRGB8Alpha8Astc5x4x4 new in 2019.10 |
3D ASTC compressed sRGB with alpha with 5x4x4 blocks. Available only on 3D textures. |
RGBAAstc5x5x4 new in 2019.10 |
3D ASTC compressed RGBA with 5x5x4 blocks. Available only on 3D textures. |
SRGB8Alpha8Astc5x5x4 new in 2019.10 |
3D ASTC compressed sRGB with alpha with 5x5x4 blocks. Available only on 3D textures. |
RGBAAstc5x5x5 new in 2019.10 |
3D ASTC compressed RGBA with 5x5x5 blocks. Available only on 3D textures. |
SRGB8Alpha8Astc5x5x5 new in 2019.10 |
3D ASTC compressed sRGB with alpha with 5x5x5 blocks. Available only on 3D textures. |
RGBAAstc6x5x5 new in 2019.10 |
3D ASTC compressed RGBA with 6x5x5 blocks. Available only on 3D textures. |
SRGB8Alpha8Astc6x5x5 new in 2019.10 |
3D ASTC compressed sRGB with alpha with 6x5x5 blocks. Available only on 3D textures. |
RGBAAstc6x6x5 new in 2019.10 |
3D ASTC compressed RGBA with 6x6x5 blocks. Available only on 3D textures. |
SRGB8Alpha8Astc6x6x5 new in 2019.10 |
3D ASTC compressed sRGB with alpha with 6x6x5 blocks. Available only on 3D textures. |
RGBAAstc6x6x6 new in 2019.10 |
3D ASTC compressed RGBA with 6x6x6 blocks. Available only on 3D textures. |
SRGB8Alpha8Astc6x6x6 new in 2019.10 |
3D ASTC compressed sRGB with alpha with 6x6x6 blocks. Available only on 3D textures. |
RGBPvrtc2bppV1 new in 2019.10 |
PVRTC compressed RGB, normalized unsigned byte with 2 bits per pixel. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
SRGBPvrtc2bppV1 new in 2019.10 |
PVRTC compressed sRGB, normalized unsigned byte with 2 bits per pixel. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
RGBAPvrtc2bppV1 new in 2019.10 |
PVRTC compressed RGBA, normalized unsigned byte with 2 bits per pixel. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
SRGBAlphaPvrtc2bppV1 new in 2019.10 |
PVRTC compressed sRGB + linear alpha, normalized unsigned byte with 2 bits per pixel. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
RGBPvrtc4bppV1 new in 2019.10 |
PVRTC compressed RGB, normalized unsigned byte with 4 bits per pixel. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
SRGBPvrtc4bppV1 new in 2019.10 |
PVRTC compressed sRGB, normalized unsigned byte with 4 bits per pixel. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
RGBAPvrtc4bppV1 new in 2019.10 |
PVRTC compressed RGBA, normalized unsigned byte with 4 bits per pixel. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
SRGBAlphaPvrtc4bppV1 new in 2019.10 |
PVRTC compressed sRGB + linear alpha, normalized unsigned byte with 4 bits per pixel. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
enum class Magnum:: GL:: RenderbufferFormat: GLenum
#include <Magnum/GL/RenderbufferFormat.h>
Internal renderbuffer format.
Enumerators | |
---|---|
Red |
Red component, normalized unsigned, size implementation-dependent. |
R8 |
Red component, normalized unsigned byte. |
RG |
Red and green component, normalized unsigned, size implementation-dependent. |
RG8 |
Red and green component, each normalized unsigned byte. |
RGBA |
RGBA, normalized unsigned, size implementation-dependent. |
RGBA8 |
RGBA, each component normalized unsigned byte. |
R16 |
Red component, normalized unsigned short. |
RG16 |
Red and green component, each normalized unsigned short. |
RGB16 |
RGB, each component normalized unsigned short. |
RGBA16 |
RGBA, each component normalized unsigned short. |
R8UI |
Red component, non-normalized unsigned byte. |
RG8UI |
Red and green component, each non-normalized unsigned byte. |
RGBA8UI |
RGBA, each component non-normalized unsigned byte. |
R8I |
Red component, non-normalized signed byte. |
RG8I |
Red and green component, each non-normalized signed byte. |
RGBA8I |
RGBA, each component non-normalized signed byte. |
R16UI |
Red component, non-normalized unsigned short. |
RG16UI |
Red and green component, each non-normalized unsigned short. |
RGBA16UI |
RGBA, each component non-normalized unsigned short. |
R16I |
Red component, non-normalized signed short. |
RG16I |
Red and green component, each non-normalized signed short. |
RGBA16I |
RGBA, each component non-normalized signed short. |
R32UI |
Red component, non-normalized unsigned int. |
RG32UI |
Red and green component, each non-normalized unsigned int. |
RGBA32UI |
RGBA, each component non-normalized unsigned int. |
R32I |
Red component, non-normalized signed int. |
RG32I |
Red and green component, each non-normalized signed int. |
RGBA32I |
RGBA, each component non-normalized signed int. |
R16F |
Red component, half float. |
RG16F |
Red and green component, each half float. |
RGBA16F |
RGBA, each component half float. |
R32F |
Red component, float. |
RG32F |
Red and green component, each float. |
RGBA32F |
RGBA, each component float. |
RGB565 |
RGB, normalized unsigned, red and blue 5bit, green 6bit. |
RGBA4 |
RGBA, normalized unsigned, each component 4bit. |
RGB5A1 |
RGBA, normalized unsigned, each RGB component 5bit, alpha 1bit. |
RGB10A2 |
RGBA, normalized unsigned, each RGB component 10bit, alpha 2bit. |
RGB10A2UI |
RGBA, non-normalized unsigned, each RGB component 10bit, alpha 2bit. |
SRGB8Alpha8 |
sRGBA, each component normalized unsigned byte. |
R11FG11FB10F |
RGB, float, red and green 11bit, blue 10bit. |
DepthComponent |
Depth component, size implementation-dependent. |
DepthComponent16 |
Depth component, 16bit. |
DepthComponent24 |
Depth component, 24bit. |
DepthComponent32 |
Depth component, 32bit. |
DepthComponent32F |
Depth component, 32bit float. |
StencilIndex |
Stencil index, size implementation-dependent. |
StencilIndex1 |
1-bit stencil index. |
StencilIndex4 |
4-bit stencil index. |
StencilIndex8 |
8-bit stencil index. |
StencilIndex16 |
16-bit stencil index. |
DepthStencil |
Depth and stencil component, size implementation-dependent. |
Depth24Stencil8 |
24bit depth and 8bit stencil component. |
Depth32FStencil8 |
32bit float depth component and 8bit stencil component. |
enum class Magnum:: GL:: SamplerFilter: GLint
#include <Magnum/GL/Sampler.h>
Texture sampler filtering.
Enumerators | |
---|---|
Nearest |
Nearest neighbor filtering |
Linear |
Linear interpolation filtering. Can't be used with integer texture formats. |
enum class Magnum:: GL:: SamplerMipmap: GLint
#include <Magnum/GL/Sampler.h>
Texture sampler mip level selection.
Enumerators | |
---|---|
Base |
Select base mip level |
Nearest |
Select nearest mip level. Unavailable on rectangle textures. |
Linear |
Linear interpolation of nearest mip levels. Unavailable on rectangle textures. |
enum class Magnum:: GL:: SamplerWrapping: GLint
#include <Magnum/GL/Sampler.h>
Texture sampler wrapping.
Enumerators | |
---|---|
Repeat |
Repeat texture. Unavailable on rectangle textures. |
MirroredRepeat |
Repeat mirrored texture. Unavailable on rectangle textures. |
ClampToEdge |
Clamp to edge. Coordinates out of the range will be clamped to first / last column / row in given direction. |
ClampToBorder |
Clamp to border color. Coordinates out of range will be clamped to border color (set with *Texture:: |
MirrorClampToEdge |
Mirror the texture once in negative coordinates and clamp to edge after that. Unavailable on rectangle textures. |
enum class Magnum:: GL:: SamplerCompareMode: GLenum
#include <Magnum/GL/Sampler.h>
Depth texture comparison mode.
Enumerators | |
---|---|
None |
Directly output the depth value |
CompareRefToTexture |
Use output from specified SamplerCompareFunction |
enum class Magnum:: GL:: SamplerCompareFunction: GLenum
#include <Magnum/GL/Sampler.h>
Texture sampler depth comparison function.
Comparison operator used when comparison mode is set to SamplerCompareMode::
Enumerators | |
---|---|
Never |
Always |
Always |
Always |
Less |
|
LessOrEqual |
|
Equal |
|
NotEqual |
|
GreaterOrEqual |
|
Greater |
|
enum class Magnum:: GL:: SamplerDepthStencilMode: GLenum
#include <Magnum/GL/Sampler.h>
Texture sampler depth/stencil mode.
Enumerators | |
---|---|
DepthComponent |
Sample depth component |
StencilIndex |
Sample stencil index (as unsigned integer texture) |
enum class Magnum:: GL:: TextureFormat: GLenum
#include <Magnum/GL/TextureFormat.h>
Internal texture format.
In most cases you may want to use TextureFormat::
Enumerators | |
---|---|
Red |
Red component, normalized unsigned, size implementation-dependent. Not allowed in unemulated *Texture:: |
R8 |
Red component, normalized unsigned byte. |
RG |
Red and green component, normalized unsigned, size implementation-dependent. Not allowed in unemulated *Texture:: |
RG8 |
Red and green component, each normalized unsigned byte. |
RGB |
RGB, type/size implementation-dependent. Not allowed in unemulated *Texture:: |
RGB8 |
RGB, each component normalized unsigned byte. On desktop OpenGL this format is meant to be used for PixelFormat:: |
RGBA |
RGBA, type/size implementation-dependent. Not allowed in unemulated *Texture:: |
RGBA8 |
RGBA, each component normalized unsigned byte. On desktop OpenGL this format is meant to be used with PixelFormat:: |
SR8 new in 2019.10 |
sRGB-encoded red component, normalized unsigned byte. |
SRG8 new in 2019.10 |
sRGB-encoded red and green component, normalized unsigned byte. |
SRGB |
sRGB, normalized unsigned, size implementation-dependent. Not allowed in unemulated *Texture:: |
SRGB8 |
sRGB, each component normalized unsigned byte. |
SRGBAlpha |
sRGB + linear alpha, normalized unsigned, size implementation-dependent. Not allowed in unemulated *Texture:: |
SRGB8Alpha8 |
sRGB + linear alpha, each component normalized unsigned byte. |
R8Snorm |
Red component, normalized signed byte. |
RG8Snorm |
Red and green component, each normalized signed byte. |
RGB8Snorm |
RGB, each component normalized signed byte. |
RGBA8Snorm |
RGBA, each component normalized signed byte. |
R16 |
Red component, normalized unsigned short. |
RG16 |
Red and green component, each normalized unsigned short. |
RGB16 |
RGB, each component normalized unsigned short. |
RGBA16 |
RGBA, each component normalized unsigned short. |
R16Snorm |
Red component, normalized signed short. |
RG16Snorm |
Red and green component, each normalized signed short. |
RGB16Snorm |
RGB, each component normalized signed short. |
RGBA16Snorm |
RGBA, each component normalized signed short. |
R8UI |
Red component, non-normalized unsigned byte. Can't be filtered using SamplerFilter:: |
RG8UI |
Red and green component, each non-normalized unsigned byte. Can't be filtered using SamplerFilter:: |
RGB8UI |
RGB, each component non-normalized unsigned byte. Can't be filtered using SamplerFilter:: |
RGBA8UI |
RGBA, each component non-normalized unsigned byte. Can't be filtered using SamplerFilter:: |
R8I |
Red component, non-normalized signed byte. Can't be filtered using SamplerFilter:: |
RG8I |
Red and green component, each non-normalized signed byte. Can't be filtered using SamplerFilter:: |
RGB8I |
RGB, each component non-normalized signed byte. Can't be filtered using SamplerFilter:: |
RGBA8I |
RGBA, each component non-normalized signed byte. Can't be filtered using SamplerFilter:: |
R16UI |
Red component, non-normalized unsigned short. Can't be filtered using SamplerFilter:: |
RG16UI |
Red and green component, each non-normalized unsigned short. Can't be filtered using SamplerFilter:: |
RGB16UI |
RGB, each component non-normalized unsigned short. Can't be filtered using SamplerFilter:: |
RGBA16UI |
RGBA, each component non-normalized unsigned short. Can't be filtered using SamplerFilter:: |
R16I |
Red component, non-normalized signed short. Can't be filtered using SamplerFilter:: |
RG16I |
Red and green component, each non-normalized signed short. Can't be filtered using SamplerFilter:: |
RGB16I |
RGB, each component non-normalized signed short. Can't be filtered using SamplerFilter:: |
RGBA16I |
RGBA, each component non-normalized signed short. Can't be filtered using SamplerFilter:: |
R32UI |
Red component, non-normalized unsigned int. Can't be filtered using SamplerFilter:: |
RG32UI |
Red and green component, each non-normalized unsigned int. Can't be filtered using SamplerFilter:: |
RGB32UI |
RGB, each component non-normalized unsigned int. Can't be filtered using SamplerFilter:: |
RGBA32UI |
RGBA, each component non-normalized unsigned int. Can't be filtered using SamplerFilter:: |
R32I |
Red component, non-normalized signed int. Can't be filtered using SamplerFilter:: |
RG32I |
Red and green component, each non-normalized signed int. Can't be filtered using SamplerFilter:: |
RGB32I |
RGB, each component non-normalized signed int. Can't be filtered using SamplerFilter:: |
RGBA32I |
RGBA, each component non-normalized signed int. Can't be filtered using SamplerFilter:: |
R16F |
Red component, half float. |
RG16F |
Red and green component, each half float. |
RGB16F |
RGB, each component half float. |
RGBA16F |
RGBA, each component half float. |
R32F |
Red component, float. |
RG32F |
Red and green component, each float. |
RGB32F |
RGB, each component float. |
RGBA32F |
RGBA, each component float. |
Luminance |
Luminance, normalized unsigned, single value used for all RGB channels. Size implementation-dependent. Not allowed in unemulated *Texture:: |
LuminanceAlpha |
Floating-point luminance and alpha channel. First value is used for all RGB channels, second value is used for alpha channel. Size implementation-dependent. Not allowed in unemulated *Texture:: |
R3G3B2 |
RGB, normalized unsigned, red and green component 3bit, blue 2bit. |
R3B3G2 |
RGB, normalized unsigned, red and green component 3bit, blue 2bit. |
RGB4 |
RGB, each component normalized unsigned 4bit. |
RGB5 |
RGB, each component normalized unsigned 5bit. |
RGB565 |
RGB, normalized unsigned, red and blue component 5bit, green 6bit. |
RGB10 |
RGB, each component normalized unsigned 10bit. |
RGB12 |
RGB, each component normalized unsigned 12bit. |
R11FG11FB10F |
RGB, float, red and green component 11bit, blue 10bit. |
RGB9E5 |
RGB, unsigned with exponent, each RGB component 9bit, exponent 5bit. |
RGBA2 |
RGBA, normalized unsigned, each component 2bit. |
RGBA4 |
RGBA, normalized unsigned, each component 4bit. |
RGB5A1 |
RGBA, normalized unsigned, each RGB component 5bit, alpha 1bit. |
RGB10A2 |
RGBA, normalized unsigned, each RGB component 10bit, alpha 2bit. |
RGB10A2UI |
RGBA, non-normalized unsigned, each RGB component 10bit, alpha 2bit. Can't be filtered using SamplerFilter:: |
RGBA12 |
RGBA, each component normalized unsigned 12bit. |
BGRA new in 2019.10 |
BGRA, type/size implementation-dependent. Not allowed in unemulated *Texture:: |
BGRA8 new in 2019.10 |
BGRA, each component normalized unsigned byte. |
CompressedRed |
Compressed red channel, normalized unsigned. Not available on multisample textures. |
CompressedRG |
Compressed red and green channel, normalized unsigned. Not available on multisample textures. |
CompressedRGB |
Compressed RGB, normalized unsigned. Not available on multisample textures. |
CompressedRGBA |
Compressed RGBA, normalized unsigned. Not available on multisample textures. |
CompressedRedRgtc1 |
RGTC compressed red channel, normalized unsigned. Equivalent to the old |
CompressedRGRgtc2 |
RGTC compressed red and green channel, normalized unsigned. Equivalent to the old |
CompressedSignedRedRgtc1 |
RGTC compressed red channel, normalized signed. Equivalent to the old |
CompressedSignedRGRgtc2 |
RGTC compressed red and green channel, normalized signed. Equivalent to the old |
CompressedRGBBptcUnsignedFloat |
BPTC compressed RGB, unsigned float. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
CompressedRGBBptcSignedFloat |
BPTC compressed RGB, signed float. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
CompressedRGBABptcUnorm |
BPTC compressed RGBA, normalized unsigned. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
CompressedSRGBAlphaBptcUnorm |
BPTC compressed sRGBA, normalized unsigned. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
CompressedRGB8Etc2 |
ETC2 compressed RGB, normalized unsigned. Available only on 2D, 2D array, cube map and cube map array textures. |
CompressedSRGB8Etc2 |
ETC2 compressed sRGB, normalized unsigned. Available only on 2D, 2D array, cube map and cube map array textures. |
CompressedRGB8PunchthroughAlpha1Etc2 |
ETC2 compressed RGB with punchthrough (single-bit) alpha, normalized unsigned. Available only on 2D, 2D array, cube map and cube map array textures. |
CompressedSRGB8PunchthroughAlpha1Etc2 |
ETC2 compressed sRGB with punchthrough (single-bit) alpha, normalized unsigned. Available only on 2D, 2D array, cube map and cube map array textures. |
CompressedRGBA8Etc2Eac |
ETC2/EAC compressed RGBA, normalized unsigned. Available only on 2D, 2D array, cube map and cube map array textures. |
CompressedSRGB8Alpha8Etc2Eac |
ETC2/EAC compressed sRGB with alpha, normalized unsigned. Available only on 2D, 2D array, cube map and cube map array textures. |
CompressedR11Eac |
EAC compressed red channel, normalized unsigned. Available only on 2D, 2D array, cube map and cube map array textures. |
CompressedSignedR11Eac |
EAC compressed red channel, normalized signed. Available only on 2D, 2D array, cube map and cube map array textures. |
CompressedRG11Eac |
EAC compressed red and green channel, normalized unsigned. Available only on 2D, 2D array, cube map and cube map array textures. |
CompressedSignedRG11Eac |
EAC compressed red and green channel, normalized signed. Available only on 2D, 2D array, cube map and cube map array textures. |
CompressedRGBS3tcDxt1 |
S3TC DXT1 compressed RGB. Available only on 2D, 2D array, cube map and cube map array textures. |
CompressedSRGBS3tcDxt1 |
S3TC DXT1 compressed sRGB. Available only for 2D, 2D array, cube map and cube map array textures. |
CompressedRGBAS3tcDxt1 |
S3TC DXT1 compressed RGBA. Available only on 2D, 2D array, cube map and cube map array textures. |
CompressedSRGBAlphaS3tcDxt1 |
S3TC DXT1 compressed sRGB + linear alpha. Available only for 2D, 2D array, cube map and cube map array textures. |
CompressedRGBAS3tcDxt3 |
S3TC DXT3 compressed RGBA. Available only on 2D, 2D array, cube map and cube map array textures. |
CompressedSRGBAlphaS3tcDxt3 |
S3TC DXT3 compressed sRGB + linear alpha. Available only for 2D, 2D array, cube map and cube map array textures. |
CompressedRGBAS3tcDxt5 |
S3TC DXT5 compressed RGBA. Available only on 2D, 2D array, cube map and cube map array textures. |
CompressedSRGBAlphaS3tcDxt5 |
S3TC DXT5 compressed sRGB + linear alpha. Available only for 2D, 2D array, cube map and cube map array textures. |
CompressedRGBAAstc4x4 |
ASTC compressed RGBA with 4x4 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
CompressedSRGB8Alpha8Astc4x4 |
ASTC compressed sRGB with alpha with 4x4 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
CompressedRGBAAstc5x4 |
ASTC compressed RGBA with 5x4 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
CompressedSRGB8Alpha8Astc5x4 |
ASTC compressed sRGB with alpha with 5x4 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
CompressedRGBAAstc5x5 |
ASTC compressed RGBA with 5x5 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
CompressedSRGB8Alpha8Astc5x5 |
ASTC compressed sRGB with alpha with 5x5 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
CompressedRGBAAstc6x5 |
ASTC compressed RGBA with 6x5 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
CompressedSRGB8Alpha8Astc6x5 |
ASTC compressed sRGB with alpha with 6x5 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
CompressedRGBAAstc6x6 |
ASTC compressed RGBA with 6x6 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
CompressedSRGB8Alpha8Astc6x6 |
ASTC compressed sRGB with alpha with 6x6 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
CompressedRGBAAstc8x5 |
ASTC compressed RGBA with 8x5 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
CompressedSRGB8Alpha8Astc8x5 |
ASTC compressed sRGB with alpha with 8x5 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
CompressedRGBAAstc8x6 |
ASTC compressed RGBA with 8x6 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
CompressedSRGB8Alpha8Astc8x6 |
ASTC compressed sRGB with alpha with 8x6 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
CompressedRGBAAstc8x8 |
ASTC compressed RGBA with 8x8 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
CompressedSRGB8Alpha8Astc8x8 |
ASTC compressed sRGB with alpha with 8x8 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
CompressedRGBAAstc10x5 |
ASTC compressed RGBA with 10x5 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
CompressedSRGB8Alpha8Astc10x5 |
ASTC compressed sRGB with alpha with 10x5 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
CompressedRGBAAstc10x6 |
ASTC compressed RGBA with 10x6 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
CompressedSRGB8Alpha8Astc10x6 |
ASTC compressed sRGB with alpha with 10x6 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
CompressedRGBAAstc10x8 |
ASTC compressed RGBA with 10x8 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
CompressedSRGB8Alpha8Astc10x8 |
ASTC compressed sRGB with alpha with 10x8 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
CompressedRGBAAstc10x10 |
ASTC compressed RGBA with 10x10 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
CompressedSRGB8Alpha8Astc10x10 |
ASTC compressed sRGB with alpha with 10x10 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
CompressedRGBAAstc12x10 |
ASTC compressed RGBA with 12x10 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
CompressedSRGB8Alpha8Astc12x10 |
ASTC compressed sRGB with alpha with 12x10 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
CompressedRGBAAstc12x12 |
ASTC compressed RGBA with 12x12 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
CompressedSRGB8Alpha8Astc12x12 |
ASTC compressed sRGB with alpha with 12x12 blocks. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
CompressedRGBAAstc3x3x3 |
3D ASTC compressed RGBA with 3x3x3 blocks. Available only on 3D textures. |
CompressedSRGB8Alpha8Astc3x3x3 |
3D ASTC compressed sRGB with alpha with 3x3x3 blocks. Available only on 3D textures. |
CompressedRGBAAstc4x3x3 |
3D ASTC compressed RGBA with 4x3x3 blocks. Available only on 3D textures. |
CompressedSRGB8Alpha8Astc4x3x3 |
3D ASTC compressed sRGB with alpha with 4x3x3 blocks. Available only on 3D textures. |
CompressedRGBAAstc4x4x3 |
3D ASTC compressed RGBA with 4x4x3 blocks. Available only on 3D textures. |
CompressedSRGB8Alpha8Astc4x4x3 |
3D ASTC compressed sRGB with alpha with 4x4x3 blocks. Available only on 3D textures. |
CompressedRGBAAstc4x4x4 |
3D ASTC compressed RGBA with 4x4x4 blocks. Available only on 3D textures. |
CompressedSRGB8Alpha8Astc4x4x4 |
3D ASTC compressed sRGB with alpha with 4x4x4 blocks. Available only on 3D textures. |
CompressedRGBAAstc5x4x4 |
3D ASTC compressed RGBA with 5x4x4 blocks. Available only on 3D textures. |
CompressedSRGB8Alpha8Astc5x4x4 |
3D ASTC compressed sRGB with alpha with 5x4x4 blocks. Available only on 3D textures. |
CompressedRGBAAstc5x5x4 |
3D ASTC compressed RGBA with 5x5x4 blocks. Available only on 3D textures. |
CompressedSRGB8Alpha8Astc5x5x4 |
3D ASTC compressed sRGB with alpha with 5x5x4 blocks. Available only on 3D textures. |
CompressedRGBAAstc5x5x5 |
3D ASTC compressed RGBA with 5x5x5 blocks. Available only on 3D textures. |
CompressedSRGB8Alpha8Astc5x5x5 |
3D ASTC compressed sRGB with alpha with 5x5x5 blocks. Available only on 3D textures. |
CompressedRGBAAstc6x5x5 |
3D ASTC compressed RGBA with 6x5x5 blocks. Available only on 3D textures. |
CompressedSRGB8Alpha8Astc6x5x5 |
3D ASTC compressed sRGB with alpha with 6x5x5 blocks. Available only on 3D textures. |
CompressedRGBAAstc6x6x5 |
3D ASTC compressed RGBA with 6x6x5 blocks. Available only on 3D textures. |
CompressedSRGB8Alpha8Astc6x6x5 |
3D ASTC compressed sRGB with alpha with 6x6x5 blocks. Available only on 3D textures. |
CompressedRGBAAstc6x6x6 |
3D ASTC compressed RGBA with 6x6x6 blocks. Available only on 3D textures. |
CompressedSRGB8Alpha8Astc6x6x6 |
3D ASTC compressed sRGB with alpha with 6x6x6 blocks. Available only on 3D textures. |
CompressedRGBPvrtc2bppV1 |
PVRTC compressed RGB, normalized unsigned byte with 2 bits per pixel. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
CompressedSRGBPvrtc2bppV1 |
PVRTC compressed sRGB, normalized unsigned byte with 2 bits per pixel. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
CompressedRGBAPvrtc2bppV1 |
PVRTC compressed RGBA, normalized unsigned byte with 2 bits per pixel. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
CompressedSRGBAlphaPvrtc2bppV1 |
PVRTC compressed sRGB + linear alpha, normalized unsigned byte with 2 bits per pixel. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
CompressedRGBPvrtc4bppV1 |
PVRTC compressed RGB, normalized unsigned byte with 4 bits per pixel. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
CompressedSRGBPvrtc4bppV1 |
PVRTC compressed sRGB, normalized unsigned byte with 4 bits per pixel. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
CompressedRGBAPvrtc4bppV1 |
PVRTC compressed RGBA, normalized unsigned byte with 4 bits per pixel. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
CompressedSRGBAlphaPvrtc4bppV1 |
PVRTC compressed sRGB + linear alpha, normalized unsigned byte with 4 bits per pixel. Available only on 2D, 3D, 2D array, cube map and cube map array textures. |
DepthComponent |
Depth component, size implementation-dependent. Not supported in 3D textures. Not allowed in unemulated *Texture:: |
DepthComponent16 |
Depth component, 16bit. Not supported in 3D textures. |
DepthComponent24 |
Depth component, 24bit. Not supported in 3D textures. |
DepthComponent32 |
Depth component, 32bit. Not supported in 3D textures. |
DepthComponent32F |
Depth component, 32bit float. Not supported in 3D textures. |
StencilIndex8 |
Stencil index, 8bit. Not supported in 3D textures. |
DepthStencil |
Depth and stencil component, size implementation-dependent. Not supported in 3D textures. Not allowed in unemulated *Texture:: |
Depth24Stencil8 |
24bit depth and 8bit stencil component. Not supported in 3D textures. |
Depth32FStencil8 |
32bit float depth component and 8bit stencil component. Not supported in 3D textures. |
enum class Magnum:: GL:: Version: Int
#include <Magnum/GL/Version.h>
OpenGL version.
Enumerators | |
---|---|
None |
Unspecified |
GL210 |
OpenGL 2.1 / GLSL 1.20 |
GL300 |
OpenGL 3.0 / GLSL 1.30 |
GL310 |
OpenGL 3.1 / GLSL 1.40 |
GL320 |
OpenGL 3.2 / GLSL 1.50 |
GL330 |
OpenGL 3.3, GLSL 3.30 |
GL400 |
OpenGL 4.0, GLSL 4.00 |
GL410 |
OpenGL 4.1, GLSL 4.10 |
GL420 |
OpenGL 4.2, GLSL 4.20 |
GL430 |
OpenGL 4.3, GLSL 4.30 |
GL440 |
OpenGL 4.4, GLSL 4.40 |
GL450 |
OpenGL 4.5, GLSL 4.50 |
GL460 |
OpenGL 4.6, GLSL 4.60 |
GLES200 |
OpenGL ES 2.0 or WebGL 1.0, GLSL ES 1.00. On desktop OpenGL, all related functionality is present in extension ARB_ |
GLES300 |
OpenGL ES 3.0 or WebGL 2.0, GLSL ES 3.00. On desktop OpenGL, all related functionality is present in extension ARB_ |
GLES310 |
OpenGL ES 3.1, GLSL ES 3.10. On desktop OpenGL, all related functionality is present in extension ARB_ |
GLES320 |
OpenGL ES 3.2, GLSL ES 3.20. On desktop OpenGL, all related functionality is present in extension ARB_ |
Typedef documentation
typedef Containers:: EnumSet<FramebufferClear> Magnum:: GL:: FramebufferClearMask
#include <Magnum/GL/AbstractFramebuffer.h>
Mask for framebuffer clearing.
typedef Containers:: EnumSet<FramebufferBlit> Magnum:: GL:: FramebufferBlitMask
#include <Magnum/GL/AbstractFramebuffer.h>
Mask for framebuffer blitting.
typedef Containers:: EnumSet<ObjectFlag> Magnum:: GL:: ObjectFlags
#include <Magnum/GL/AbstractObject.h>
Object wrapping flags.
typedef BufferImage<1> Magnum:: GL:: BufferImage1D
#include <Magnum/GL/BufferImage.h>
One-dimensional buffer image.
typedef BufferImage<2> Magnum:: GL:: BufferImage2D
#include <Magnum/GL/BufferImage.h>
Two-dimensional buffer image.
typedef BufferImage<3> Magnum:: GL:: BufferImage3D
#include <Magnum/GL/BufferImage.h>
Three-dimensional buffer image.
typedef CompressedBufferImage<1> Magnum:: GL:: CompressedBufferImage1D
#include <Magnum/GL/BufferImage.h>
One-dimensional compressed buffer image.
typedef CompressedBufferImage<2> Magnum:: GL:: CompressedBufferImage2D
#include <Magnum/GL/BufferImage.h>
Two-dimensional compressed buffer image.
typedef CompressedBufferImage<3> Magnum:: GL:: CompressedBufferImage3D
#include <Magnum/GL/BufferImage.h>
Three-dimensional compressed buffer image.
typedef MultisampleTexture<2> Magnum:: GL:: MultisampleTexture2D
#include <Magnum/GL/MultisampleTexture.h>
Two-dimensional multisample texture.
typedef MultisampleTexture<3> Magnum:: GL:: MultisampleTexture2DArray
#include <Magnum/GL/MultisampleTexture.h>
Two-dimensional multisample texture array.
typedef Texture<1> Magnum:: GL:: Texture1D
#include <Magnum/GL/Texture.h>
One-dimensional texture.
typedef Texture<2> Magnum:: GL:: Texture2D
#include <Magnum/GL/Texture.h>
Two-dimensional texture.
typedef Texture<3> Magnum:: GL:: Texture3D
#include <Magnum/GL/Texture.h>
Three-dimensional texture.
typedef TextureArray<1> Magnum:: GL:: Texture1DArray
#include <Magnum/GL/TextureArray.h>
One-dimensional texture array.
typedef TextureArray<2> Magnum:: GL:: Texture2DArray
#include <Magnum/GL/TextureArray.h>
Two-dimensional texture array.
Function documentation
#include <Magnum/GL/Attribute.h>
template<UnsignedInt location, class T>
Debug& Magnum:: GL:: operator<<(Debug& debug,
Attribute<location, T>::Components)
Debug output operator.
#include <Magnum/GL/Attribute.h>
template<UnsignedInt location, class T>
Debug& Magnum:: GL:: operator<<(Debug& debug,
Attribute<location, T>::DataType)
Debug output operator.
Debug& Magnum:: GL:: operator<<(Debug& debug,
DynamicAttribute:: Kind)
#include <Magnum/GL/Attribute.h>
Debug output operator.
Debug& Magnum:: GL:: operator<<(Debug& debug,
DynamicAttribute:: Components)
#include <Magnum/GL/Attribute.h>
Debug output operator.
Debug& Magnum:: GL:: operator<<(Debug& debug,
DynamicAttribute:: DataType)
#include <Magnum/GL/Attribute.h>
Debug output operator.
bool Magnum:: GL:: hasVertexFormat(Magnum:: VertexFormat format) new in 2020.06
#include <Magnum/GL/Attribute.h>
Check availability of a generic mesh attribute type.
Some OpenGL targets don't support all mesh attribute types (for example OpenGL ES doesn't support double-precision types). Returns false
if current target can't support such type, true
otherwise. The type
value is expected to be valid.
Note that, unlike with pixel format mapping, there's no way to represent an implementation-specific mesh attribute type using a single 32-bit value and thus this function returns false
also for all formats for which isVertexFormatImplementationSpecific() is true
— you need to do such mapping by hand by creating a corresponding DynamicAttribute.
Debug& Magnum:: GL:: operator<<(Debug& debug,
Buffer:: TargetHint value)
#include <Magnum/GL/Buffer.h>
Debug output operator.
Debug& Magnum:: GL:: operator<<(Debug& debug,
Buffer:: Target value)
#include <Magnum/GL/Buffer.h>
Debug output operator.
Debug& Magnum:: GL:: operator<<(Debug& debug,
Context:: Flag value)
#include <Magnum/GL/Context.h>
Debug output operator.
Debug& Magnum:: GL:: operator<<(Debug& debug,
Context:: Flags value)
#include <Magnum/GL/Context.h>
Debug output operator.
Debug& Magnum:: GL:: operator<<(Debug& debug,
Context:: DetectedDriver value)
#include <Magnum/GL/Context.h>
Debug output operator.
Debug& Magnum:: GL:: operator<<(Debug& debug,
Context:: DetectedDrivers value)
#include <Magnum/GL/Context.h>
Debug output operator.
Debug& Magnum:: GL:: operator<<(Debug& debug,
DebugOutput:: Source value)
#include <Magnum/GL/DebugOutput.h>
Debug output operator.
Debug& Magnum:: GL:: operator<<(Debug& debug,
DebugOutput:: Type value)
#include <Magnum/GL/DebugOutput.h>
Debug output operator.
Debug& Magnum:: GL:: operator<<(Debug& debug,
DebugOutput:: Severity value)
#include <Magnum/GL/DebugOutput.h>
Debug output operator.
Debug& Magnum:: GL:: operator<<(Debug& debug,
DebugMessage:: Source value)
#include <Magnum/GL/DebugOutput.h>
Debug output operator.
Debug& Magnum:: GL:: operator<<(Debug& debug,
DebugMessage:: Type value)
#include <Magnum/GL/DebugOutput.h>
Debug output operator.
Debug& Magnum:: GL:: operator<<(Debug& debug,
DebugGroup:: Source value)
#include <Magnum/GL/DebugOutput.h>
Debug output operator.
Debug& Magnum:: GL:: operator<<(Debug& debug,
DefaultFramebuffer:: Status value)
#include <Magnum/GL/DefaultFramebuffer.h>
Debug output operator.
Debug& Magnum:: GL:: operator<<(Debug& debug,
Framebuffer:: Status value)
#include <Magnum/GL/Framebuffer.h>
Debug output operator.
bool Magnum:: GL:: hasMeshPrimitive(Magnum:: MeshPrimitive primitive) new in 2020.06
#include <Magnum/GL/Mesh.h>
Check availability of a generic mesh primitive.
Returns false
if OpenGL doesn't support such primitive, true
otherwise. Moreover, returns true
also for all formats that are isMeshPrimitiveImplementationSpecific(). The primitive
value is expected to be valid.
MeshPrimitive Magnum:: GL:: meshPrimitive(Magnum:: MeshPrimitive primitive)
#include <Magnum/GL/Mesh.h>
Convert generic mesh primitive to OpenGL mesh primitive.
In case isMeshPrimitiveImplementationSpecific() returns false
for primitive
, maps it to a corresponding OpenGL mesh primitive. In case isMeshPrimitiveImplementationSpecific() returns true
, assumes primitive
stores OpenGL-specific mesh primitive and returns meshPrimitiveUnwrap() cast to GL::
Not all generic mesh primitives are available in OpenGL and this function expects that given primitive is available. Use hasMeshPrimitive() to query availability of given primitive.
MeshIndexType Magnum:: GL:: meshIndexType(Magnum:: MeshIndexType type)
#include <Magnum/GL/Mesh.h>
Convert generic mesh index type to OpenGL mesh index type.
In case isMeshIndexTypeImplementationSpecific() returns false
for type
, maps it to a corresponding OpenGL type. In case isMeshIndexTypeImplementationSpecific() returns true
, assumes type
stores a Vulkan-specific format and returns meshIndexTypeUnwrap() cast to MeshIndexType.
UnsignedInt Magnum:: GL:: meshIndexTypeSize(MeshIndexType type) new in Git master
#include <Magnum/GL/Mesh.h>
Size of given mesh index type.
Debug& Magnum:: GL:: operator<<(Debug& debug,
MeshPrimitive value)
#include <Magnum/GL/Mesh.h>
Debug output operator.
Debug& Magnum:: GL:: operator<<(Debug& debug,
MeshIndexType value)
#include <Magnum/GL/Mesh.h>
Debug output operator.
bool Magnum:: GL:: hasPixelFormat(Magnum:: PixelFormat format)
#include <Magnum/GL/PixelFormat.h>
Check availability of a generic pixel format.
Some OpenGL targets don't support all generic pixel formats (for example WebGL 1.0 and OpenGL ES 2.0 don't support most of single- and two-component or integer formats). Returns false
if current target can't support such format, true
otherwise. Moreover, returns true
also for all formats that are isPixelFormatImplementationSpecific(). The format
value is expected to be valid.
The mapping operation is done with an complexity.
PixelFormat Magnum:: GL:: pixelFormat(Magnum:: PixelFormat format)
#include <Magnum/GL/PixelFormat.h>
Convert a generic pixel format to OpenGL pixel format.
In case isPixelFormatImplementationSpecific() returns false
for format
, maps it to a corresponding OpenGL pixel format. In case isPixelFormatImplementationSpecific() returns true
, assumes format
stores OpenGL-specific pixel format and returns pixelFormatUnwrap() cast to GL::
Not all generic pixel formats may be available on all targets and this function expects that given format is available on the target. Use hasPixelFormat() to query availability of given format.
The mapping operation is done with an complexity.
PixelType Magnum:: GL:: pixelType(Magnum:: PixelFormat format,
UnsignedInt extra = 0)
#include <Magnum/GL/PixelFormat.h>
Convert a generic pixel format to OpenGL pixel type.
In case isPixelFormatImplementationSpecific() returns false
for format
, maps it to a corresponding OpenGL pixel type. In case isPixelFormatImplementationSpecific() returns true
, assumes extra
stores OpenGL-specific pixel type and returns it cast to GL::
Not all generic pixel formats may be available on all targets and this function expects that given format is available on the target. Use hasPixelFormat() to query availability of given format.
The mapping operation is done with an complexity.
UnsignedInt Magnum:: GL:: pixelFormatSize(PixelFormat format,
PixelType type)
#include <Magnum/GL/PixelFormat.h>
Size of a pixel for given format/type combination in bytes.
UnsignedInt Magnum:: GL:: pixelSize(PixelFormat format,
PixelType type)
#include <Magnum/GL/PixelFormat.h>
Size of a pixel for given format/type combination in bytes.
Containers:: Optional<Magnum:: PixelFormat> Magnum:: GL:: genericPixelFormat(PixelFormat format,
PixelType type) new in Git master
#include <Magnum/GL/PixelFormat.h>
Convert OpenGL pixel format and type combination to a generic pixel format.
Returns Containers::format
and type
when passed back to pixelFormat(Magnum::
An exception is sRGB formats — those map to the same OpenGL format + type combination, e.g. Magnum::
Unlike mapping from a generic pixel format, the inverse operation is done with an complexity.
Debug& Magnum:: GL:: operator<<(Debug& debug,
PixelFormat value)
#include <Magnum/GL/PixelFormat.h>
Debug output operator.
Debug& Magnum:: GL:: operator<<(Debug& debug,
PixelType value)
#include <Magnum/GL/PixelFormat.h>
Debug output operator.
bool Magnum:: GL:: hasCompressedPixelFormat(Magnum:: CompressedPixelFormat format)
#include <Magnum/GL/PixelFormat.h>
Check availability of generic compressed pixel format.
Some OpenGL targets don't support all generic pixel formats (for example PVRTC compression might not be available on desktop OpenGL). Returns false
if current target can't support such format, true
otherwise. Moreover, returns true
also for all formats that are isCompressedPixelFormatImplementationSpecific(). The format
value is expected to be valid.
The mapping operation is done with an complexity.
CompressedPixelFormat Magnum:: GL:: compressedPixelFormat(Magnum:: CompressedPixelFormat format)
#include <Magnum/GL/PixelFormat.h>
Convert generic compressed pixel format to OpenGL compressed pixel format.
In case isCompressedPixelFormatImplementationSpecific() returns false
for format
, maps it to a corresponding OpenGL pixel format. In case isCompressedPixelFormatImplementationSpecific() returns true
, assumes format
stores OpenGL-specific pixel format and returns compressedPixelFormatUnwrap() cast to GL::
Not all generic pixel formats may be available on all targets and this function expects that given format is available on the target. Use hasCompressedPixelFormat() to query availability of given format.
The mapping operation is done with an complexity.
Containers:: Optional<Magnum:: CompressedPixelFormat> Magnum:: GL:: genericCompressedPixelFormat(CompressedPixelFormat format) new in Git master
#include <Magnum/GL/PixelFormat.h>
Convert OpenGL compressed pixel format to a generic compressed pixel format.
Returns Containers::format
when passed back to compressedPixelFormat(Magnum::
An exception is ASTC float and normalized formats — those map to the same OpenGL format, e.g. Magnum::
Unlike mapping from a generic pixel format, the inverse operation is done with an complexity.
Debug& Magnum:: GL:: operator<<(Debug& debug,
CompressedPixelFormat value)
#include <Magnum/GL/PixelFormat.h>
Debug output operator.
Debug& Magnum:: GL:: operator<<(Debug& debug,
Renderer:: Error value)
#include <Magnum/GL/Renderer.h>
Debug output operator.
Debug& Magnum:: GL:: operator<<(Debug& debug,
Renderer:: ResetNotificationStrategy value)
#include <Magnum/GL/Renderer.h>
Debug output operator.
Debug& Magnum:: GL:: operator<<(Debug& debug,
Renderer:: GraphicsResetStatus value)
#include <Magnum/GL/Renderer.h>
Debug output operator.
SamplerFilter Magnum:: GL:: samplerFilter(Magnum:: SamplerFilter filter)
#include <Magnum/GL/Sampler.h>
Convert generic texture sampler filter mode to OpenGL filter mode.
Debug& Magnum:: GL:: operator<<(Debug& debug,
SamplerFilter value)
#include <Magnum/GL/Sampler.h>
Debug output operator.
SamplerMipmap Magnum:: GL:: samplerMipmap(Magnum:: SamplerMipmap mipmap)
#include <Magnum/GL/Sampler.h>
Convert generic sampler filter mode to OpenGL filter mode.
Debug& Magnum:: GL:: operator<<(Debug& debug,
SamplerMipmap value)
#include <Magnum/GL/Sampler.h>
Debug output operator.
bool Magnum:: GL:: hasSamplerWrapping(Magnum:: SamplerWrapping wrapping)
#include <Magnum/GL/Sampler.h>
Check availability of a generic sampler wrapping mode.
Some OpenGL targets don't support all generic sampler wrapping modes (for example the SamplerWrapping::false
if current target can't support such format, true
otherwise. The filter
value is expected to be valid.
SamplerWrapping Magnum:: GL:: samplerWrapping(Magnum:: SamplerWrapping wrapping)
#include <Magnum/GL/Sampler.h>
Convert generic sampler filter mode to OpenGL filter mode.
Not all generic sampler wrapping modes may be available on all targets and this function expects that given format is available on the target. Use hasSamplerWrapping() to query availability of given mode.
#include <Magnum/GL/Sampler.h>
template<std:: size_t dimensions>
Math:: Vector<dimensions, SamplerWrapping> Magnum:: GL:: samplerWrapping(const Math:: Vector<dimensions, Magnum:: SamplerWrapping>& wrapping)
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Debug& Magnum:: GL:: operator<<(Debug& debug,
SamplerWrapping value)
#include <Magnum/GL/Sampler.h>
Debug output operator.
Debug& Magnum:: GL:: operator<<(Debug& debug,
SamplerCompareMode value)
#include <Magnum/GL/Sampler.h>
Debug output operator.
Debug& Magnum:: GL:: operator<<(Debug& debug,
SamplerCompareFunction value)
#include <Magnum/GL/Sampler.h>
Debug output operator.
Debug& Magnum:: GL:: operator<<(Debug& debug,
SamplerDepthStencilMode value)
#include <Magnum/GL/Sampler.h>
Debug output operator.
Debug& Magnum:: GL:: operator<<(Debug& debug,
Shader:: Type value)
#include <Magnum/GL/Shader.h>
Debug output operator.
bool Magnum:: GL:: hasTextureFormat(Magnum:: PixelFormat format) new in 2019.10
#include <Magnum/GL/TextureFormat.h>
Check availability of a sized generic texture format.
Some OpenGL targets don't support sized texture formats at all (OpenGL ES 2.0 and WebGL 1.0), some targets miss some variants (for example OpenGL ES doesn't have any 8-bit packed formats) Returns false
if current target can't support such format, true
otherwise. Expects isPixelFormatImplementationSpecific() returns false
for given format
as OpenGL pixel format enum values usually can't be used to specify internal texture format as well.
For OpenGL ES 2.0 (and WebGL 1.0) targets in particular the mapping is very complex and instead of using this function it's recommend to do the mapping manually based on whether Texture::
The mapping operation is done with an complexity.
TextureFormat Magnum:: GL:: textureFormat(Magnum:: PixelFormat format) new in 2019.10
#include <Magnum/GL/TextureFormat.h>
Convert a generic pixel format to sized OpenGL texture format.
Not all sized texture formats may be available on all targets and this function expects that given format is available on the target. See hasTextureFormat() for more information about checking availability of given format. Expects isPixelFormatImplementationSpecific() returns false
for given format
as OpenGL pixel format enum values usually can't be used to specify internal texture format as well.
For OpenGL ES 2.0 (and WebGL 1.0) targets in particular the mapping is very complex and instead of using this function it's recommend to do the mapping manually based on whether Texture::
The mapping operation is done with an complexity.
bool Magnum:: GL:: hasTextureFormat(Magnum:: CompressedPixelFormat format) new in 2019.10
#include <Magnum/GL/TextureFormat.h>
Check availability of a generic compressed texture format.
Some OpenGL targets don't support all generic pixel formats (for example PVRTC compression might not be available on desktop OpenGL). Returns false
if current target can't support such format, true
otherwise. Moreover, returns true
also for all formats that are isCompressedPixelFormatImplementationSpecific(). The format
value is expected to be valid. This is different from hasTextureFormat(Magnum::
The mapping operation is done with an complexity.
TextureFormat Magnum:: GL:: textureFormat(Magnum:: CompressedPixelFormat format) new in 2019.10
#include <Magnum/GL/TextureFormat.h>
Convert generic compressed pixel format to OpenGL texture format.
In case isCompressedPixelFormatImplementationSpecific() returns false
for format
, maps it to a corresponding OpenGL pixel format. In case isCompressedPixelFormatImplementationSpecific() returns true
, assumes format
stores OpenGL-specific pixel format and returns compressedPixelFormatUnwrap() cast to GL::
Not all generic pixel formats may be available on all targets and this function expects that given format is available on the target. Use hasTextureFormat() to query availability of given format.
The mapping operation is done with an complexity.
Containers:: Optional<Magnum:: PixelFormat> Magnum:: GL:: genericPixelFormat(TextureFormat format) new in Git master
#include <Magnum/GL/TextureFormat.h>
Convert OpenGL texture format to a generic pixel format.
Returns Containers::format
when passed back to textureFormat(Magnum::
Unlike mapping from a generic pixel format, the inverse operation is done with an complexity.
Containers:: Optional<Magnum:: CompressedPixelFormat> Magnum:: GL:: genericCompressedPixelFormat(TextureFormat format) new in Git master
#include <Magnum/GL/TextureFormat.h>
Convert OpenGL compressed texture format to a generic compressed pixel format.
Returns Containers::format
when passed back to textureFormat(Magnum::
An exception is ASTC float and normalized formats — those map to the same OpenGL format, e.g. Magnum::
Unlike mapping from a generic pixel format, the inverse operation is done with an complexity.
Debug& Magnum:: GL:: operator<<(Debug& debug,
TextureFormat value) new in 2019.10
#include <Magnum/GL/TextureFormat.h>
Debug output operator.
Version Magnum:: GL:: version(Int major,
Int minor) constexpr
#include <Magnum/GL/Version.h>
Enum value from major and minor version number.
Containers:: Pair<Int, Int> Magnum:: GL:: version(Version version)
#include <Magnum/GL/Version.h>
Major and minor version number from enum value.
bool Magnum:: GL:: isVersionES(Version version) constexpr
#include <Magnum/GL/Version.h>
Whether given version is OpenGL ES or WebGL.
Always true
on OpenGL ES and WebGL build.
Debug& Magnum:: GL:: operator<<(Debug& debug,
Version value)
#include <Magnum/GL/Version.h>
Debug output operator.
Variable documentation
DefaultFramebuffer Magnum:: GL:: defaultFramebuffer
#include <Magnum/GL/DefaultFramebuffer.h>
Default framebuffer instance.