QOpenGLTexture Class
The QOpenGLTexture class encapsulates an OpenGL texture object. More...
| Header: | #include <QOpenGLTexture> |
| qmake: | QT += gui |
| Since: | Qt 5.2 |
This class was introduced in Qt 5.2.
Public Types
| enum | BindingTarget { BindingTarget1D, BindingTarget1DArray, BindingTarget2D, BindingTarget2DArray, BindingTarget3D, …, BindingTargetBuffer } |
| enum | ComparisonFunction { CompareLessEqual, CompareGreaterEqual, CompareLess, CompareGreater, CompareEqual, …, CompareNever } |
| enum | ComparisonMode { CompareRefToTexture, CompareNone } |
| enum | CoordinateDirection { DirectionS, DirectionT, DirectionR } |
| enum | CubeMapFace { CubeMapPositiveX, CubeMapNegativeX, CubeMapPositiveY, CubeMapNegativeY, CubeMapPositiveZ, CubeMapNegativeZ } |
| enum | DepthStencilMode { DepthMode, StencilMode } |
| enum | Feature { ImmutableStorage, ImmutableMultisampleStorage, TextureRectangle, TextureArrays, Texture3D, …, TextureMipMapLevel } |
| enum | Filter { Nearest, Linear, NearestMipMapNearest, NearestMipMapLinear, LinearMipMapNearest, LinearMipMapLinear } |
| enum | MipMapGeneration { GenerateMipMaps, DontGenerateMipMaps } |
| enum | PixelFormat { NoSourceFormat, Red, RG, RGB, BGR, …, LuminanceAlpha } |
| enum | PixelType { NoPixelType, Int8, UInt8, Int16, UInt16, …, Float32_D32_UInt32_S8_X24 } |
| enum | SwizzleComponent { SwizzleRed, SwizzleGreen, SwizzleBlue, SwizzleAlpha } |
| enum | SwizzleValue { RedValue, GreenValue, BlueValue, AlphaValue, ZeroValue, OneValue } |
| enum | Target { Target1D, Target1DArray, Target2D, Target2DArray, Target3D, …, TargetBuffer } |
| enum | TextureFormat { NoFormat, R8_UNorm, RG8_UNorm, RGB8_UNorm, RGBA8_UNorm, …, LuminanceAlphaFormat } |
| enum | TextureUnitReset { ResetTextureUnit, DontResetTextureUnit } |
| enum | WrapMode { Repeat, MirroredRepeat, ClampToEdge, ClampToBorder } |
Detailed Description
QOpenGLTexture makes it easy to work with OpenGL textures and the myriad features and targets that they offer depending upon the capabilities of your OpenGL implementation.
The typical usage pattern for QOpenGLTexture is
- Instantiate the object specifying the texture target type
- Set properties that affect the storage requirements e.g. storage format, dimensions
- Allocate the server-side storage
- Optionally upload pixel data
- Optionally set any additional properties e.g. filtering and border options
- Render with texture or render to texture
In the common case of simply using a QImage as the source of texture pixel data most of the above steps are performed automatically.
// Prepare texture QOpenGLTexture *texture = new QOpenGLTexture(QImage(fileName).mirrored()); texture->setMinificationFilter(QOpenGLTexture::LinearMipMapLinear); texture->setMagnificationFilter(QOpenGLTexture::Linear); ... // Render with texture texture->bind(); glDrawArrays(...);
Note that the QImage is mirrored vertically to account for the fact that OpenGL and QImage use opposite directions for the y axis. Another option would be to transform your texture coordinates.
Member Type Documentation
enum QOpenGLTexture::BindingTarget
This enum defines the possible binding targets of texture units.
| Constant | Value | Description |
|---|---|---|
QOpenGLTexture::BindingTarget1D | 0x8068 | Equivalent to GL_TEXTURE_BINDING_1D |
QOpenGLTexture::BindingTarget1DArray | 0x8C1C | Equivalent to GL_TEXTURE_BINDING_1D_ARRAY |
QOpenGLTexture::BindingTarget2D | 0x8069 | Equivalent to GL_TEXTURE_BINDING_2D |
QOpenGLTexture::BindingTarget2DArray | 0x8C1D | Equivalent to GL_TEXTURE_BINDING_2D_ARRAY |
QOpenGLTexture::BindingTarget3D | 0x806A | Equivalent to GL_TEXTURE_BINDING_3D |
QOpenGLTexture::BindingTargetCubeMap | 0x8514 | Equivalent to GL_TEXTURE_BINDING_CUBE_MAP |
QOpenGLTexture::BindingTargetCubeMapArray | 0x900A | Equivalent to GL_TEXTURE_BINDING_CUBE_MAP_ARRAY |
QOpenGLTexture::BindingTarget2DMultisample | 0x9104 | Equivalent to GL_TEXTURE_BINDING_2D_MULTISAMPLE |
QOpenGLTexture::BindingTarget2DMultisampleArray | 0x9105 | Equivalent to GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY |
QOpenGLTexture::BindingTargetRectangle | 0x84F6 | Equivalent to GL_TEXTURE_BINDING_RECTANGLE |
QOpenGLTexture::BindingTargetBuffer | 0x8C2C | Equivalent to GL_TEXTURE_BINDING_BUFFER |
enum QOpenGLTexture::ComparisonFunction
This enum specifies which comparison operator is used when texture comparison is enabled on this texture.
| Constant | Value | Description |
|---|---|---|
QOpenGLTexture::CompareLessEqual | 0x0203 | Equivalent to GL_LEQUAL. |
QOpenGLTexture::CompareGreaterEqual | 0x0206 | Equivalent to GL_GEQUAL. |
QOpenGLTexture::CompareLess | 0x0201 | Equivalent to GL_LESS. |
QOpenGLTexture::CompareGreater | 0x0204 | Equivalent to GL_GREATER. |
QOpenGLTexture::CompareEqual | 0x0202 | Equivalent to GL_EQUAL. |
QOpenGLTexture::CommpareNotEqual | 0x0205 | Equivalent to GL_NOTEQUAL. |
QOpenGLTexture::CompareAlways | 0x0207 | Equivalent to GL_ALWAYS. |
QOpenGLTexture::CompareNever | 0x0200 | Equivalent to GL_NEVER. |
This enum was introduced or modified in Qt 5.5.
enum QOpenGLTexture::ComparisonMode
This enum specifies which comparison mode is used when sampling this texture.
| Constant | Value | Description |
|---|---|---|
QOpenGLTexture::CompareRefToTexture | 0x884E | Equivalent to GL_COMPARE_REF_TO_TEXTURE. |
QOpenGLTexture::CompareNone | 0x0000 | Equivalent to GL_NONE. |
This enum was introduced or modified in Qt 5.5.
enum QOpenGLTexture::CoordinateDirection
This enum defines the possible texture coordinate directions
| Constant | Value | Description |
|---|---|---|
QOpenGLTexture::DirectionS | 0x2802 | The horizontal direction. Equivalent to GL_TEXTURE_WRAP_S |
QOpenGLTexture::DirectionT | 0x2803 | The vertical direction. Equivalent to GL_TEXTURE_WRAP_T |
QOpenGLTexture::DirectionR | 0x8072 | The depth direction. Equivalent to GL_TEXTURE_WRAP_R |
enum QOpenGLTexture::CubeMapFace
This enum defines the possible CubeMap faces.
| Constant | Value | Description |
|---|---|---|
QOpenGLTexture::CubeMapPositiveX | 0x8515 | Equivalent to GL_TEXTURE_CUBE_MAP_POSITIVE_X |
QOpenGLTexture::CubeMapNegativeX | 0x8516 | Equivalent to GL_TEXTURE_CUBE_MAP_NEGATIVE_X |
QOpenGLTexture::CubeMapPositiveY | 0x8517 | Equivalent to GL_TEXTURE_CUBE_MAP_POSITIVE_Y |
QOpenGLTexture::CubeMapNegativeY | 0x8518 | Equivalent to GL_TEXTURE_CUBE_MAP_NEGATIVE_Y |
QOpenGLTexture::CubeMapPositiveZ | 0x8519 | Equivalent to GL_TEXTURE_CUBE_MAP_POSITIVE_Z |
QOpenGLTexture::CubeMapNegativeZ | 0x851A | Equivalent to GL_TEXTURE_CUBE_MAP_NEGATIVE_Z |
enum QOpenGLTexture::DepthStencilMode
This enum specifies which component of a depth/stencil texture is accessed when the texture is sampled.
| Constant | Value | Description |
|---|---|---|
QOpenGLTexture::DepthMode | 0x1902 | Equivalent to GL_DEPTH_COMPONENT. |
QOpenGLTexture::StencilMode | 0x1901 | Equivalent to GL_STENCIL_INDEX. |
This enum was introduced or modified in Qt 5.4.
enum QOpenGLTexture::Feature
This enum defines the OpenGL texture-related features that can be tested for.
| Constant | Value | Description |
|---|---|---|
QOpenGLTexture::ImmutableStorage | 0x00000001 | Support for immutable texture storage |
QOpenGLTexture::ImmutableMultisampleStorage | 0x00000002 | Support for immutable texture storage with multisample targets |
QOpenGLTexture::TextureRectangle | 0x00000004 | Support for the GL_TEXTURE_RECTANGLE target |
QOpenGLTexture::TextureArrays | 0x00000008 | Support for texture targets with array layers |
QOpenGLTexture::Texture3D | 0x00000010 | Support for the 3 dimensional texture target |
QOpenGLTexture::TextureMultisample | 0x00000020 | Support for texture targets that have multisample capabilities |
QOpenGLTexture::TextureBuffer | 0x00000040 | Support for textures that use OpenGL buffer objects as their data source |
QOpenGLTexture::TextureCubeMapArrays | 0x00000080 | Support for cubemap array texture target |
QOpenGLTexture::Swizzle | 0x00000100 | Support for texture component swizzle masks |
QOpenGLTexture::StencilTexturing | 0x00000200 | Support for stencil texturing (i.e. looking up depth or stencil components of a combined depth/stencil format texture in GLSL shaders). |
QOpenGLTexture::AnisotropicFiltering | 0x00000400 | Support for anisotropic texture filtering |
QOpenGLTexture::NPOTTextures | 0x00000800 | Basic support for non-power-of-two textures |
QOpenGLTexture::NPOTTextureRepeat | 0x00001000 | Full support for non-power-of-two textures including texture repeat modes |
QOpenGLTexture::Texture1D | 0x00002000 | Support for the 1 dimensional texture target |
QOpenGLTexture::TextureComparisonOperators | 0x00004000 | Support for texture comparison operators |
QOpenGLTexture::TextureMipMapLevel | 0x00008000 | Support for setting the base and maximum mipmap levels |
enum QOpenGLTexture::Filter
This enum defines the filtering parameters for a QOpenGLTexture object.
| Constant | Value | Description |
|---|---|---|
QOpenGLTexture::Nearest | 0x2600 | Equivalent to GL_NEAREST |
QOpenGLTexture::Linear | 0x2601 | Equivalent to GL_LINEAR |
QOpenGLTexture::NearestMipMapNearest | 0x2700 | Equivalent to GL_NEAREST_MIPMAP_NEAREST |
QOpenGLTexture::NearestMipMapLinear | 0x2702 | Equivalent to GL_NEAREST_MIPMAP_LINEAR |
QOpenGLTexture::LinearMipMapNearest | 0x2701 | Equivalent to GL_LINEAR_MIPMAP_NEAREST |
QOpenGLTexture::LinearMipMapLinear | 0x2703 | Equivalent to GL_LINEAR_MIPMAP_LINEAR |
enum QOpenGLTexture::MipMapGeneration
This enum defines the options to control mipmap generation.
| Constant | Value | Description |
|---|---|---|
QOpenGLTexture::GenerateMipMaps | 0 | Mipmaps should be generated |
QOpenGLTexture::DontGenerateMipMaps | 1 | Mipmaps should not be generated |
enum QOpenGLTexture::PixelFormat
This enum defines the possible client-side pixel formats for a pixel transfer operation.
| Constant | Value | Description |
|---|---|---|
QOpenGLTexture::NoSourceFormat | 0 | Equivalent to GL_NONE |
QOpenGLTexture::Red | 0x1903 | Equivalent to GL_RED |
QOpenGLTexture::RG | 0x8227 | Equivalent to GL_RG |
QOpenGLTexture::RGB | 0x1907 | Equivalent to GL_RGB |
QOpenGLTexture::BGR | 0x80E0 | Equivalent to GL_BGR |
QOpenGLTexture::RGBA | 0x1908 | Equivalent to GL_RGBA |
QOpenGLTexture::BGRA | 0x80E1 | Equivalent to GL_BGRA |
QOpenGLTexture::Red_Integer | 0x8D94 | Equivalent to GL_RED_INTEGER |
QOpenGLTexture::RG_Integer | 0x8228 | Equivalent to GL_RG_INTEGER |
QOpenGLTexture::RGB_Integer | 0x8D98 | Equivalent to GL_RGB_INTEGER |
QOpenGLTexture::BGR_Integer | 0x8D9A | Equivalent to GL_BGR_INTEGER |
QOpenGLTexture::RGBA_Integer | 0x8D99 | Equivalent to GL_RGBA_INTEGER |
QOpenGLTexture::BGRA_Integer | 0x8D9B | Equivalent to GL_BGRA_INTEGER |
QOpenGLTexture::Stencil | 0x1901 | Equivalent to GL_STENCIL_INDEX. Introduced in Qt 5.4 |
QOpenGLTexture::Depth | 0x1902 | Equivalent to GL_DEPTH_COMPONENT |
QOpenGLTexture::DepthStencil | 0x84F9 | Equivalent to GL_DEPTH_STENCIL |
QOpenGLTexture::Alpha | 0x1906 | Equivalent to GL_ALPHA (OpenGL ES 2 only) |
QOpenGLTexture::Luminance | 0x1909 | Equivalent to GL_LUMINANCE (OpenGL ES 2 only) |
QOpenGLTexture::LuminanceAlpha | 0x190A | Equivalent to GL_LUMINANCE_ALPHA (OpenGL ES 2 only) |
enum QOpenGLTexture::PixelType
This enum defines the possible pixel data types for a pixel transfer operation
| Constant | Value | Description |
|---|---|---|
QOpenGLTexture::NoPixelType | 0 | Equivalent to GL_NONE |
QOpenGLTexture::Int8 | 0x1400 | Equivalent to GL_BYTE |
QOpenGLTexture::UInt8 | 0x1401 | Equivalent to GL_UNSIGNED_BYTE |
QOpenGLTexture::Int16 | 0x1402 | Equivalent to GL_SHORT |
QOpenGLTexture::UInt16 | 0x1403 | Equivalent to GL_UNSIGNED_SHORT |
QOpenGLTexture::Int32 | 0x1404 | Equivalent to GL_INT |
QOpenGLTexture::UInt32 | 0x1405 | Equivalent to GL_UNSIGNED_INT |
QOpenGLTexture::Float16 | 0x140B | Equivalent to GL_HALF_FLOAT |
QOpenGLTexture::Float16OES | 0x8D61 | Equivalent to GL_HALF_FLOAT_OES |
QOpenGLTexture::Float32 | 0x1406 | Equivalent to GL_FLOAT |
QOpenGLTexture::UInt32_RGB9_E5 | 0x8C3E | Equivalent to GL_UNSIGNED_INT_5_9_9_9_REV |
QOpenGLTexture::UInt32_RG11B10F | 0x8C3B | Equivalent to GL_UNSIGNED_INT_10F_11F_11F_REV |
QOpenGLTexture::UInt8_RG3B2 | 0x8032 | Equivalent to GL_UNSIGNED_BYTE_3_3_2 |
QOpenGLTexture::UInt8_RG3B2_Rev | 0x8362 | Equivalent to GL_UNSIGNED_BYTE_2_3_3_REV |
QOpenGLTexture::UInt16_RGB5A1 | 0x8034 | Equivalent to GL_UNSIGNED_SHORT_5_5_5_1 |
QOpenGLTexture::UInt16_RGB5A1_Rev | 0x8366 | Equivalent to GL_UNSIGNED_SHORT_1_5_5_5_REV |
QOpenGLTexture::UInt16_R5G6B5 | 0x8363 | Equivalent to GL_UNSIGNED_SHORT_5_6_5 |
QOpenGLTexture::UInt16_R5G6B5_Rev | 0x8364 | Equivalent to GL_UNSIGNED_SHORT_5_6_5_REV |
QOpenGLTexture::UInt16_RGBA4 | 0x8033 | Equivalent to GL_UNSIGNED_SHORT_4_4_4_4 |
QOpenGLTexture::UInt16_RGBA4_Rev | 0x8365 | Equivalent to GL_UNSIGNED_SHORT_4_4_4_4_REV |
QOpenGLTexture::UInt32_RGBA8 | 0x8035 | Equivalent to GL_UNSIGNED_INT_8_8_8_8 |
QOpenGLTexture::UInt32_RGBA8_Rev | 0x8367 | Equivalent to GL_UNSIGNED_INT_8_8_8_8_REV |
QOpenGLTexture::UInt32_RGB10A2 | 0x8036 | Equivalent to GL_UNSIGNED_INT_10_10_10_2 |
QOpenGLTexture::UInt32_RGB10A2_Rev | 0x8368 | Equivalent to GL_UNSIGNED_INT_2_10_10_10_REV |
QOpenGLTexture::UInt32_D24S8 | 0x84FA | Equivalent to GL_UNSIGNED_INT_24_8. Introduced in Qt 5.4 |
QOpenGLTexture::Float32_D32_UInt32_S8_X24 | 0x8DAD | Equivalent to GL_FLOAT_32_UNSIGNED_INT_24_8_REV. Introduced in Qt 5.4 |
enum QOpenGLTexture::SwizzleComponent
This enum defines the texture color components that can be assigned a swizzle mask.
| Constant | Value | Description |
|---|---|---|
QOpenGLTexture::SwizzleRed | 0x8E42 | The red component. Equivalent to GL_TEXTURE_SWIZZLE_R |
QOpenGLTexture::SwizzleGreen | 0x8E43 | The green component. Equivalent to GL_TEXTURE_SWIZZLE_G |
QOpenGLTexture::SwizzleBlue | 0x8E44 | The blue component. Equivalent to GL_TEXTURE_SWIZZLE_B |
QOpenGLTexture::SwizzleAlpha | 0x8E45 | The alpha component. Equivalent to GL_TEXTURE_SWIZZLE_A |
enum QOpenGLTexture::SwizzleValue
This enum defines the possible mask values for texture swizzling.
| Constant | Value | Description |
|---|---|---|
QOpenGLTexture::RedValue | 0x1903 | Maps the component to the red channel. Equivalent to GL_RED |
QOpenGLTexture::GreenValue | 0x1904 | Maps the component to the green channel. Equivalent to GL_GREEN |
QOpenGLTexture::BlueValue | 0x1905 | Maps the component to the blue channel. Equivalent to GL_BLUE |
QOpenGLTexture::AlphaValue | 0x1906 | Maps the component to the alpha channel. Equivalent to GL_ALPHA |
QOpenGLTexture::ZeroValue | 0 | Maps the component to a fixed value of 0. Equivalent to GL_ZERO |
QOpenGLTexture::OneValue | 1 | Maps the component to a fixed value of 1. Equivalent to GL_ONE |
enum QOpenGLTexture::Target
This enum defines the texture target of a QOpenGLTexture object. For more information on creating array textures, see Array Texture.
| Constant | Value | Description |
|---|---|---|
QOpenGLTexture::Target1D | 0x0DE0 | A 1-dimensional texture. Equivalent to GL_TEXTURE_1D. |
QOpenGLTexture::Target1DArray | 0x8C18 | An array of 1-dimensional textures. Equivalent to GL_TEXTURE_1D_ARRAY |
QOpenGLTexture::Target2D | 0x0DE1 | A 2-dimensional texture. Equivalent to GL_TEXTURE_2D |
QOpenGLTexture::Target2DArray | 0x8C1A | An array of 2-dimensional textures. Equivalent to GL_TEXTURE_2D_ARRAY |
QOpenGLTexture::Target3D | 0x806F | A 3-dimensional texture. Equivalent to GL_TEXTURE_3D |
QOpenGLTexture::TargetCubeMap | 0x8513 | A cubemap texture. Equivalent to GL_TEXTURE_CUBE_MAP |
QOpenGLTexture::TargetCubeMapArray | 0x9009 | An array of cubemap textures. Equivalent to GL_TEXTURE_CUBE_MAP_ARRAY |
QOpenGLTexture::Target2DMultisample | 0x9100 | A 2-dimensional texture with multisample support. Equivalent to GL_TEXTURE_2D_MULTISAMPLE |
QOpenGLTexture::Target2DMultisampleArray | 0x9102 | An array of 2-dimensional textures with multisample support. Equivalent to GL_TEXTURE_2D_MULTISAMPLE_ARRAY |
QOpenGLTexture::TargetRectangle | 0x84F5 | A rectangular 2-dimensional texture. Equivalent to GL_TEXTURE_RECTANGLE |
QOpenGLTexture::TargetBuffer | 0x8C2A | A texture with data from an OpenGL buffer object. Equivalent to GL_TEXTURE_BUFFER |
enum QOpenGLTexture::TextureFormat
This enum defines the possible texture formats. Depending upon your OpenGL implementation only a subset of these may be supported.
| Constant | Value | Description |
|---|---|---|
QOpenGLTexture::NoFormat | 0 | Equivalent to GL_NONE |
QOpenGLTexture::R8_UNorm | 0x8229 | Equivalent to GL_R8 |
QOpenGLTexture::RG8_UNorm | 0x822B | Equivalent to GL_RG8 |
QOpenGLTexture::RGB8_UNorm | 0x8051 | Equivalent to GL_RGB8 |
QOpenGLTexture::RGBA8_UNorm | 0x8058 | Equivalent to GL_RGBA8 |
QOpenGLTexture::R16_UNorm | 0x822A | Equivalent to GL_R16 |
QOpenGLTexture::RG16_UNorm | 0x822C | Equivalent to GL_RG16 |
QOpenGLTexture::RGB16_UNorm | 0x8054 | Equivalent to GL_RGB16 |
QOpenGLTexture::RGBA16_UNorm | 0x805B | Equivalent to GL_RGBA16 |
QOpenGLTexture::R8_SNorm | 0x8F94 | Equivalent to GL_R8_SNORM |
QOpenGLTexture::RG8_SNorm | 0x8F95 | Equivalent to GL_RG8_SNORM |
QOpenGLTexture::RGB8_SNorm | 0x8F96 | Equivalent to GL_RGB8_SNORM |
QOpenGLTexture::RGBA8_SNorm | 0x8F97 | Equivalent to GL_RGBA8_SNORM |
QOpenGLTexture::R16_SNorm | 0x8F98 | Equivalent to GL_R16_SNORM |
QOpenGLTexture::RG16_SNorm | 0x8F99 | Equivalent to GL_RG16_SNORM |
QOpenGLTexture::RGB16_SNorm | 0x8F9A | Equivalent to GL_RGB16_SNORM |
QOpenGLTexture::RGBA16_SNorm | 0x8F9B | Equivalent to GL_RGBA16_SNORM |
QOpenGLTexture::R8U | 0x8232 | Equivalent to GL_R8UI |
QOpenGLTexture::RG8U | 0x8238 | Equivalent to GL_RG8UI |
QOpenGLTexture::RGB8U | 0x8D7D | Equivalent to GL_RGB8UI |
QOpenGLTexture::RGBA8U | 0x8D7C | Equivalent to GL_RGBA8UI |
QOpenGLTexture::R16U | 0x8234 | Equivalent to GL_R16UI |
QOpenGLTexture::RG16U | 0x823A | Equivalent to GL_RG16UI |
QOpenGLTexture::RGB16U | 0x8D77 | Equivalent to GL_RGB16UI |
QOpenGLTexture::RGBA16U | 0x8D76 | Equivalent to GL_RGBA16UI |
QOpenGLTexture::R32U | 0x8236 | Equivalent to GL_R32UI |
QOpenGLTexture::RG32U | 0x823C | Equivalent to GL_RG32UI |
QOpenGLTexture::RGB32U | 0x8D71 | Equivalent to GL_RGB32UI |
QOpenGLTexture::RGBA32U | 0x8D70 | Equivalent to GL_RGBA32UI |
QOpenGLTexture::R8I | 0x8231 | Equivalent to GL_R8I |
QOpenGLTexture::RG8I | 0x8237 | Equivalent to GL_RG8I |
QOpenGLTexture::RGB8I | 0x8D8F | Equivalent to GL_RGB8I |
QOpenGLTexture::RGBA8I | 0x8D8E | Equivalent to GL_RGBA8I |
QOpenGLTexture::R16I | 0x8233 | Equivalent to GL_R16I |
QOpenGLTexture::RG16I | 0x8239 | Equivalent to GL_RG16I |
QOpenGLTexture::RGB16I | 0x8D89 | Equivalent to GL_RGB16I |
QOpenGLTexture::RGBA16I | 0x8D88 | Equivalent to GL_RGBA16I |
QOpenGLTexture::R32I | 0x8235 | Equivalent to GL_R32I |
QOpenGLTexture::RG32I | 0x823B | Equivalent to GL_RG32I |
QOpenGLTexture::RGB32I | 0x8D83 | Equivalent to GL_RGB32I |
QOpenGLTexture::RGBA32I | 0x8D82 | Equivalent to GL_RGBA32I |
QOpenGLTexture::R16F | 0x822D | Equivalent to GL_R16F |
QOpenGLTexture::RG16F | 0x822F | Equivalent to GL_RG16F |
QOpenGLTexture::RGB16F | 0x881B | Equivalent to GL_RGB16F |
QOpenGLTexture::RGBA16F | 0x881A | Equivalent to GL_RGBA16F |
QOpenGLTexture::R32F | 0x822E | Equivalent to GL_R32F |
QOpenGLTexture::RG32F | 0x8230 | Equivalent to GL_RG32F |
QOpenGLTexture::RGB32F | 0x8815 | Equivalent to GL_RGB32F |
QOpenGLTexture::RGBA32F | 0x8814 | Equivalent to GL_RGBA32F |
QOpenGLTexture::RGB9E5 | 0x8C3D | Equivalent to GL_RGB9_E5 |
QOpenGLTexture::RG11B10F | 0x8C3A | Equivalent to GL_R11F_G11F_B10F |
QOpenGLTexture::RG3B2 | 0x2A10 | Equivalent to GL_R3_G3_B2 |
QOpenGLTexture::R5G6B5 | 0x8D62 | Equivalent to GL_RGB565 |
QOpenGLTexture::RGB5A1 | 0x8057 | Equivalent to GL_RGB5_A1 |
QOpenGLTexture::RGBA4 | 0x8056 | Equivalent to GL_RGBA4 |
QOpenGLTexture::RGB10A2 | 0x906F | Equivalent to GL_RGB10_A2UI |
QOpenGLTexture::D16 | 0x81A5 | Equivalent to GL_DEPTH_COMPONENT16 |
QOpenGLTexture::D24 | 0x81A6 | Equivalent to GL_DEPTH_COMPONENT24 |
QOpenGLTexture::D24S8 | 0x88F0 | Equivalent to GL_DEPTH24_STENCIL8 |
QOpenGLTexture::D32 | 0x81A7 | Equivalent to GL_DEPTH_COMPONENT32 |
QOpenGLTexture::D32F | 0x8CAC | Equivalent to GL_DEPTH_COMPONENT32F |
QOpenGLTexture::D32FS8X24 | 0x8CAD | Equivalent to GL_DEPTH32F_STENCIL8 |
QOpenGLTexture::S8 | 0x8D48 | Equivalent to GL_STENCIL_INDEX8. Introduced in Qt 5.4 |
QOpenGLTexture::RGB_DXT1 | 0x83F0 | Equivalent to GL_COMPRESSED_RGB_S3TC_DXT1_EXT |
QOpenGLTexture::RGBA_DXT1 | 0x83F1 | Equivalent to GL_COMPRESSED_RGBA_S3TC_DXT1_EXT |
QOpenGLTexture::RGBA_DXT3 | 0x83F2 | Equivalent to GL_COMPRESSED_RGBA_S3TC_DXT3_EXT |
QOpenGLTexture::RGBA_DXT5 | 0x83F3 | Equivalent to GL_COMPRESSED_RGBA_S3TC_DXT5_EXT |
QOpenGLTexture::R_ATI1N_UNorm | 0x8DBB | Equivalent to GL_COMPRESSED_RED_RGTC1 |
QOpenGLTexture::R_ATI1N_SNorm | 0x8DBC | Equivalent to GL_COMPRESSED_SIGNED_RED_RGTC1 |
QOpenGLTexture::RG_ATI2N_UNorm | 0x8DBD | Equivalent to GL_COMPRESSED_RG_RGTC2 |
QOpenGLTexture::RG_ATI2N_SNorm | 0x8DBE | Equivalent to GL_COMPRESSED_SIGNED_RG_RGTC2 |
QOpenGLTexture::RGB_BP_UNSIGNED_FLOAT | 0x8E8F | Equivalent to GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB |
QOpenGLTexture::RGB_BP_SIGNED_FLOAT | 0x8E8E | Equivalent to GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB |
QOpenGLTexture::RGB_BP_UNorm | 0x8E8C | Equivalent to GL_COMPRESSED_RGBA_BPTC_UNORM_ARB |
QOpenGLTexture::R11_EAC_UNorm | 0x9270 | Equivalent to GL_COMPRESSED_R11_EAC |
QOpenGLTexture::R11_EAC_SNorm | 0x9271 | Equivalent to GL_COMPRESSED_SIGNED_R11_EAC |
QOpenGLTexture::RG11_EAC_UNorm | 0x9272 | Equivalent to GL_COMPRESSED_RG11_EAC |
QOpenGLTexture::RG11_EAC_SNorm | 0x9273 | Equivalent to GL_COMPRESSED_SIGNED_RG11_EAC |
QOpenGLTexture::RGB8_ETC2 | 0x9274 | Equivalent to GL_COMPRESSED_RGB8_ETC2 |
QOpenGLTexture::SRGB8_ETC2 | 0x9275 | Equivalent to GL_COMPRESSED_SRGB8_ETC2 |
QOpenGLTexture::RGB8_PunchThrough_Alpha1_ETC2 | 0x9276 | Equivalent to GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 |
QOpenGLTexture::SRGB8_PunchThrough_Alpha1_ETC2 | 0x9277 | Equivalent to GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 |
QOpenGLTexture::RGBA8_ETC2_EAC | 0x9278 | Equivalent to GL_COMPRESSED_RGBA8_ETC2_EAC |
QOpenGLTexture::SRGB8_Alpha8_ETC2_EAC | 0x9279 | Equivalent to GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC |
QOpenGLTexture::RGB8_ETC1 | 0x8D64 | Equivalent to GL_ETC1_RGB8_OES |
QOpenGLTexture::RGBA_ASTC_4x4 | 0x93B0 | Equivalent to GL_COMPRESSED_RGBA_ASTC_4x4_KHR |
QOpenGLTexture::RGBA_ASTC_5x4 | 0x93B1 | Equivalent to GL_COMPRESSED_RGBA_ASTC_5x4_KHR |
QOpenGLTexture::RGBA_ASTC_5x5 | 0x93B2 | Equivalent to GL_COMPRESSED_RGBA_ASTC_5x5_KHR |
QOpenGLTexture::RGBA_ASTC_6x5 | 0x93B3 | Equivalent to GL_COMPRESSED_RGBA_ASTC_6x5_KHR |
QOpenGLTexture::RGBA_ASTC_6x6 | 0x93B4 | Equivalent to GL_COMPRESSED_RGBA_ASTC_6x6_KHR |
QOpenGLTexture::RGBA_ASTC_8x5 | 0x93B5 | Equivalent to GL_COMPRESSED_RGBA_ASTC_8x5_KHR |
QOpenGLTexture::RGBA_ASTC_8x6 | 0x93B6 | Equivalent to GL_COMPRESSED_RGBA_ASTC_8x6_KHR |
QOpenGLTexture::RGBA_ASTC_8x8 | 0x93B7 | Equivalent to GL_COMPRESSED_RGBA_ASTC_8x8_KHR |
QOpenGLTexture::RGBA_ASTC_10x5 | 0x93B8 | Equivalent to GL_COMPRESSED_RGBA_ASTC_10x5_KHR |
QOpenGLTexture::RGBA_ASTC_10x6 | 0x93B9 | Equivalent to GL_COMPRESSED_RGBA_ASTC_10x6_KHR |
QOpenGLTexture::RGBA_ASTC_10x8 | 0x93BA | Equivalent to GL_COMPRESSED_RGBA_ASTC_10x8_KHR |
QOpenGLTexture::RGBA_ASTC_10x10 | 0x93BB | Equivalent to GL_COMPRESSED_RGBA_ASTC_10x10_KHR |
QOpenGLTexture::RGBA_ASTC_12x10 | 0x93BC | Equivalent to GL_COMPRESSED_RGBA_ASTC_12x10_KHR |
QOpenGLTexture::RGBA_ASTC_12x12 | 0x93BD | Equivalent to GL_COMPRESSED_RGBA_ASTC_12x12_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_4x4 | 0x93D0 | Equivalent to GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_5x4 | 0x93D1 | Equivalent to GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_5x5 | 0x93D2 | Equivalent to GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_6x5 | 0x93D3 | Equivalent to GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_6x6 | 0x93D4 | Equivalent to GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_8x5 | 0x93D5 | Equivalent to GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_8x6 | 0x93D6 | Equivalent to GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_8x8 | 0x93D7 | Equivalent to GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x5 | 0x93D8 | Equivalent to GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x6 | 0x93D9 | Equivalent to GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x8 | 0x93DA | Equivalent to GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x10 | 0x93DB | Equivalent to GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_12x10 | 0x93DC | Equivalent to GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_12x12 | 0x93DD | Equivalent to GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR |
QOpenGLTexture::SRGB8 | 0x8C41 | Equivalent to GL_SRGB8 |
QOpenGLTexture::SRGB8_Alpha8 | 0x8C43 | Equivalent to GL_SRGB8_ALPHA8 |
QOpenGLTexture::SRGB_DXT1 | 0x8C4C | Equivalent to GL_COMPRESSED_SRGB_S3TC_DXT1_EXT |
QOpenGLTexture::SRGB_Alpha_DXT1 | 0x8C4D | Equivalent to GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT |
QOpenGLTexture::SRGB_Alpha_DXT3 | 0x8C4E | Equivalent to GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT |
QOpenGLTexture::SRGB_Alpha_DXT5 | 0x8C4F | Equivalent to GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT |
QOpenGLTexture::SRGB_BP_UNorm | 0x8E8D | Equivalent to GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB |
QOpenGLTexture::DepthFormat | 0x1902 | Equivalent to GL_DEPTH_COMPONENT (only OpenGL ES 3 or ES 2 with OES_depth_texture) |
QOpenGLTexture::AlphaFormat | 0x1906 | Equivalent to GL_ALPHA (OpenGL ES 2 only) |
QOpenGLTexture::RGBFormat | 0x1907 | Equivalent to GL_RGB (OpenGL ES 2 only) |
QOpenGLTexture::RGBAFormat | 0x1908 | Equivalent to GL_RGBA (OpenGL ES 2 only) |
QOpenGLTexture::LuminanceFormat | 0x1909 | Equivalent to GL_LUMINANCE (OpenGL ES 2 only) |
QOpenGLTexture::LuminanceAlphaFormat | 0x190A | Equivalent to GL_LUMINANCE_ALPHA (OpenGL ES 2 only) |
enum QOpenGLTexture::TextureUnitReset
This enum defines options ot control texture unit activation.
| Constant | Value | Description |
|---|---|---|
QOpenGLTexture::ResetTextureUnit | 0 | The previous active texture unit will be reset |
QOpenGLTexture::DontResetTextureUnit | 1 | The previous active texture unit will not be rest |
enum QOpenGLTexture::WrapMode
This enum defines the possible texture coordinate wrapping modes.
| Constant | Value | Description |
|---|---|---|
QOpenGLTexture::Repeat | 0x2901 | Texture coordinate is repeated. Equivalent to GL_REPEAT |
QOpenGLTexture::MirroredRepeat | 0x8370 | Texture coordinate is reflected about 0 and 1. Equivalent to GL_MIRRORED_REPEAT |
QOpenGLTexture::ClampToEdge | 0x812F | Clamps the texture coordinates to [0,1]. Equivalent to GL_CLAMP_TO_EDGE |
QOpenGLTexture::ClampToBorder | 0x812D | As for ClampToEdge but also blends samples at 0 and 1 with a fixed border color. Equivalent to GL_CLAMP_TO_BORDER |