QOpenGLTexture Class
La classe QOpenGLTexture encapsule un objet texture OpenGL. En savoir plus…
| Header: | #include <QOpenGLTexture> |
Types publics
| 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 } |
| flags | Features |
| 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 } |
Fonctions publiques
| QOpenGLTexture(QOpenGLTexture::Target target) | |
| QOpenGLTexture(const QImage &image, QOpenGLTexture::MipMapGeneration genMipMaps = GenerateMipMaps) | |
| void | allocateStorage() |
| void | allocateStorage(QOpenGLTexture::PixelFormat pixelFormat, QOpenGLTexture::PixelType pixelType) |
| void | bind() |
| void | bind(uint unit, QOpenGLTexture::TextureUnitReset reset = DontResetTextureUnit) |
| QColor | borderColor() const |
| void | borderColor(float *border) const |
| void | borderColor(int *border) const |
| void | borderColor(unsigned int *border) const |
| QOpenGLTexture::ComparisonFunction | comparisonFunction() const |
| QOpenGLTexture::ComparisonMode | comparisonMode() const |
| bool | create() |
| QOpenGLTexture * | createTextureView(QOpenGLTexture::Target target, QOpenGLTexture::TextureFormat viewFormat, int minimumMipmapLevel, int maximumMipmapLevel, int minimumLayer, int maximumLayer) const |
| int | depth() const |
| QOpenGLTexture::DepthStencilMode | depthStencilMode() const |
| void | destroy() |
| int | faces() const |
| QOpenGLTexture::TextureFormat | format() const |
| void | generateMipMaps() |
| void | generateMipMaps(int baseLevel, bool resetBaseLevel = true) |
| int | height() const |
| bool | isAutoMipMapGenerationEnabled() const |
| bool | isBound() const |
| bool | isBound(uint unit) |
| bool | isCreated() const |
| bool | isFixedSamplePositions() const |
| bool | isStorageAllocated() const |
| bool | isTextureView() const |
| int | layers() const |
| std::pair<float, float> | levelOfDetailRange() const |
| float | levelofDetailBias() const |
| QOpenGLTexture::Filter | magnificationFilter() const |
| float | maximumAnisotropy() const |
| float | maximumLevelOfDetail() const |
| int | maximumMipLevels() const |
| std::pair<QOpenGLTexture::Filter, QOpenGLTexture::Filter> | minMagFilters() const |
| QOpenGLTexture::Filter | minificationFilter() const |
| float | minimumLevelOfDetail() const |
| int | mipBaseLevel() const |
| std::pair<int, int> | mipLevelRange() const |
| int | mipLevels() const |
| int | mipMaxLevel() const |
| void | release() |
| void | release(uint unit, QOpenGLTexture::TextureUnitReset reset = DontResetTextureUnit) |
| int | samples() const |
| void | setAutoMipMapGenerationEnabled(bool enabled) |
| void | setBorderColor(const QColor &color) |
| void | setBorderColor(float r, float g, float b, float a) |
| void | setBorderColor(int r, int g, int b, int a) |
| void | setBorderColor(uint r, uint g, uint b, uint a) |
| void | setComparisonFunction(QOpenGLTexture::ComparisonFunction function) |
| void | setComparisonMode(QOpenGLTexture::ComparisonMode mode) |
| void | setCompressedData(int mipLevel, int layer, QOpenGLTexture::CubeMapFace cubeFace, int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr) |
| void | setCompressedData(int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr) |
| void | setCompressedData(int mipLevel, int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr) |
| void | setCompressedData(int mipLevel, int layer, int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr) |
| void | setCompressedData(int mipLevel, int layer, int layerCount, QOpenGLTexture::CubeMapFace cubeFace, int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr) |
| void | setData(int mipLevel, int layer, QOpenGLTexture::CubeMapFace cubeFace, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr) |
| void | setData(const QImage &image, QOpenGLTexture::MipMapGeneration genMipMaps = GenerateMipMaps) |
| void | setData(QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr) |
| void | setData(int mipLevel, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr) |
| void | setData(int mipLevel, int layer, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr) |
| void | setData(int mipLevel, int layer, int layerCount, QOpenGLTexture::CubeMapFace cubeFace, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr) |
| void | setData(int xOffset, int yOffset, int zOffset, int width, int height, int depth, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr) |
| void | setData(int xOffset, int yOffset, int zOffset, int width, int height, int depth, int mipLevel, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr) |
| void | setData(int xOffset, int yOffset, int zOffset, int width, int height, int depth, int mipLevel, int layer, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr) |
| void | setData(int xOffset, int yOffset, int zOffset, int width, int height, int depth, int mipLevel, int layer, QOpenGLTexture::CubeMapFace face, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr) |
| void | setData(int xOffset, int yOffset, int zOffset, int width, int height, int depth, int mipLevel, int layer, QOpenGLTexture::CubeMapFace face, int layerCount, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr) |
| void | setDepthStencilMode(QOpenGLTexture::DepthStencilMode mode) |
| void | setFixedSamplePositions(bool fixed) |
| void | setFormat(QOpenGLTexture::TextureFormat format) |
| void | setLayers(int layers) |
| void | setLevelOfDetailRange(float min, float max) |
| void | setLevelofDetailBias(float bias) |
| void | setMagnificationFilter(QOpenGLTexture::Filter filter) |
| void | setMaximumAnisotropy(float anisotropy) |
| void | setMaximumLevelOfDetail(float value) |
| void | setMinMagFilters(QOpenGLTexture::Filter minificationFilter, QOpenGLTexture::Filter magnificationFilter) |
| void | setMinificationFilter(QOpenGLTexture::Filter filter) |
| void | setMinimumLevelOfDetail(float value) |
| void | setMipBaseLevel(int baseLevel) |
| void | setMipLevelRange(int baseLevel, int maxLevel) |
| void | setMipLevels(int levels) |
| void | setMipMaxLevel(int maxLevel) |
| void | setSamples(int samples) |
| void | setSize(int width, int height = 1, int depth = 1) |
| void | setSwizzleMask(QOpenGLTexture::SwizzleComponent component, QOpenGLTexture::SwizzleValue value) |
| void | setSwizzleMask(QOpenGLTexture::SwizzleValue r, QOpenGLTexture::SwizzleValue g, QOpenGLTexture::SwizzleValue b, QOpenGLTexture::SwizzleValue a) |
| void | setWrapMode(QOpenGLTexture::WrapMode mode) |
| void | setWrapMode(QOpenGLTexture::CoordinateDirection direction, QOpenGLTexture::WrapMode mode) |
| QOpenGLTexture::SwizzleValue | swizzleMask(QOpenGLTexture::SwizzleComponent component) const |
| QOpenGLTexture::Target | target() const |
| GLuint | textureId() const |
| int | width() const |
| QOpenGLTexture::WrapMode | wrapMode(QOpenGLTexture::CoordinateDirection direction) const |
Membres publics statiques
| GLuint | boundTextureId(QOpenGLTexture::BindingTarget target) |
| GLuint | boundTextureId(uint unit, QOpenGLTexture::BindingTarget target) |
| bool | hasFeature(QOpenGLTexture::Feature feature) |
Description détaillée
QOpenGLTexture facilite l'utilisation des textures OpenGL ainsi que la multitude de fonctionnalités et de cibles qu'elles offrent en fonction des capacités de votre implémentation OpenGL.
Le modèle d’utilisation typique de QOpenGLTexture est le suivant
- Instancier l’objet en spécifiant le type de cible de texture
- Définir les propriétés qui influent sur les exigences de stockage, par exemple le format de stockage et les dimensions
- Allouer l’espace de stockage côté serveur
- Téléverser les données de pixels (facultatif)
- Définir, si nécessaire, des propriétés supplémentaires, par exemple les options de filtrage et de bordure
- Effectuer un rendu avec la texture ou un rendu vers la texture
Dans le cas courant où l’on utilise simplement une image « QImage » comme source des données de pixels de la texture, la plupart des étapes ci-dessus sont effectuées automatiquement.
// Prepare texture
QOpenGLTexture *texture = new QOpenGLTexture(QImage(fileName).flipped());
texture->setMinificationFilter(QOpenGLTexture::LinearMipMapLinear);
texture->setMagnificationFilter(QOpenGLTexture::Linear);
...
// Render with texture
texture->bind();
glDrawArrays(...);Notez que l'QImage est inversée verticalement pour tenir compte du fait qu'OpenGL et QImage utilisent des directions opposées pour l'axe y. Une autre option consisterait à transformer vos coordonnées de texture.
Avertissement : toutes les données utilisées par QOpenGLTexture doivent provenir d’une source fiable. Les données de pixels et d’images sont transmises à l’implémentation OpenGL sous-jacente. Il est conseillé aux développeurs d’applications d’évaluer soigneusement les implications potentielles avant de transmettre du contenu fourni par l’utilisateur à des fonctions telles que setData().
Documentation sur les types de membres
enum QOpenGLTexture::BindingTarget
Cette énumération définit les cibles de liaison possibles des unités de texture.
| Constante | Valeur | Description |
|---|---|---|
QOpenGLTexture::BindingTarget1D | 0x8068 | Équivalent à GL_TEXTURE_BINDING_1D |
QOpenGLTexture::BindingTarget1DArray | 0x8C1C | Équivalent à GL_TEXTURE_BINDING_1D_ARRAY |
QOpenGLTexture::BindingTarget2D | 0x8069 | Équivalent à GL_TEXTURE_BINDING_2D |
QOpenGLTexture::BindingTarget2DArray | 0x8C1D | Équivalent à GL_TEXTURE_BINDING_2D_ARRAY |
QOpenGLTexture::BindingTarget3D | 0x806A | Équivalent à GL_TEXTURE_BINDING_3D |
QOpenGLTexture::BindingTargetCubeMap | 0x8514 | Équivalent à GL_TEXTURE_BINDING_CUBE_MAP |
QOpenGLTexture::BindingTargetCubeMapArray | 0x900A | Équivalent à GL_TEXTURE_BINDING_CUBE_MAP_ARRAY |
QOpenGLTexture::BindingTarget2DMultisample | 0x9104 | Équivalent à GL_TEXTURE_BINDING_2D_MULTISAMPLE |
QOpenGLTexture::BindingTarget2DMultisampleArray | 0x9105 | Équivalent à GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY |
QOpenGLTexture::BindingTargetRectangle | 0x84F6 | Équivalent à GL_TEXTURE_BINDING_RECTANGLE |
QOpenGLTexture::BindingTargetBuffer | 0x8C2C | Équivalent à GL_TEXTURE_BINDING_BUFFER |
enum QOpenGLTexture::ComparisonFunction
Cette énumération spécifie quel opérateur de comparaison est utilisé lorsque la comparaison de textures est activée pour cette texture.
| Constante | Valeur | Description |
|---|---|---|
QOpenGLTexture::CompareLessEqual | 0x0203 | Équivalent à GL_LEQUAL. |
QOpenGLTexture::CompareGreaterEqual | 0x0206 | Équivalent à GL_GEQUAL. |
QOpenGLTexture::CompareLess | 0x0201 | Équivalent à GL_LESS. |
QOpenGLTexture::CompareGreater | 0x0204 | Équivalent à GL_GREATER. |
QOpenGLTexture::CompareEqual | 0x0202 | Équivalent à GL_EQUAL. |
QOpenGLTexture::CompareNotEqual | 0x0205 | Équivalent à GL_NOTEQUAL. |
QOpenGLTexture::CompareAlways | 0x0207 | Équivalent à GL_ALWAYS. |
QOpenGLTexture::CompareNever | 0x0200 | Équivalent à GL_NEVER. |
enum QOpenGLTexture::ComparisonMode
Cette énumération précise le mode de comparaison utilisé lors de l'échantillonnage de cette texture.
| Constante | Valeur | Description |
|---|---|---|
QOpenGLTexture::CompareRefToTexture | 0x884E | Équivalent à GL_COMPARE_REF_TO_TEXTURE. |
QOpenGLTexture::CompareNone | 0x0000 | Équivalent à GL_NONE. |
enum QOpenGLTexture::CoordinateDirection
Cette énumération définit les directions possibles des coordonnées de texture
| Constante | Valeur | Description |
|---|---|---|
QOpenGLTexture::DirectionS | 0x2802 | La direction horizontale. Équivalent à GL_TEXTURE_WRAP_S |
QOpenGLTexture::DirectionT | 0x2803 | La direction verticale. Équivalent à GL_TEXTURE_WRAP_T |
QOpenGLTexture::DirectionR | 0x8072 | La direction de la profondeur. Équivalent à GL_TEXTURE_WRAP_R |
enum QOpenGLTexture::CubeMapFace
Cette énumération définit les faces possibles d'une CubeMap.
| Constante | Valeur | Description |
|---|---|---|
QOpenGLTexture::CubeMapPositiveX | 0x8515 | Équivalent à GL_TEXTURE_CUBE_MAP_POSITIVE_X |
QOpenGLTexture::CubeMapNegativeX | 0x8516 | Équivalent à GL_TEXTURE_CUBE_MAP_NEGATIVE_X |
QOpenGLTexture::CubeMapPositiveY | 0x8517 | Équivalent à GL_TEXTURE_CUBE_MAP_POSITIVE_Y |
QOpenGLTexture::CubeMapNegativeY | 0x8518 | Équivalent à GL_TEXTURE_CUBE_MAP_NEGATIVE_Y |
QOpenGLTexture::CubeMapPositiveZ | 0x8519 | Équivalent à GL_TEXTURE_CUBE_MAP_POSITIVE_Z |
QOpenGLTexture::CubeMapNegativeZ | 0x851A | Équivalent à GL_TEXTURE_CUBE_MAP_NEGATIVE_Z |
enum QOpenGLTexture::DepthStencilMode
Cette énumération spécifie à quelle composante d'une texture de profondeur/stencil on accède lors de l'échantillonnage de la texture.
| Constante | Valeur | Description |
|---|---|---|
QOpenGLTexture::DepthMode | 0x1902 | Équivalent à GL_DEPTH_COMPONENT. |
QOpenGLTexture::StencilMode | 0x1901 | Équivalent à GL_STENCIL_INDEX. |
enum QOpenGLTexture::Feature
flags QOpenGLTexture::Features
Cette énumération définit les fonctionnalités liées aux textures OpenGL pouvant faire l'objet de tests.
| Constante | Valeur | Description |
|---|---|---|
QOpenGLTexture::ImmutableStorage | 0x00000001 | Prise en charge du stockage de textures immuables |
QOpenGLTexture::ImmutableMultisampleStorage | 0x00000002 | Prise en charge du stockage de textures immuables avec des cibles multisample |
QOpenGLTexture::TextureRectangle | 0x00000004 | Prise en charge de la cible GL_TEXTURE_RECTANGLE |
QOpenGLTexture::TextureArrays | 0x00000008 | Prise en charge des cibles de texture avec couches de tableaux |
QOpenGLTexture::Texture3D | 0x00000010 | Prise en charge de la cible de texture tridimensionnelle |
QOpenGLTexture::TextureMultisample | 0x00000020 | Prise en charge des cibles de texture dotées de capacités multisample |
QOpenGLTexture::TextureBuffer | 0x00000040 | Prise en charge des textures utilisant des objets de tampon OpenGL comme source de données |
QOpenGLTexture::TextureCubeMapArrays | 0x00000080 | Prise en charge de la cible de texture de type « cubemap » |
QOpenGLTexture::Swizzle | 0x00000100 | Prise en charge des masques de permutation des composants de texture |
QOpenGLTexture::StencilTexturing | 0x00000200 | Prise en charge de la texturation par stencil (c'est-à-dire la consultation des composantes de profondeur ou de stencil d'une texture au format combiné profondeur/stencil dans les shaders GLSL). |
QOpenGLTexture::AnisotropicFiltering | 0x00000400 | Prise en charge du filtrage anisotrope des textures |
QOpenGLTexture::NPOTTextures | 0x00000800 | Prise en charge de base des textures non-puissance-de-deux |
QOpenGLTexture::NPOTTextureRepeat | 0x00001000 | Prise en charge complète des textures non-puissance-de-deux, y compris les modes de répétition de texture |
QOpenGLTexture::Texture1D | 0x00002000 | Prise en charge de la cible de texture unidimensionnelle |
QOpenGLTexture::TextureComparisonOperators | 0x00004000 | Prise en charge des opérateurs de comparaison de textures |
QOpenGLTexture::TextureMipMapLevel | 0x00008000 | Prise en charge de la configuration des niveaux de mipmap de base et maximum |
Le type Features est une définition de type (typedef) pour QFlags<Feature>. Il stocke une combinaison OR de valeurs Feature.
enum QOpenGLTexture::Filter
Cette énumération définit les paramètres de filtrage d'un objet ` QOpenGLTexture `.
| Constante | Valeur | Description |
|---|---|---|
QOpenGLTexture::Nearest | 0x2600 | Équivalent à GL_NEAREST |
QOpenGLTexture::Linear | 0x2601 | Équivalent à GL_LINEAR |
QOpenGLTexture::NearestMipMapNearest | 0x2700 | Équivalent à GL_NEAREST_MIPMAP_NEAREST |
QOpenGLTexture::NearestMipMapLinear | 0x2702 | Équivalent à GL_NEAREST_MIPMAP_LINEAR |
QOpenGLTexture::LinearMipMapNearest | 0x2701 | Équivalent à GL_LINEAR_MIPMAP_NEAREST |
QOpenGLTexture::LinearMipMapLinear | 0x2703 | Équivalent à GL_LINEAR_MIPMAP_LINEAR |
enum QOpenGLTexture::MipMapGeneration
Cette énumération définit les options permettant de contrôler la génération des mipmaps.
| Constante | Valeur | Description |
|---|---|---|
QOpenGLTexture::GenerateMipMaps | 0 | Les mipmaps doivent être générées |
QOpenGLTexture::DontGenerateMipMaps | 1 | Les mipmaps ne doivent pas être générées |
enum QOpenGLTexture::PixelFormat
Cette énumération définit les formats de pixels possibles côté client pour une opération de transfert de pixels.
| Constante | Valeur | Description |
|---|---|---|
QOpenGLTexture::NoSourceFormat | 0 | Équivalent à GL_NONE |
QOpenGLTexture::Red | 0x1903 | Équivalent à GL_RED |
QOpenGLTexture::RG | 0x8227 | Équivalent à GL_RG |
QOpenGLTexture::RGB | 0x1907 | Équivalent à GL_RGB |
QOpenGLTexture::BGR | 0x80E0 | Équivalent à GL_BGR |
QOpenGLTexture::RGBA | 0x1908 | Équivalent à GL_RGBA |
QOpenGLTexture::BGRA | 0x80E1 | Équivalent à GL_BGRA |
QOpenGLTexture::Red_Integer | 0x8D94 | Équivalent à GL_RED_INTEGER |
QOpenGLTexture::RG_Integer | 0x8228 | Équivalent à GL_RG_INTEGER |
QOpenGLTexture::RGB_Integer | 0x8D98 | Équivalent à GL_RGB_INTEGER |
QOpenGLTexture::BGR_Integer | 0x8D9A | Équivalent à GL_BGR_INTEGER |
QOpenGLTexture::RGBA_Integer | 0x8D99 | Équivalent à GL_RGBA_INTEGER |
QOpenGLTexture::BGRA_Integer | 0x8D9B | Équivalent à GL_BGRA_INTEGER |
QOpenGLTexture::Stencil | 0x1901 | Équivalent à GL_STENCIL_INDEX. Introduit dans Qt 5.4 |
QOpenGLTexture::Depth | 0x1902 | Équivalent à GL_DEPTH_COMPONENT |
QOpenGLTexture::DepthStencil | 0x84F9 | Équivalent à GL_DEPTH_STENCIL |
QOpenGLTexture::Alpha | 0x1906 | Équivalent à GL_ALPHA (OpenGL ES 2 uniquement) |
QOpenGLTexture::Luminance | 0x1909 | Équivalent à GL_LUMINANCE (OpenGL ES 2 uniquement) |
QOpenGLTexture::LuminanceAlpha | 0x190A | Équivalent à GL_LUMINANCE_ALPHA (OpenGL ES 2 uniquement) |
enum QOpenGLTexture::PixelType
Cette énumération définit les types de données de pixels possibles pour une opération de transfert de pixels
| Constante | Valeur | Description |
|---|---|---|
QOpenGLTexture::NoPixelType | 0 | Équivalent à GL_NONE |
QOpenGLTexture::Int8 | 0x1400 | Équivalent à GL_BYTE |
QOpenGLTexture::UInt8 | 0x1401 | Équivalent à GL_UNSIGNED_BYTE |
QOpenGLTexture::Int16 | 0x1402 | Équivalent à GL_SHORT |
QOpenGLTexture::UInt16 | 0x1403 | Équivalent à GL_UNSIGNED_SHORT |
QOpenGLTexture::Int32 | 0x1404 | Équivalent à GL_INT |
QOpenGLTexture::UInt32 | 0x1405 | Équivalent à GL_UNSIGNED_INT |
QOpenGLTexture::Float16 | 0x140B | Équivalent à GL_HALF_FLOAT |
QOpenGLTexture::Float16OES | 0x8D61 | Équivalent à GL_HALF_FLOAT_OES |
QOpenGLTexture::Float32 | 0x1406 | Équivalent à GL_FLOAT |
QOpenGLTexture::UInt32_RGB9_E5 | 0x8C3E | Équivalent à GL_UNSIGNED_INT_5_9_9_9_REV |
QOpenGLTexture::UInt32_RG11B10F | 0x8C3B | Équivalent à GL_UNSIGNED_INT_10F_11F_11F_REV |
QOpenGLTexture::UInt8_RG3B2 | 0x8032 | Équivalent à GL_UNSIGNED_BYTE_3_3_2 |
QOpenGLTexture::UInt8_RG3B2_Rev | 0x8362 | Équivalent à GL_UNSIGNED_BYTE_2_3_3_REV |
QOpenGLTexture::UInt16_RGB5A1 | 0x8034 | Équivalent à GL_UNSIGNED_SHORT_5_5_5_1 |
QOpenGLTexture::UInt16_RGB5A1_Rev | 0x8366 | Équivalent à GL_UNSIGNED_SHORT_1_5_5_5_REV |
QOpenGLTexture::UInt16_R5G6B5 | 0x8363 | Équivalent à GL_UNSIGNED_SHORT_5_6_5 |
QOpenGLTexture::UInt16_R5G6B5_Rev | 0x8364 | Équivalent à GL_UNSIGNED_SHORT_5_6_5_REV |
QOpenGLTexture::UInt16_RGBA4 | 0x8033 | Équivalent à GL_UNSIGNED_SHORT_4_4_4_4 |
QOpenGLTexture::UInt16_RGBA4_Rev | 0x8365 | Équivalent à GL_UNSIGNED_SHORT_4_4_4_4_REV |
QOpenGLTexture::UInt32_RGBA8 | 0x8035 | Équivalent à GL_UNSIGNED_INT_8_8_8_8 |
QOpenGLTexture::UInt32_RGBA8_Rev | 0x8367 | Équivalent à GL_UNSIGNED_INT_8_8_8_8_REV |
QOpenGLTexture::UInt32_RGB10A2 | 0x8036 | Équivalent à GL_UNSIGNED_INT_10_10_10_2 |
QOpenGLTexture::UInt32_RGB10A2_Rev | 0x8368 | Équivalent à GL_UNSIGNED_INT_2_10_10_10_REV |
QOpenGLTexture::UInt32_D24S8 | 0x84FA | Équivalent à GL_UNSIGNED_INT_24_8. Introduit dans Qt 5.4 |
QOpenGLTexture::Float32_D32_UInt32_S8_X24 | 0x8DAD | Équivalent à GL_FLOAT_32_UNSIGNED_INT_24_8_REV. Introduit dans Qt 5.4 |
enum QOpenGLTexture::SwizzleComponent
Cette énumération définit les composantes de couleur de la texture auxquelles un masque de permutation peut être attribué.
| Constante | Valeur | Description |
|---|---|---|
QOpenGLTexture::SwizzleRed | 0x8E42 | La composante rouge. Équivaut à GL_TEXTURE_SWIZZLE_R |
QOpenGLTexture::SwizzleGreen | 0x8E43 | La composante verte. Équivaut à GL_TEXTURE_SWIZZLE_G |
QOpenGLTexture::SwizzleBlue | 0x8E44 | La composante bleue. Équivalent à GL_TEXTURE_SWIZZLE_B |
QOpenGLTexture::SwizzleAlpha | 0x8E45 | La composante alpha. Équivalent à GL_TEXTURE_SWIZZLE_A |
enum QOpenGLTexture::SwizzleValue
Cette énumération définit les valeurs de masque possibles pour le « texture swizzling ».
| Constante | Valeur | Description |
|---|---|---|
QOpenGLTexture::RedValue | 0x1903 | Associe la composante au canal rouge. Équivalent à GL_RED |
QOpenGLTexture::GreenValue | 0x1904 | Associe la composante au canal vert. Équivalent à GL_GREEN |
QOpenGLTexture::BlueValue | 0x1905 | Associe la composante au canal bleu. Équivalent à GL_BLUE |
QOpenGLTexture::AlphaValue | 0x1906 | Associe la composante au canal alpha. Équivalent à GL_ALPHA |
QOpenGLTexture::ZeroValue | 0 | Associe la composante à une valeur fixe de 0. Équivalent à GL_ZERO |
QOpenGLTexture::OneValue | 1 | Associe la composante à une valeur fixe de 1. Équivalent à GL_ONE |
enum QOpenGLTexture::Target
Cette énumération définit la cible de texture d'un objet ` QOpenGLTexture `. Pour plus d'informations sur la création de textures de type tableau, voir « Texture de type tableau ».
| Constante | Valeur | Description |
|---|---|---|
QOpenGLTexture::Target1D | 0x0DE0 | Une texture unidimensionnelle. Équivalent à GL_TEXTURE_1D. |
QOpenGLTexture::Target1DArray | 0x8C18 | Un tableau de textures unidimensionnelles. Équivalent à GL_TEXTURE_1D_ARRAY |
QOpenGLTexture::Target2D | 0x0DE1 | Une texture bidimensionnelle. Équivalent à GL_TEXTURE_2D |
QOpenGLTexture::Target2DArray | 0x8C1A | Un tableau de textures bidimensionnelles. Équivalent à GL_TEXTURE_2D_ARRAY |
QOpenGLTexture::Target3D | 0x806F | Une texture tridimensionnelle. Équivalent à GL_TEXTURE_3D |
QOpenGLTexture::TargetCubeMap | 0x8513 | Une texture de type « cubemap ». Équivalent à GL_TEXTURE_CUBE_MAP |
QOpenGLTexture::TargetCubeMapArray | 0x9009 | Un tableau de textures de type « cubemap ». Équivalent à GL_TEXTURE_CUBE_MAP_ARRAY |
QOpenGLTexture::Target2DMultisample | 0x9100 | Une texture bidimensionnelle prenant en charge le multisample. Équivalent à GL_TEXTURE_2D_MULTISAMPLE |
QOpenGLTexture::Target2DMultisampleArray | 0x9102 | Un tableau de textures bidimensionnelles prenant en charge le multisampling. Équivalent à GL_TEXTURE_2D_MULTISAMPLE_ARRAY |
QOpenGLTexture::TargetRectangle | 0x84F5 | Une texture rectangulaire bidimensionnelle. Équivalent à GL_TEXTURE_RECTANGLE |
QOpenGLTexture::TargetBuffer | 0x8C2A | Une texture dont les données proviennent d’un objet tampon OpenGL. Équivalent à GL_TEXTURE_BUFFER |
enum QOpenGLTexture::TextureFormat
Cette énumération définit les formats de texture possibles. Selon votre implémentation d'OpenGL, il se peut que seul un sous-ensemble de ceux-ci soit pris en charge.
| Constante | Valeur | Description |
|---|---|---|
QOpenGLTexture::NoFormat | 0 | Équivalent à GL_NONE |
QOpenGLTexture::R8_UNorm | 0x8229 | Équivalent à GL_R8 |
QOpenGLTexture::RG8_UNorm | 0x822B | Équivalent à GL_RG8 |
QOpenGLTexture::RGB8_UNorm | 0x8051 | Équivalent à GL_RGB8 |
QOpenGLTexture::RGBA8_UNorm | 0x8058 | Équivalent à GL_RGBA8 |
QOpenGLTexture::R16_UNorm | 0x822A | Équivalent à GL_R16 |
QOpenGLTexture::RG16_UNorm | 0x822C | Équivalent à GL_RG16 |
QOpenGLTexture::RGB16_UNorm | 0x8054 | Équivalent à GL_RGB16 |
QOpenGLTexture::RGBA16_UNorm | 0x805B | Équivalent à GL_RGBA16 |
QOpenGLTexture::R8_SNorm | 0x8F94 | Équivalent à GL_R8_SNORM |
QOpenGLTexture::RG8_SNorm | 0x8F95 | Équivalent à GL_RG8_SNORM |
QOpenGLTexture::RGB8_SNorm | 0x8F96 | Équivalent à GL_RGB8_SNORM |
QOpenGLTexture::RGBA8_SNorm | 0x8F97 | Équivalent à GL_RGBA8_SNORM |
QOpenGLTexture::R16_SNorm | 0x8F98 | Équivalent à GL_R16_SNORM |
QOpenGLTexture::RG16_SNorm | 0x8F99 | Équivalent à GL_RG16_SNORM |
QOpenGLTexture::RGB16_SNorm | 0x8F9A | Équivalent à GL_RGB16_SNORM |
QOpenGLTexture::RGBA16_SNorm | 0x8F9B | Équivalent à GL_RGBA16_SNORM |
QOpenGLTexture::R8U | 0x8232 | Équivalent à GL_R8UI |
QOpenGLTexture::RG8U | 0x8238 | Équivalent à GL_RG8UI |
QOpenGLTexture::RGB8U | 0x8D7D | Équivalent à GL_RGB8UI |
QOpenGLTexture::RGBA8U | 0x8D7C | Équivalent à GL_RGBA8UI |
QOpenGLTexture::R16U | 0x8234 | Équivalent à GL_R16UI |
QOpenGLTexture::RG16U | 0x823A | Équivalent à GL_RG16UI |
QOpenGLTexture::RGB16U | 0x8D77 | Équivalent à GL_RGB16UI |
QOpenGLTexture::RGBA16U | 0x8D76 | Équivalent à GL_RGBA16UI |
QOpenGLTexture::R32U | 0x8236 | Équivalent à GL_R32UI |
QOpenGLTexture::RG32U | 0x823C | Équivalent à GL_RG32UI |
QOpenGLTexture::RGB32U | 0x8D71 | Équivalent à GL_RGB32UI |
QOpenGLTexture::RGBA32U | 0x8D70 | Équivalent à GL_RGBA32UI |
QOpenGLTexture::R8I | 0x8231 | Équivalent à GL_R8I |
QOpenGLTexture::RG8I | 0x8237 | Équivalent à GL_RG8I |
QOpenGLTexture::RGB8I | 0x8D8F | Équivalent à GL_RGB8I |
QOpenGLTexture::RGBA8I | 0x8D8E | Équivalent à GL_RGBA8I |
QOpenGLTexture::R16I | 0x8233 | Équivalent à GL_R16I |
QOpenGLTexture::RG16I | 0x8239 | Équivalent à GL_RG16I |
QOpenGLTexture::RGB16I | 0x8D89 | Équivalent à GL_RGB16I |
QOpenGLTexture::RGBA16I | 0x8D88 | Équivalent à GL_RGBA16I |
QOpenGLTexture::R32I | 0x8235 | Équivalent à GL_R32I |
QOpenGLTexture::RG32I | 0x823B | Équivalent à GL_RG32I |
QOpenGLTexture::RGB32I | 0x8D83 | Équivalent à GL_RGB32I |
QOpenGLTexture::RGBA32I | 0x8D82 | Équivalent à GL_RGBA32I |
QOpenGLTexture::R16F | 0x822D | Équivalent à GL_R16F |
QOpenGLTexture::RG16F | 0x822F | Équivalent à GL_RG16F |
QOpenGLTexture::RGB16F | 0x881B | Équivalent à GL_RGB16F |
QOpenGLTexture::RGBA16F | 0x881A | Équivalent à GL_RGBA16F |
QOpenGLTexture::R32F | 0x822E | Équivalent à GL_R32F |
QOpenGLTexture::RG32F | 0x8230 | Équivalent à GL_RG32F |
QOpenGLTexture::RGB32F | 0x8815 | Équivalent à GL_RGB32F |
QOpenGLTexture::RGBA32F | 0x8814 | Équivalent à GL_RGBA32F |
QOpenGLTexture::RGB9E5 | 0x8C3D | Équivalent à GL_RGB9_E5 |
QOpenGLTexture::RG11B10F | 0x8C3A | Équivalent à GL_R11F_G11F_B10F |
QOpenGLTexture::RG3B2 | 0x2A10 | Équivalent à GL_R3_G3_B2 |
QOpenGLTexture::R5G6B5 | 0x8D62 | Équivalent à GL_RGB565 |
QOpenGLTexture::RGB5A1 | 0x8057 | Équivalent à GL_RGB5_A1 |
QOpenGLTexture::RGBA4 | 0x8056 | Équivalent à GL_RGBA4 |
QOpenGLTexture::RGB10A2 | 0x906F | Équivalent à GL_RGB10_A2UI |
QOpenGLTexture::D16 | 0x81A5 | Équivalent à GL_DEPTH_COMPONENT16 |
QOpenGLTexture::D24 | 0x81A6 | Équivalent à GL_DEPTH_COMPONENT24 |
QOpenGLTexture::D24S8 | 0x88F0 | Équivalent à GL_DEPTH24_STENCIL8 |
QOpenGLTexture::D32 | 0x81A7 | Équivalent à GL_DEPTH_COMPONENT32 |
QOpenGLTexture::D32F | 0x8CAC | Équivalent à GL_DEPTH_COMPONENT32F |
QOpenGLTexture::D32FS8X24 | 0x8CAD | Équivalent à GL_DEPTH32F_STENCIL8 |
QOpenGLTexture::S8 | 0x8D48 | Équivalent à GL_STENCIL_INDEX8. Introduit dans Qt 5.4 |
QOpenGLTexture::RGB_DXT1 | 0x83F0 | Équivalent à GL_COMPRESSED_RGB_S3TC_DXT1_EXT |
QOpenGLTexture::RGBA_DXT1 | 0x83F1 | Équivalent à GL_COMPRESSED_RGBA_S3TC_DXT1_EXT |
QOpenGLTexture::RGBA_DXT3 | 0x83F2 | Équivalent à GL_COMPRESSED_RGBA_S3TC_DXT3_EXT |
QOpenGLTexture::RGBA_DXT5 | 0x83F3 | Équivalent à GL_COMPRESSED_RGBA_S3TC_DXT5_EXT |
QOpenGLTexture::R_ATI1N_UNorm | 0x8DBB | Équivalent à GL_COMPRESSED_RED_RGTC1 |
QOpenGLTexture::R_ATI1N_SNorm | 0x8DBC | Équivalent à GL_COMPRESSED_SIGNED_RED_RGTC1 |
QOpenGLTexture::RG_ATI2N_UNorm | 0x8DBD | Équivalent à GL_COMPRESSED_RG_RGTC2 |
QOpenGLTexture::RG_ATI2N_SNorm | 0x8DBE | Équivalent à GL_COMPRESSED_SIGNED_RG_RGTC2 |
QOpenGLTexture::RGB_BP_UNSIGNED_FLOAT | 0x8E8F | Équivalent à GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB |
QOpenGLTexture::RGB_BP_SIGNED_FLOAT | 0x8E8E | Équivalent à GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB |
QOpenGLTexture::RGB_BP_UNorm | 0x8E8C | Équivalent à GL_COMPRESSED_RGBA_BPTC_UNORM_ARB |
QOpenGLTexture::R11_EAC_UNorm | 0x9270 | Équivalent à GL_COMPRESSED_R11_EAC |
QOpenGLTexture::R11_EAC_SNorm | 0x9271 | Équivalent à GL_COMPRESSED_SIGNED_R11_EAC |
QOpenGLTexture::RG11_EAC_UNorm | 0x9272 | Équivalent à GL_COMPRESSED_RG11_EAC |
QOpenGLTexture::RG11_EAC_SNorm | 0x9273 | Équivalent à GL_COMPRESSED_SIGNED_RG11_EAC |
QOpenGLTexture::RGB8_ETC2 | 0x9274 | Équivalent à GL_COMPRESSED_RGB8_ETC2 |
QOpenGLTexture::SRGB8_ETC2 | 0x9275 | Équivalent à GL_COMPRESSED_SRGB8_ETC2 |
QOpenGLTexture::RGB8_PunchThrough_Alpha1_ETC2 | 0x9276 | Équivalent à GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 |
QOpenGLTexture::SRGB8_PunchThrough_Alpha1_ETC2 | 0x9277 | Équivalent à GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 |
QOpenGLTexture::RGBA8_ETC2_EAC | 0x9278 | Équivalent à GL_COMPRESSED_RGBA8_ETC2_EAC |
QOpenGLTexture::SRGB8_Alpha8_ETC2_EAC | 0x9279 | Équivalent à GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC |
QOpenGLTexture::RGB8_ETC1 | 0x8D64 | Équivalent à GL_ETC1_RGB8_OES |
QOpenGLTexture::RGBA_ASTC_4x4 | 0x93B0 | Équivalent à GL_COMPRESSED_RGBA_ASTC_4x4_KHR |
QOpenGLTexture::RGBA_ASTC_5x4 | 0x93B1 | Équivalent à GL_COMPRESSED_RGBA_ASTC_5x4_KHR |
QOpenGLTexture::RGBA_ASTC_5x5 | 0x93B2 | Équivalent à GL_COMPRESSED_RGBA_ASTC_5x5_KHR |
QOpenGLTexture::RGBA_ASTC_6x5 | 0x93B3 | Équivalent à GL_COMPRESSED_RGBA_ASTC_6x5_KHR |
QOpenGLTexture::RGBA_ASTC_6x6 | 0x93B4 | Équivalent à GL_COMPRESSED_RGBA_ASTC_6x6_KHR |
QOpenGLTexture::RGBA_ASTC_8x5 | 0x93B5 | Équivalent à GL_COMPRESSED_RGBA_ASTC_8x5_KHR |
QOpenGLTexture::RGBA_ASTC_8x6 | 0x93B6 | Équivalent à GL_COMPRESSED_RGBA_ASTC_8x6_KHR |
QOpenGLTexture::RGBA_ASTC_8x8 | 0x93B7 | Équivalent à GL_COMPRESSED_RGBA_ASTC_8x8_KHR |
QOpenGLTexture::RGBA_ASTC_10x5 | 0x93B8 | Équivalent à GL_COMPRESSED_RGBA_ASTC_10x5_KHR |
QOpenGLTexture::RGBA_ASTC_10x6 | 0x93B9 | Équivalent à GL_COMPRESSED_RGBA_ASTC_10x6_KHR |
QOpenGLTexture::RGBA_ASTC_10x8 | 0x93BA | Équivalent à GL_COMPRESSED_RGBA_ASTC_10x8_KHR |
QOpenGLTexture::RGBA_ASTC_10x10 | 0x93BB | Équivalent à GL_COMPRESSED_RGBA_ASTC_10x10_KHR |
QOpenGLTexture::RGBA_ASTC_12x10 | 0x93BC | Équivalent à GL_COMPRESSED_RGBA_ASTC_12x10_KHR |
QOpenGLTexture::RGBA_ASTC_12x12 | 0x93BD | Équivalent à GL_COMPRESSED_RGBA_ASTC_12x12_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_4x4 | 0x93D0 | Équivalent à GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_5x4 | 0x93D1 | Équivalent à GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_5x5 | 0x93D2 | Équivalent à GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_6x5 | 0x93D3 | Équivalent à GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_6x6 | 0x93D4 | Équivalent à GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_8x5 | 0x93D5 | Équivalent à GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_8x6 | 0x93D6 | Équivalent à GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_8x8 | 0x93D7 | Équivalent à GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x5 | 0x93D8 | Équivalent à GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x6 | 0x93D9 | Équivalent à GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x8 | 0x93DA | Équivalent à GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x10 | 0x93DB | Équivalent à GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_12x10 | 0x93DC | Équivalent à GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_12x12 | 0x93DD | Équivalent à GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR |
QOpenGLTexture::SRGB8 | 0x8C41 | Équivalent à GL_SRGB8 |
QOpenGLTexture::SRGB8_Alpha8 | 0x8C43 | Équivalent à GL_SRGB8_ALPHA8 |
QOpenGLTexture::SRGB_DXT1 | 0x8C4C | Équivalent à GL_COMPRESSED_SRGB_S3TC_DXT1_EXT |
QOpenGLTexture::SRGB_Alpha_DXT1 | 0x8C4D | Équivalent à GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT |
QOpenGLTexture::SRGB_Alpha_DXT3 | 0x8C4E | Équivalent à GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT |
QOpenGLTexture::SRGB_Alpha_DXT5 | 0x8C4F | Équivalent à GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT |
QOpenGLTexture::SRGB_BP_UNorm | 0x8E8D | Équivalent à GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB |
QOpenGLTexture::DepthFormat | 0x1902 | Équivalent à GL_DEPTH_COMPONENT (uniquement OpenGL ES 3 ou ES 2 avec OES_depth_texture) |
QOpenGLTexture::AlphaFormat | 0x1906 | Équivalent à GL_ALPHA (OpenGL ES 2 uniquement) |
QOpenGLTexture::RGBFormat | 0x1907 | Équivalent à GL_RGB (OpenGL ES 2 uniquement) |
QOpenGLTexture::RGBAFormat | 0x1908 | Équivalent à GL_RGBA (OpenGL ES 2 uniquement) |
QOpenGLTexture::LuminanceFormat | 0x1909 | Équivalent à GL_LUMINANCE (OpenGL ES 2 uniquement) |
QOpenGLTexture::LuminanceAlphaFormat | 0x190A | Équivalent à GL_LUMINANCE_ALPHA (OpenGL ES 2 uniquement) |
enum QOpenGLTexture::TextureUnitReset
Cette énumération définit les options permettant de contrôler l'activation de l'unité de texture.
| Constante | Valeur | Description |
|---|---|---|
QOpenGLTexture::ResetTextureUnit | 0 | L’unité de texture précédemment active sera réinitialisée |
QOpenGLTexture::DontResetTextureUnit | 1 | L'unité de texture précédemment active ne sera pas réinitialisée |
enum QOpenGLTexture::WrapMode
Cette énumération définit les modes de bouclage possibles pour les coordonnées de texture.
| Constante | Valeur | Description |
|---|---|---|
QOpenGLTexture::Repeat | 0x2901 | La coordonnée de texture est répétée. Équivalent à GL_REPEAT |
QOpenGLTexture::MirroredRepeat | 0x8370 | Les coordonnées de texture sont reflétées par rapport à 0 et 1. Équivalent à GL_MIRRORED_REPEAT |
QOpenGLTexture::ClampToEdge | 0x812F | Limite les coordonnées de texture à [0, 1]. Équivalent à GL_CLAMP_TO_EDGE |
QOpenGLTexture::ClampToBorder | 0x812D | Comme ClampToEdge, mais effectue également un mélange des échantillons à 0 et 1 avec une couleur de bordure fixe. Équivalent à GL_CLAMP_TO_BORDER |
Documentation des fonctions membres
[explicit] QOpenGLTexture::QOpenGLTexture(QOpenGLTexture::Target target)
Crée un objet `QOpenGLTexture` qui pourra ensuite être lié à ` target`.
Cela ne crée pas l'objet de texture OpenGL sous-jacent. Par conséquent, la construction à l'aide de ce constructeur ne nécessite pas de contexte OpenGL valide.
[explicit] QOpenGLTexture::QOpenGLTexture(const QImage &image, QOpenGLTexture::MipMapGeneration genMipMaps = GenerateMipMaps)
Crée un objet `QOpenGLTexture` qui pourra ensuite être lié à la cible de texture 2D et qui contient les données de pixels présentes dans ` image`. Si vous souhaitez générer une chaîne de mipmaps, définissez ` genMipMaps ` sur ` true ` (c'est la valeur par défaut).
Cette opération crée l'objet de texture OpenGL sous-jacent. Par conséquent, la construction à l'aide de ce constructeur nécessite un contexte OpenGL valide et actif.
Remarque : image est automatiquement converti en QImage::Format_RGBA8888, ce qui peut avoir des répercussions sur les performances pour les images volumineuses dont le format est différent.
void QOpenGLTexture::allocateStorage()
Alloue de l'espace de stockage côté serveur à cet objet de texture en tenant compte du format, des dimensions, des niveaux de mipmap, des couches de tableau et des faces de cubemap.
Une fois l'espace de stockage alloué, il n'est plus possible de modifier ces propriétés.
Si cette fonctionnalité est prise en charge, la méthode ` QOpenGLTexture ` utilise un stockage de texture immuable.
Une fois l’espace de stockage alloué à la texture, les données de pixels peuvent être chargées via l’une des surcharges de la méthode ` setData()`.
Remarque : si le stockage de texture immuable n’est pas disponible, un format de pixel et un type de pixel par défaut seront utilisés pour créer le stockage mutable. Vous pouvez utiliser l’autre surcharge de la fonction `allocateStorage()` pour spécifier exactement le format de pixel et le type de pixel à utiliser lors de l’allocation d’un stockage mutable ; ceci est particulièrement utile dans certaines implémentations d’OpenGL ES (notamment OpenGL ES 2), où le format et le type de pixel utilisés au moment de l’allocation doivent correspondre parfaitement au format et au type transmis à tout appel ultérieur à ` setData()`.
Voir également ` isStorageAllocated()` et ` setData()`.
void QOpenGLTexture::allocateStorage(QOpenGLTexture::PixelFormat pixelFormat, QOpenGLTexture::PixelType pixelType)
Alloue de l'espace de stockage côté serveur pour cet objet de texture en tenant compte du format, des dimensions, des niveaux de mipmap, des couches de tableau et des faces de la carte cubique.
Une fois l'espace de stockage alloué, il n'est plus possible de modifier ces propriétés.
Si la fonctionnalité est prise en charge, ` QOpenGLTexture ` utilise un stockage de texture immuable. Toutefois, si le stockage de texture immuable n’est pas disponible, les paramètres ` pixelFormat ` et ` pixelType ` spécifiés seront utilisés pour allouer un stockage mutable ; notez que dans certaines implémentations d’OpenGL (notamment OpenGL ES 2), ils doivent correspondre parfaitement au format et au type passés à tout appel ultérieur à ` setData()`.
Une fois l'espace mémoire alloué pour la texture, les données de pixels peuvent être chargées via l'une des surcharges de la fonction ` setData()`.
Voir également ` isStorageAllocated()` et ` setData()`.
void QOpenGLTexture::bind()
Lie cette texture à l'unité de texture actuellement active, prête pour le rendu. Notez qu'il n'est pas nécessaire de lier les objets de type ` QOpenGLTexture ` pour les modifier, car l'implémentation utilise l'extension EXT_direct_state_access lorsqu'elle est disponible et la simule lorsqu'elle ne l'est pas.
Voir également release().
void QOpenGLTexture::bind(uint unit, QOpenGLTexture::TextureUnitReset reset = DontResetTextureUnit)
Lie cette texture à l'unité de texture unit afin qu'elle soit prête pour le rendu. Notez qu'il n'est pas nécessaire de lier les objets QOpenGLTexture pour les modifier, car l'implémentation utilise l'extension EXT_direct_state_access lorsqu'elle est disponible et la simule lorsqu'elle ne l'est pas.
Si le paramètre reset est true, cette fonction rétablit l’unité active à l’unité de texture qui était active au moment de l’appel.
Voir également release().
QColor QOpenGLTexture::borderColor() const
Renvoie la couleur de la bordure (borderColor) de cette texture.
Voir aussi setBorderColor().
void QOpenGLTexture::borderColor(float *border) const
Écrit la couleur de la bordure de la texture dans les quatre premiers éléments du tableau pointé par border.
Voir également setBorderColor().
void QOpenGLTexture::borderColor(int *border) const
Écrit la couleur de la bordure de la texture dans les quatre premiers éléments du tableau pointé par ` border`.
Il s'agit d'une fonction surchargée.
void QOpenGLTexture::borderColor(unsigned int *border) const
Écrit la couleur de la bordure de la texture dans les quatre premiers éléments du tableau pointé par ` border`.
Il s'agit d'une fonction surchargée.
[static] GLuint QOpenGLTexture::boundTextureId(QOpenGLTexture::BindingTarget target)
Renvoie l'textureId e de la texture associée à l'target de l'unité de texture actuellement active.
[static] GLuint QOpenGLTexture::boundTextureId(uint unit, QOpenGLTexture::BindingTarget target)
Renvoie l'textureId e de la texture liée à l'target e de l'unité de texture unit.
QOpenGLTexture::ComparisonFunction QOpenGLTexture::comparisonFunction() const
Renvoie l'opérateur de comparaison défini pour cette texture. Par défaut, une texture utilise la fonction de comparaison « CompareLessEqual ».
Voir aussi setComparisonFunction().
QOpenGLTexture::ComparisonMode QOpenGLTexture::comparisonMode() const
Renvoie le mode de comparaison défini pour cette texture. Par défaut, une texture utilise le mode de comparaison « CompareNone » (c'est-à-dire que les comparaisons sont désactivées).
Voir également setComparisonMode().
bool QOpenGLTexture::create()
Crée l'objet de texture OpenGL sous-jacent. Cela nécessite un contexte OpenGL valide et actif. Si l'objet de texture existe déjà, cette fonction ne fait rien.
Une fois l'objet de texture créé, vous pouvez obtenir son nom à l'aide de la fonction ` textureId()`. Cela peut s'avérer utile si vous souhaitez effectuer des appels OpenGL bruts liés à cette texture.
Normalement, il ne devrait pas être nécessaire d’appeler cette fonction directement, car toutes les fonctions qui définissent les propriétés de l’objet texture appellent implicitement create() à votre place.
Renvoie ` true ` si la création a réussi, sinon renvoie ` false`.
Voir également destroy(), isCreated() et textureId().
QOpenGLTexture *QOpenGLTexture::createTextureView(QOpenGLTexture::Target target, QOpenGLTexture::TextureFormat viewFormat, int minimumMipmapLevel, int maximumMipmapLevel, int minimumLayer, int maximumLayer) const
Tente de créer une vue de texture sur cette texture. Une vue de texture s'apparente en quelque sorte à une vue en SQL, dans la mesure où elle présente une vue restreinte ou réinterprétée des données d'origine. Les vues de texture n'allouent pas d'espace de stockage supplémentaire côté serveur, mais s'appuient sur le tampon de stockage de la texture source.
Les vues de texture ne sont disponibles que lors de l’utilisation d’un stockage immuable. Pour plus d’informations sur les vues de texture, consultez http://www.opengl.org/wiki/Texture_Storage#Texture_views.
L’argument target spécifie la cible à utiliser pour la vue. Seules certaines cibles peuvent être utilisées, en fonction de la cible d’origine. Par exemple, une vue sur une texture de type « Target1DArray » peut spécifier soit Target1DArray, soit Target1D; mais pour cette dernière, le nombre de couches de tableau spécifié par minimumLayer et maximumLayer doit être exactement égal à 1.
Des contraintes similaires s’appliquent à l’ viewFormat. Consultez le lien ci-dessus et la spécification pour plus de détails.
Les arguments minimumMipmapLevel, maximumMipmapLevel, minimumLayer et maximumLayer servent à restreindre les parties de la texture accessibles par la vue de texture.
Si la création de la vue de texture échoue, cette fonction renvoie 0. Si la fonction aboutit, elle renvoie un pointeur vers un nouvel objet QOpenGLTexture qui renverra true à partir de sa fonction isTextureView().
Voir également isTextureView().
int QOpenGLTexture::depth() const
Renvoie la profondeur d'une texture 3D.
Voir également width(), height() et setSize().
QOpenGLTexture::DepthStencilMode QOpenGLTexture::depthStencilMode() const
Renvoie le mode stencil de profondeur pour les textures utilisant un format combiné profondeur/stencil.
Voir également setDepthStencilMode().
void QOpenGLTexture::destroy()
Détruit l'objet de texture OpenGL sous-jacent. Cette fonction nécessite un contexte OpenGL valide et actif.
Voir également create(), isCreated() et textureId().
int QOpenGLTexture::faces() const
Renvoie le nombre de faces de cette texture. Pour les cibles de type « cubemap » et « cubemap array », cette valeur sera égale à 6.
Pour les cibles de type autre que « cubemap », cette fonction renvoie 1.
QOpenGLTexture::TextureFormat QOpenGLTexture::format() const
Renvoie le format de cet objet de texture.
Voir aussi setFormat().
void QOpenGLTexture::generateMipMaps()
Génère des mipmaps pour cet objet de texture à partir du niveau de mipmap 0. Si vous utilisez une cible de texture et une option de filtrage nécessitant des mipmaps et que vous avez désactivé la génération automatique de mipmaps, vous devez alors appeler cette fonction ou sa surcharge pour créer la chaîne de mipmaps.
Remarque : la générationde mipmaps n'est pas prise en charge pour les textures compressées avec OpenGL ES.
Voir également setAutoMipMapGenerationEnabled(), setMipLevels() et mipLevels().
void QOpenGLTexture::generateMipMaps(int baseLevel, bool resetBaseLevel = true)
Génère des mipmaps pour cet objet de texture à partir du niveau de mipmap baseLevel. Si vous utilisez une cible de texture et une option de filtrage nécessitant des mipmaps et que vous avez désactivé la génération automatique de mipmaps, vous devez alors appeler cette fonction ou sa surcharge pour créer la chaîne de mipmaps.
La génération de mipmaps au-delà de baseLevel s’effectue en définissant le niveau de base des mipmaps sur baseLevel, puis en générant la chaîne de mipmaps. Si resetBaseLevel vaut true, le niveau de base (baseLevel) de la texture sera réinitialisé à sa valeur précédente.
Voir également setAutoMipMapGenerationEnabled(), setMipLevels() et mipLevels().
[static] bool QOpenGLTexture::hasFeature(QOpenGLTexture::Feature feature)
Renvoie « true » si votre implémentation OpenGL et sa version prennent en charge la fonctionnalité de texture « feature ».
int QOpenGLTexture::height() const
Renvoie la hauteur d'une texture 2D ou 3D.
Voir également width(), depth() et setSize().
bool QOpenGLTexture::isAutoMipMapGenerationEnabled() const
Indique si la génération automatique de mipmaps est activée pour cet objet de texture.
Voir également setAutoMipMapGenerationEnabled() et generateMipMaps().
bool QOpenGLTexture::isBound() const
Renvoie ` true ` si cette texture est associée à la cible correspondante de l'unité de texture actuellement active.
Voir également bind() et release().
bool QOpenGLTexture::isBound(uint unit)
Renvoie ` true ` si cette texture est associée à la cible correspondante de l'unité de texture ` unit`.
Voir également bind() et release().
bool QOpenGLTexture::isCreated() const
Renvoie « true » si l'objet de texture OpenGL sous-jacent a été créé.
Voir également create(), destroy() et textureId().
bool QOpenGLTexture::isFixedSamplePositions() const
Indique si cette texture utilise un schéma fixe d'échantillons multisample. Si aucun espace mémoire n'a encore été alloué à cette texture, cette fonction renvoie le paramètre de position d'échantillon fixe demandé.
Pour les cibles de texture qui ne prennent pas en charge le multisampling, cette fonction renvoie ` true`.
Voir également setFixedSamplePositions() et isStorageAllocated().
bool QOpenGLTexture::isStorageAllocated() const
Renvoie « true » si l'espace de stockage côté serveur pour cette texture a été alloué.
Le format de la texture, ses dimensions, les niveaux de mipmap et les couches du tableau ne peuvent plus être modifiés une fois l'espace de stockage alloué.
Voir également allocateStorage(), setSize(), setMipLevels(), setLayers() et setFormat().
bool QOpenGLTexture::isTextureView() const
Renvoie ` true ` si cet objet de texture est en réalité une vue sur un autre objet de texture.
Voir aussi createTextureView().
int QOpenGLTexture::layers() const
Renvoie le nombre de couches de tableau pour cette texture. Si aucun espace de stockage n'a encore été alloué à cette texture, cette fonction renvoie le nombre de couches de tableau demandé.
Pour les cibles de texture qui ne prennent pas en charge les couches de tableau, cette fonction renvoie 1.
Voir également setLayers() et isStorageAllocated().
std::pair<float, float> QOpenGLTexture::levelOfDetailRange() const
Renvoie les valeurs minimale et maximale des paramètres de niveau de détail.
Voir également setLevelOfDetailRange(), minimumLevelOfDetail() et maximumLevelOfDetail().
float QOpenGLTexture::levelofDetailBias() const
Renvoie le paramètre de biais du niveau de détail.
Voir également setLevelofDetailBias().
QOpenGLTexture::Filter QOpenGLTexture::magnificationFilter() const
Renvoie le filtre de grossissement.
Voir aussi setMagnificationFilter().
float QOpenGLTexture::maximumAnisotropy() const
Renvoie le niveau maximal d'anisotropie à prendre en compte lors des recherches de textures. Cette fonction nécessite l'extension GL_EXT_texture_filter_anisotropic.
Voir également setMaximumAnisotropy().
float QOpenGLTexture::maximumLevelOfDetail() const
Renvoie le paramètre de niveau de détail maximal.
Voir également setMaximumLevelOfDetail(), minimumLevelOfDetail() et levelOfDetailRange().
int QOpenGLTexture::maximumMipLevels() const
Renvoie le nombre maximal de niveaux de mipmap que cette texture peut comporter, compte tenu de ses dimensions actuelles.
Voir également setMipLevels(), mipLevels() et setSize().
std::pair<QOpenGLTexture::Filter, QOpenGLTexture::Filter> QOpenGLTexture::minMagFilters() const
Renvoie les filtres de réduction et d'agrandissement actuels.
Voir aussi setMinMagFilters().
QOpenGLTexture::Filter QOpenGLTexture::minificationFilter() const
Renvoie le filtre de minification.
Voir aussi setMinificationFilter().
float QOpenGLTexture::minimumLevelOfDetail() const
Renvoie le paramètre de niveau de détail minimal.
Voir également setMinimumLevelOfDetail(), maximumLevelOfDetail() et levelOfDetailRange().
int QOpenGLTexture::mipBaseLevel() const
Renvoie le niveau de base du mipmap utilisé pour toutes les consultations de cette texture. La valeur par défaut est 0.
Voir également setMipBaseLevel(), mipMaxLevel() et mipLevelRange().
std::pair<int, int> QOpenGLTexture::mipLevelRange() const
Renvoie la plage des niveaux de mipmap pouvant être utilisés pour les recherches de texture avec cette texture.
Voir également setMipLevelRange(), mipBaseLevel() et mipMaxLevel().
int QOpenGLTexture::mipLevels() const
Renvoie le nombre de niveaux de mipmap pour cette texture. Si aucun espace mémoire n'a encore été alloué à cette texture, cette fonction renvoie le nombre de niveaux de mipmap demandé.
Voir également setMipLevels(), maximumMipLevels() et isStorageAllocated().
int QOpenGLTexture::mipMaxLevel() const
Renvoie le niveau maximal de mipmap utilisé pour toutes les consultations de cette texture.
Voir également setMipMaxLevel(), mipBaseLevel() et mipLevelRange().
void QOpenGLTexture::release()
Désassocie cette texture de l'unité de texture actuellement active.
Voir également bind().
void QOpenGLTexture::release(uint unit, QOpenGLTexture::TextureUnitReset reset = DontResetTextureUnit)
Désassocie cette texture de l'unité de texture unit.
Si le paramètre reset vaut true, cette fonction rétablit l'unité active à l'unité de texture qui était active au moment de l'appel.
int QOpenGLTexture::samples() const
Renvoie le nombre de points d'échantillonnage multi-échantillonnés pour cette texture. Si aucun espace mémoire n'a encore été alloué à cette texture, cette fonction renvoie le nombre d'échantillons demandé.
Pour les cibles de texture qui ne prennent pas en charge le multi-échantillonnage, cette fonction renvoie 0.
Voir également setSamples() et isStorageAllocated().
void QOpenGLTexture::setAutoMipMapGenerationEnabled(bool enabled)
Si la propriété ` enabled ` est définie sur ` true`, la génération automatique de mipmaps pour cet objet de texture est activée dès que les données de mipmap de niveau 0 sont définies via la fonction ` setData()`.
La génération automatique de mipmaps est activée par défaut.
Remarque : la générationde mipmaps n'est pas prise en charge pour les textures compressées avec OpenGL ES 2.0.
Voir également isAutoMipMapGenerationEnabled() et generateMipMaps().
void QOpenGLTexture::setBorderColor(const QColor &color)
Définit la couleur de la bordure de la texture sur color.
Remarque : cette fonction n'a aucun effet sur Mac et sur Qt compilé pour OpenGL ES 2.
Voir également ` borderColor()`.
void QOpenGLTexture::setBorderColor(float r, float g, float b, float a)
Définit la couleur rouge sur r, la verte sur g, la bleue sur b et la valeur alpha sur a.
Il s'agit d'une fonction surchargée.
void QOpenGLTexture::setBorderColor(int r, int g, int b, int a)
Définit la couleur rouge sur r, la couleur verte sur g, la couleur bleue sur b et la valeur alpha sur a.
Il s'agit d'une fonction surchargée.
void QOpenGLTexture::setBorderColor(uint r, uint g, uint b, uint a)
Définit la couleur rouge sur r, la couleur verte sur g, la couleur bleue sur b et la valeur alpha sur a.
Il s'agit d'une fonction surchargée.
void QOpenGLTexture::setComparisonFunction(QOpenGLTexture::ComparisonFunction function)
Définit la fonction de comparaison de texture de cette texture sur « function ». La fonction de comparaison de texture est utilisée par les échantillonneurs d'ombres lors de l'échantillonnage d'une texture de profondeur.
Voir également comparisonFunction().
void QOpenGLTexture::setComparisonMode(QOpenGLTexture::ComparisonMode mode)
Définit le mode de comparaison de cette texture sur « mode ». Le mode de comparaison de texture est utilisé par les échantillonneurs d'ombres lors de l'échantillonnage d'une texture de profondeur.
Voir également ` comparisonMode()`.
void QOpenGLTexture::setCompressedData(int mipLevel, int layer, QOpenGLTexture::CubeMapFace cubeFace, int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
Envoie les données compressées de type « pixel » data vers mipLevel, les tableaux layer et cubeFace. Le transfert de pixels peut éventuellement être contrôlé à l'aide de options. L'argument dataSize doit spécifier la taille des données pointées par data.
Si vous n'utilisez pas une fonction compressée format(), vous devez utiliser setData() à la place de cette fonction.
void QOpenGLTexture::setCompressedData(int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
Il s'agit d'une fonction surchargée.
void QOpenGLTexture::setCompressedData(int mipLevel, int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
Il s'agit d'une fonction surchargée.
void QOpenGLTexture::setCompressedData(int mipLevel, int layer, int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
Il s'agit d'une fonction surchargée.
void QOpenGLTexture::setCompressedData(int mipLevel, int layer, int layerCount, QOpenGLTexture::CubeMapFace cubeFace, int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
Le paramètre ` layerCount ` correspond au nombre de couches d'un tableau de textures qui sont chargées/remplies par cet appel.
Il s'agit d'une fonction surchargée.
void QOpenGLTexture::setData(int mipLevel, int layer, QOpenGLTexture::CubeMapFace cubeFace, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
Enregistre l’ data s de pixels pour cet objet de texture mipLevel, le tableau layer et cubeFace. L’espace de stockage doit avoir été alloué avant l’enregistrement des données de pixels. Certaines surcharges de la fonction setData() définissent les dimensions, les niveaux de mipmap et les couches du tableau appropriés, puis allouent l’espace de stockage à votre place si elles disposent de suffisamment d’informations pour le faire. Cela sera indiqué dans la documentation de la fonction.
La structure des données de pixels pointées par ` data ` est spécifiée par ` sourceFormat ` et ` sourceType`. Le chargement des données de pixels peut éventuellement être contrôlé par ` options`.
Si vous utilisez une fonction format() compressée, vous devez utiliser setCompressedData() à la place de cette fonction.
Voir également setCompressedData().
void QOpenGLTexture::setData(const QImage &image, QOpenGLTexture::MipMapGeneration genMipMaps = GenerateMipMaps)
Cette surcharge de la méthode `setData()` allouera automatiquement de l'espace de stockage pour vous. Les données de pixels sont contenues dans ` image`. Les mipmaps sont générées par défaut. Définissez ` genMipMaps ` sur ` DontGenerateMipMaps ` pour désactiver la génération de mipmaps.
Remarque : ` image ` est automatiquement converti en ` QImage::Format_RGBA8888 `, ce qui peut avoir des répercussions sur les performances pour les images volumineuses d'un format différent.
Il s'agit d'une fonction surchargée.
void QOpenGLTexture::setData(QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
Il s'agit d'une fonction surchargée.
void QOpenGLTexture::setData(int mipLevel, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
Il s'agit d'une fonction surchargée.
void QOpenGLTexture::setData(int mipLevel, int layer, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
Il s'agit d'une fonction surchargée.
void QOpenGLTexture::setData(int mipLevel, int layer, int layerCount, QOpenGLTexture::CubeMapFace cubeFace, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
Le paramètre ` layerCount ` correspond au nombre de couches d'un tableau de textures qui sont chargées/remplies par cet appel.
Il s'agit d'une fonction surchargée.
void QOpenGLTexture::setData(int xOffset, int yOffset, int zOffset, int width, int height, int depth, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
Cette surcharge sert à mettre à jour une partie de la texture. Les paramètres xOffset, yOffset et zOffset spécifient les décalages des texels au sein de la texture. Les paramètres width, height et depth spécifient les dimensions de la sous-image.
La structure des données de pixels pointées par ` data ` est spécifiée par ` sourceFormat ` et ` sourceType`. Le chargement des données de pixels peut éventuellement être contrôlé par ` options`.
Il s’agit d’une fonction surchargée.
void QOpenGLTexture::setData(int xOffset, int yOffset, int zOffset, int width, int height, int depth, int mipLevel, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
Cette surcharge sert à mettre à jour une partie de la texture. Les paramètres xOffset, yOffset et zOffset spécifient les décalages des texels au sein de la texture. Les paramètres width, height et depth spécifient les dimensions de la sous-image. Le niveau de mipmap de la sous-image que l'on souhaite mettre à jour est spécifié par mipLevel.
La structure des données de pixels pointées par ` data ` est spécifiée par ` sourceFormat ` et ` sourceType`. Le chargement des données de pixels peut, de manière facultative, être contrôlé par ` options`.
Il s'agit d'une fonction surchargée.
void QOpenGLTexture::setData(int xOffset, int yOffset, int zOffset, int width, int height, int depth, int mipLevel, int layer, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
Cette surcharge sert à mettre à jour une partie de la texture. Les paramètres xOffset, yOffset et zOffset spécifient les décalages de texels au sein de la texture. Les paramètres width, height et depth spécifient les dimensions de la sous-image. Le niveau de mipmap et la couche de la sous-image que l'on souhaite mettre à jour sont spécifiés par mipLevel et layer.
La structure des données de pixels pointées par ` data ` est spécifiée par ` sourceFormat ` et ` sourceType`. Le chargement des données de pixels peut, de manière facultative, être contrôlé par ` options`.
Il s'agit d'une fonction surchargée.
void QOpenGLTexture::setData(int xOffset, int yOffset, int zOffset, int width, int height, int depth, int mipLevel, int layer, QOpenGLTexture::CubeMapFace face, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
Cette surcharge sert à mettre à jour une partie de la texture. Les paramètres xOffset, yOffset et zOffset spécifient les décalages de texels au sein de la texture. Les paramètres width, height et depth spécifient les dimensions de la sous-image. Le niveau de mipmap, la couche et la face de la carte cubique de la sous-image que l'on souhaite mettre à jour sont spécifiés par mipLevel, layer et face.
La structure des données de pixels pointées par ` data ` est spécifiée par ` sourceFormat ` et ` sourceType`. Le chargement des données de pixels peut être contrôlé de manière facultative par ` options`.
Il s'agit d'une fonction surchargée.
void QOpenGLTexture::setData(int xOffset, int yOffset, int zOffset, int width, int height, int depth, int mipLevel, int layer, QOpenGLTexture::CubeMapFace face, int layerCount, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
Cette surcharge sert à mettre à jour une partie de la texture. Les paramètres xOffset, yOffset et zOffset spécifient les décalages des texels au sein de la texture. Les paramètres width, height et depth spécifient les dimensions de la sous-image. Le niveau de la mipmap, la couche de départ, la face de la carte cubique et le nombre de couches de la sous-image que l'on souhaite mettre à jour sont spécifiés respectivement par mipLevel, layer, face et layerCount.
La structure des données de pixels pointées par ` data ` est spécifiée par ` sourceFormat ` et ` sourceType`. Le chargement des données de pixels peut éventuellement être contrôlé par ` options`.
Il s'agit d'une fonction surchargée.
void QOpenGLTexture::setDepthStencilMode(QOpenGLTexture::DepthStencilMode mode)
Si vous utilisez une texture au format combiné profondeur/stencil, cette fonction définit quelle composante de la texture est accessible à l'adresse mode.
Lorsque le paramètre est défini sur ` DepthMode`, l'accès à la texture depuis le shader se fera, comme d'habitude, sur la composante de profondeur sous la forme d'un nombre à virgule flottante unique. En revanche, lorsque le paramètre est défini sur ` StencilMode`, le shader accédera à la composante de stencil.
Remarque : cette fonction n'a aucun effet sur Mac et sur les versions de Qt compilées pour OpenGL ES 2.
Voir également depthStencilMode().
void QOpenGLTexture::setFixedSamplePositions(bool fixed)
Définit si les positions d'échantillonnage et le nombre d'échantillons utilisés avec une cible de texture prenant en charge le multi-échantillonnage doivent être « fixed ». Si la valeur est définie sur « true », les positions d'échantillonnage et le nombre d'échantillons utilisés sont identiques pour tous les texels de l'image et ne dépendent ni de la taille de l'image ni du format interne. Cette fonction doit être appelée avant l'allocation de mémoire pour la texture.
Pour les cibles ne prenant pas en charge le multi-échantillonnage, cette fonction n’a aucun effet.
La valeur par défaut est true.
Voir également isFixedSamplePositions() et isStorageAllocated().
void QOpenGLTexture::setFormat(QOpenGLTexture::TextureFormat format)
Définit le format de cet objet texture sur « format ». Cette fonction doit être appelée avant l'allocation de l'espace de stockage de la texture.
Notez que tous les formats ne sont pas nécessairement pris en charge. L'ensemble exact des formats pris en charge dépend de votre implémentation et de la version d'OpenGL.
Voir également format() et allocateStorage().
void QOpenGLTexture::setLayers(int layers)
Définit le nombre d'layers s de tableau pour lesquelles de l'espace de stockage doit être alloué. Cette fonction doit être appelée avant l'allocation de l'espace de stockage pour la texture.
Pour les cibles qui ne prennent pas en charge les couches de tableau, cette fonction n'a aucun effet.
Voir également ` layers()` et ` isStorageAllocated()`.
void QOpenGLTexture::setLevelOfDetailRange(float min, float max)
Définit le niveau de détail minimum sur min et le niveau maximal sur max.
Remarque : cette fonction n'a aucun effet sur Qt compilé pour OpenGL ES 2.
Voir également levelOfDetailRange(), setMinimumLevelOfDetail() et setMaximumLevelOfDetail().
void QOpenGLTexture::setLevelofDetailBias(float bias)
Définit le biais du niveau de détail sur « bias ». Le biais du niveau de détail influe sur le point à partir duquel les niveaux de mipmapping changent. L'augmentation de la valeur du biais du niveau de détail rend l'image globale plus floue ou plus lisse. La diminution de cette valeur rend l'image globale plus nette.
Remarque : cette fonction n'a aucun effet sur Qt compilé pour OpenGL ES 2.
Voir également levelofDetailBias().
void QOpenGLTexture::setMagnificationFilter(QOpenGLTexture::Filter filter)
Définit le filtre de grossissement sur filter.
Voir également magnificationFilter(), setMinificationFilter() et setMinMagFilters().
void QOpenGLTexture::setMaximumAnisotropy(float anisotropy)
Si votre implémentation d'OpenGL prend en charge l'extension GL_EXT_texture_filter_anisotropic, cette fonction définit le niveau d'anisotropie maximal à anisotropy.
Voir également maximumAnisotropy().
void QOpenGLTexture::setMaximumLevelOfDetail(float value)
Définit le niveau maximal de détail sur value. Cela limite la sélection à la mipmap de résolution la plus faible (niveau de mipmap le plus élevé). La valeur par défaut est 1000.
Remarque : cette fonction n'a aucun effet sur Qt compilé pour OpenGL ES 2.
Voir également maximumLevelOfDetail(), setMinimumLevelOfDetail() et setLevelOfDetailRange().
void QOpenGLTexture::setMinMagFilters(QOpenGLTexture::Filter minificationFilter, QOpenGLTexture::Filter magnificationFilter)
Définit le filtre de minification sur minificationFilter et le filtre de magnification sur magnificationFilter.
Voir également minMagFilters(), setMinificationFilter() et setMagnificationFilter().
void QOpenGLTexture::setMinificationFilter(QOpenGLTexture::Filter filter)
Définit le filtre utilisé pour la minification sur filter.
Voir également minificationFilter(), setMagnificationFilter() et setMinMagFilters().
void QOpenGLTexture::setMinimumLevelOfDetail(float value)
Définit le niveau de détail minimum à value. Cela limite la sélection de la mipmap à la résolution la plus élevée (niveau de mipmap le plus bas). La valeur par défaut est -1000.
Remarque : cette fonction n'a aucun effet sur Qt compilé pour OpenGL ES 2.
Voir également minimumLevelOfDetail(), setMaximumLevelOfDetail() et setLevelOfDetailRange().
void QOpenGLTexture::setMipBaseLevel(int baseLevel)
Définit le niveau de mipmap de base utilisé pour toutes les consultations de texture avec cette texture sur baseLevel.
Remarque : cette fonction n'a aucun effet sur Qt compilé pour OpenGL ES 2.
Voir également mipBaseLevel(), setMipMaxLevel() et setMipLevelRange().
void QOpenGLTexture::setMipLevelRange(int baseLevel, int maxLevel)
Définit la plage des niveaux de mipmap pouvant être utilisés pour les recherches de texture avec cette texture, de baseLevel à maxLevel.
Remarque : cette fonction n'a aucun effet sur Qt compilé pour OpenGL ES 2.
Voir également setMipBaseLevel(), setMipMaxLevel() et mipLevelRange().
void QOpenGLTexture::setMipLevels(int levels)
Pour les cibles de texture prenant en charge les mipmaps, cette fonction définit le nombre demandé d'levels de mipmap pour lesquelles il faut allouer de l'espace de stockage. Cette fonction doit être appelée avant l'allocation de l'espace de stockage pour la texture.
Si la cible de texture ne prend pas en charge les mipmaps, cette fonction n'a aucun effet.
Voir également mipLevels(), maximumMipLevels() et isStorageAllocated().
void QOpenGLTexture::setMipMaxLevel(int maxLevel)
Définit le niveau maximal de mipmap utilisé pour toutes les consultations de texture avec cette texture à maxLevel.
Remarque : cette fonction n’a aucun effet sur Qt compilé pour OpenGL ES 2.
Voir également mipMaxLevel(), setMipBaseLevel() et setMipLevelRange().
void QOpenGLTexture::setSamples(int samples)
Définit le nombre d'échantillons ( samples ) pour lesquels il faut allouer de l'espace mémoire lors du rendu vers une cible de texture prenant en charge le multisampling. Cette fonction doit être appelée avant l'allocation de l'espace mémoire pour la texture.
Pour les cibles ne prenant pas en charge le multisampling, cette fonction n’a aucun effet.
Voir également ` samples()` et ` isStorageAllocated()`.
void QOpenGLTexture::setSize(int width, int height = 1, int depth = 1)
Définit les dimensions de cet objet de texture sur width, height et depth. La valeur par défaut pour chaque dimension est 1. La taille maximale autorisée pour une texture dépend de votre implémentation d’OpenGL. L’allocation de mémoire pour une texture dont la taille est inférieure à la taille maximale peut tout de même échouer si votre système manque de ressources.
Si une valeur non puissance de deux est fournie pour width, height ou depth et que votre implémentation OpenGL ne prend pas en charge la répétition des textures non puissances de deux, le mode de bouclage est alors automatiquement défini sur ClampToEdge.
Voir également width(), height() et depth().
void QOpenGLTexture::setSwizzleMask(QOpenGLTexture::SwizzleComponent component, QOpenGLTexture::SwizzleValue value)
Les shaders GLSL permettent de réorganiser les composantes du vec4 renvoyé par les fonctions de texture. Il est également souhaitable de pouvoir contrôler cette réorganisation à partir du code côté CPU. Cela est rendu possible grâce aux masques de permutation (swizzle masks) depuis OpenGL 3.3.
Chaque composante de la texture peut être mappée à l'une des options SwizzleValue.
Cette fonction associe l’ component à la sortie value.
Remarque : cette fonction n’a aucun effet sur Mac et sur les versions de Qt compilées pour OpenGL ES 2.
Voir aussi swizzleMask().
void QOpenGLTexture::setSwizzleMask(QOpenGLTexture::SwizzleValue r, QOpenGLTexture::SwizzleValue g, QOpenGLTexture::SwizzleValue b, QOpenGLTexture::SwizzleValue a)
Les paramètres r, g, b et a correspondent aux valeurs utilisées pour définir les couleurs rouge, vert, bleu et la valeur alpha.
Il s'agit d'une fonction surchargée.
void QOpenGLTexture::setWrapMode(QOpenGLTexture::WrapMode mode)
Définit le mode de répétition (ou « wrap ») pour toutes les dimensions de la texture sur « mode ».
Voir également wrapMode().
void QOpenGLTexture::setWrapMode(QOpenGLTexture::CoordinateDirection direction, QOpenGLTexture::WrapMode mode)
Définit le mode de répétition (ou « wrap ») de la texture « dimension » direction sur mode.
Il s'agit d'une fonction surchargée.
QOpenGLTexture::SwizzleValue QOpenGLTexture::swizzleMask(QOpenGLTexture::SwizzleComponent component) const
Renvoie le masque de swizzle pour la texture component.
Voir aussi setSwizzleMask().
QOpenGLTexture::Target QOpenGLTexture::target() const
Renvoie la cible de liaison de cette texture.
GLuint QOpenGLTexture::textureId() const
Renvoie le nom de l'objet de texture OpenGL sous-jacent ou 0 s'il n'a pas encore été créé.
Voir également create(), destroy() et isCreated().
int QOpenGLTexture::width() const
Renvoie la largeur d'une texture 1D, 2D ou 3D.
Voir également height(), depth() et setSize().
QOpenGLTexture::WrapMode QOpenGLTexture::wrapMode(QOpenGLTexture::CoordinateDirection direction) const
Renvoie le mode d'enveloppement pour la dimension de texture direction.
Voir également setWrapMode().
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.