Sur cette page

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.

ConstanteValeurDescription
QOpenGLTexture::BindingTarget1D0x8068Équivalent à GL_TEXTURE_BINDING_1D
QOpenGLTexture::BindingTarget1DArray0x8C1CÉquivalent à GL_TEXTURE_BINDING_1D_ARRAY
QOpenGLTexture::BindingTarget2D0x8069Équivalent à GL_TEXTURE_BINDING_2D
QOpenGLTexture::BindingTarget2DArray0x8C1DÉquivalent à GL_TEXTURE_BINDING_2D_ARRAY
QOpenGLTexture::BindingTarget3D0x806AÉquivalent à GL_TEXTURE_BINDING_3D
QOpenGLTexture::BindingTargetCubeMap0x8514Équivalent à GL_TEXTURE_BINDING_CUBE_MAP
QOpenGLTexture::BindingTargetCubeMapArray0x900AÉquivalent à GL_TEXTURE_BINDING_CUBE_MAP_ARRAY
QOpenGLTexture::BindingTarget2DMultisample0x9104Équivalent à GL_TEXTURE_BINDING_2D_MULTISAMPLE
QOpenGLTexture::BindingTarget2DMultisampleArray0x9105Équivalent à GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY
QOpenGLTexture::BindingTargetRectangle0x84F6Équivalent à GL_TEXTURE_BINDING_RECTANGLE
QOpenGLTexture::BindingTargetBuffer0x8C2CÉ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.

ConstanteValeurDescription
QOpenGLTexture::CompareLessEqual0x0203Équivalent à GL_LEQUAL.
QOpenGLTexture::CompareGreaterEqual0x0206Équivalent à GL_GEQUAL.
QOpenGLTexture::CompareLess0x0201Équivalent à GL_LESS.
QOpenGLTexture::CompareGreater0x0204Équivalent à GL_GREATER.
QOpenGLTexture::CompareEqual0x0202Équivalent à GL_EQUAL.
QOpenGLTexture::CompareNotEqual0x0205Équivalent à GL_NOTEQUAL.
QOpenGLTexture::CompareAlways0x0207Équivalent à GL_ALWAYS.
QOpenGLTexture::CompareNever0x0200Équivalent à GL_NEVER.

enum QOpenGLTexture::ComparisonMode

Cette énumération précise le mode de comparaison utilisé lors de l'échantillonnage de cette texture.

ConstanteValeurDescription
QOpenGLTexture::CompareRefToTexture0x884EÉquivalent à GL_COMPARE_REF_TO_TEXTURE.
QOpenGLTexture::CompareNone0x0000Équivalent à GL_NONE.

enum QOpenGLTexture::CoordinateDirection

Cette énumération définit les directions possibles des coordonnées de texture

ConstanteValeurDescription
QOpenGLTexture::DirectionS0x2802La direction horizontale. Équivalent à GL_TEXTURE_WRAP_S
QOpenGLTexture::DirectionT0x2803La direction verticale. Équivalent à GL_TEXTURE_WRAP_T
QOpenGLTexture::DirectionR0x8072La direction de la profondeur. Équivalent à GL_TEXTURE_WRAP_R

enum QOpenGLTexture::CubeMapFace

Cette énumération définit les faces possibles d'une CubeMap.

ConstanteValeurDescription
QOpenGLTexture::CubeMapPositiveX0x8515Équivalent à GL_TEXTURE_CUBE_MAP_POSITIVE_X
QOpenGLTexture::CubeMapNegativeX0x8516Équivalent à GL_TEXTURE_CUBE_MAP_NEGATIVE_X
QOpenGLTexture::CubeMapPositiveY0x8517Équivalent à GL_TEXTURE_CUBE_MAP_POSITIVE_Y
QOpenGLTexture::CubeMapNegativeY0x8518Équivalent à GL_TEXTURE_CUBE_MAP_NEGATIVE_Y
QOpenGLTexture::CubeMapPositiveZ0x8519Équivalent à GL_TEXTURE_CUBE_MAP_POSITIVE_Z
QOpenGLTexture::CubeMapNegativeZ0x851AÉ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.

ConstanteValeurDescription
QOpenGLTexture::DepthMode0x1902Équivalent à GL_DEPTH_COMPONENT.
QOpenGLTexture::StencilMode0x1901É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.

ConstanteValeurDescription
QOpenGLTexture::ImmutableStorage0x00000001Prise en charge du stockage de textures immuables
QOpenGLTexture::ImmutableMultisampleStorage0x00000002Prise en charge du stockage de textures immuables avec des cibles multisample
QOpenGLTexture::TextureRectangle0x00000004Prise en charge de la cible GL_TEXTURE_RECTANGLE
QOpenGLTexture::TextureArrays0x00000008Prise en charge des cibles de texture avec couches de tableaux
QOpenGLTexture::Texture3D0x00000010Prise en charge de la cible de texture tridimensionnelle
QOpenGLTexture::TextureMultisample0x00000020Prise en charge des cibles de texture dotées de capacités multisample
QOpenGLTexture::TextureBuffer0x00000040Prise en charge des textures utilisant des objets de tampon OpenGL comme source de données
QOpenGLTexture::TextureCubeMapArrays0x00000080Prise en charge de la cible de texture de type « cubemap »
QOpenGLTexture::Swizzle0x00000100Prise en charge des masques de permutation des composants de texture
QOpenGLTexture::StencilTexturing0x00000200Prise 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::AnisotropicFiltering0x00000400Prise en charge du filtrage anisotrope des textures
QOpenGLTexture::NPOTTextures0x00000800Prise en charge de base des textures non-puissance-de-deux
QOpenGLTexture::NPOTTextureRepeat0x00001000Prise en charge complète des textures non-puissance-de-deux, y compris les modes de répétition de texture
QOpenGLTexture::Texture1D0x00002000Prise en charge de la cible de texture unidimensionnelle
QOpenGLTexture::TextureComparisonOperators0x00004000Prise en charge des opérateurs de comparaison de textures
QOpenGLTexture::TextureMipMapLevel0x00008000Prise 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 `.

ConstanteValeurDescription
QOpenGLTexture::Nearest0x2600Équivalent à GL_NEAREST
QOpenGLTexture::Linear0x2601Équivalent à GL_LINEAR
QOpenGLTexture::NearestMipMapNearest0x2700Équivalent à GL_NEAREST_MIPMAP_NEAREST
QOpenGLTexture::NearestMipMapLinear0x2702Équivalent à GL_NEAREST_MIPMAP_LINEAR
QOpenGLTexture::LinearMipMapNearest0x2701Équivalent à GL_LINEAR_MIPMAP_NEAREST
QOpenGLTexture::LinearMipMapLinear0x2703É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.

ConstanteValeurDescription
QOpenGLTexture::GenerateMipMaps0Les mipmaps doivent être générées
QOpenGLTexture::DontGenerateMipMaps1Les 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.

ConstanteValeurDescription
QOpenGLTexture::NoSourceFormat0Équivalent à GL_NONE
QOpenGLTexture::Red0x1903Équivalent à GL_RED
QOpenGLTexture::RG0x8227Équivalent à GL_RG
QOpenGLTexture::RGB0x1907Équivalent à GL_RGB
QOpenGLTexture::BGR0x80E0Équivalent à GL_BGR
QOpenGLTexture::RGBA0x1908Équivalent à GL_RGBA
QOpenGLTexture::BGRA0x80E1Équivalent à GL_BGRA
QOpenGLTexture::Red_Integer0x8D94Équivalent à GL_RED_INTEGER
QOpenGLTexture::RG_Integer0x8228Équivalent à GL_RG_INTEGER
QOpenGLTexture::RGB_Integer0x8D98Équivalent à GL_RGB_INTEGER
QOpenGLTexture::BGR_Integer0x8D9AÉquivalent à GL_BGR_INTEGER
QOpenGLTexture::RGBA_Integer0x8D99Équivalent à GL_RGBA_INTEGER
QOpenGLTexture::BGRA_Integer0x8D9BÉquivalent à GL_BGRA_INTEGER
QOpenGLTexture::Stencil0x1901Équivalent à GL_STENCIL_INDEX. Introduit dans Qt 5.4
QOpenGLTexture::Depth0x1902Équivalent à GL_DEPTH_COMPONENT
QOpenGLTexture::DepthStencil0x84F9Équivalent à GL_DEPTH_STENCIL
QOpenGLTexture::Alpha0x1906Équivalent à GL_ALPHA (OpenGL ES 2 uniquement)
QOpenGLTexture::Luminance0x1909Équivalent à GL_LUMINANCE (OpenGL ES 2 uniquement)
QOpenGLTexture::LuminanceAlpha0x190AÉ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

ConstanteValeurDescription
QOpenGLTexture::NoPixelType0Équivalent à GL_NONE
QOpenGLTexture::Int80x1400Équivalent à GL_BYTE
QOpenGLTexture::UInt80x1401Équivalent à GL_UNSIGNED_BYTE
QOpenGLTexture::Int160x1402Équivalent à GL_SHORT
QOpenGLTexture::UInt160x1403Équivalent à GL_UNSIGNED_SHORT
QOpenGLTexture::Int320x1404Équivalent à GL_INT
QOpenGLTexture::UInt320x1405Équivalent à GL_UNSIGNED_INT
QOpenGLTexture::Float160x140BÉquivalent à GL_HALF_FLOAT
QOpenGLTexture::Float16OES0x8D61Équivalent à GL_HALF_FLOAT_OES
QOpenGLTexture::Float320x1406Équivalent à GL_FLOAT
QOpenGLTexture::UInt32_RGB9_E50x8C3EÉquivalent à GL_UNSIGNED_INT_5_9_9_9_REV
QOpenGLTexture::UInt32_RG11B10F0x8C3BÉquivalent à GL_UNSIGNED_INT_10F_11F_11F_REV
QOpenGLTexture::UInt8_RG3B20x8032Équivalent à GL_UNSIGNED_BYTE_3_3_2
QOpenGLTexture::UInt8_RG3B2_Rev0x8362Équivalent à GL_UNSIGNED_BYTE_2_3_3_REV
QOpenGLTexture::UInt16_RGB5A10x8034Équivalent à GL_UNSIGNED_SHORT_5_5_5_1
QOpenGLTexture::UInt16_RGB5A1_Rev0x8366Équivalent à GL_UNSIGNED_SHORT_1_5_5_5_REV
QOpenGLTexture::UInt16_R5G6B50x8363Équivalent à GL_UNSIGNED_SHORT_5_6_5
QOpenGLTexture::UInt16_R5G6B5_Rev0x8364Équivalent à GL_UNSIGNED_SHORT_5_6_5_REV
QOpenGLTexture::UInt16_RGBA40x8033Équivalent à GL_UNSIGNED_SHORT_4_4_4_4
QOpenGLTexture::UInt16_RGBA4_Rev0x8365Équivalent à GL_UNSIGNED_SHORT_4_4_4_4_REV
QOpenGLTexture::UInt32_RGBA80x8035Équivalent à GL_UNSIGNED_INT_8_8_8_8
QOpenGLTexture::UInt32_RGBA8_Rev0x8367Équivalent à GL_UNSIGNED_INT_8_8_8_8_REV
QOpenGLTexture::UInt32_RGB10A20x8036Équivalent à GL_UNSIGNED_INT_10_10_10_2
QOpenGLTexture::UInt32_RGB10A2_Rev0x8368Équivalent à GL_UNSIGNED_INT_2_10_10_10_REV
QOpenGLTexture::UInt32_D24S80x84FAÉquivalent à GL_UNSIGNED_INT_24_8. Introduit dans Qt 5.4
QOpenGLTexture::Float32_D32_UInt32_S8_X240x8DADÉ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é.

ConstanteValeurDescription
QOpenGLTexture::SwizzleRed0x8E42La composante rouge. Équivaut à GL_TEXTURE_SWIZZLE_R
QOpenGLTexture::SwizzleGreen0x8E43La composante verte. Équivaut à GL_TEXTURE_SWIZZLE_G
QOpenGLTexture::SwizzleBlue0x8E44La composante bleue. Équivalent à GL_TEXTURE_SWIZZLE_B
QOpenGLTexture::SwizzleAlpha0x8E45La composante alpha. Équivalent à GL_TEXTURE_SWIZZLE_A

enum QOpenGLTexture::SwizzleValue

Cette énumération définit les valeurs de masque possibles pour le « texture swizzling ».

ConstanteValeurDescription
QOpenGLTexture::RedValue0x1903Associe la composante au canal rouge. Équivalent à GL_RED
QOpenGLTexture::GreenValue0x1904Associe la composante au canal vert. Équivalent à GL_GREEN
QOpenGLTexture::BlueValue0x1905Associe la composante au canal bleu. Équivalent à GL_BLUE
QOpenGLTexture::AlphaValue0x1906Associe la composante au canal alpha. Équivalent à GL_ALPHA
QOpenGLTexture::ZeroValue0Associe la composante à une valeur fixe de 0. Équivalent à GL_ZERO
QOpenGLTexture::OneValue1Associe 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 ».

ConstanteValeurDescription
QOpenGLTexture::Target1D0x0DE0Une texture unidimensionnelle. Équivalent à GL_TEXTURE_1D.
QOpenGLTexture::Target1DArray0x8C18Un tableau de textures unidimensionnelles. Équivalent à GL_TEXTURE_1D_ARRAY
QOpenGLTexture::Target2D0x0DE1Une texture bidimensionnelle. Équivalent à GL_TEXTURE_2D
QOpenGLTexture::Target2DArray0x8C1AUn tableau de textures bidimensionnelles. Équivalent à GL_TEXTURE_2D_ARRAY
QOpenGLTexture::Target3D0x806FUne texture tridimensionnelle. Équivalent à GL_TEXTURE_3D
QOpenGLTexture::TargetCubeMap0x8513Une texture de type « cubemap ». Équivalent à GL_TEXTURE_CUBE_MAP
QOpenGLTexture::TargetCubeMapArray0x9009Un tableau de textures de type « cubemap ». Équivalent à GL_TEXTURE_CUBE_MAP_ARRAY
QOpenGLTexture::Target2DMultisample0x9100Une texture bidimensionnelle prenant en charge le multisample. Équivalent à GL_TEXTURE_2D_MULTISAMPLE
QOpenGLTexture::Target2DMultisampleArray0x9102Un tableau de textures bidimensionnelles prenant en charge le multisampling. Équivalent à GL_TEXTURE_2D_MULTISAMPLE_ARRAY
QOpenGLTexture::TargetRectangle0x84F5Une texture rectangulaire bidimensionnelle. Équivalent à GL_TEXTURE_RECTANGLE
QOpenGLTexture::TargetBuffer0x8C2AUne 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.

ConstanteValeurDescription
QOpenGLTexture::NoFormat0Équivalent à GL_NONE
QOpenGLTexture::R8_UNorm0x8229Équivalent à GL_R8
QOpenGLTexture::RG8_UNorm0x822BÉquivalent à GL_RG8
QOpenGLTexture::RGB8_UNorm0x8051Équivalent à GL_RGB8
QOpenGLTexture::RGBA8_UNorm0x8058Équivalent à GL_RGBA8
QOpenGLTexture::R16_UNorm0x822AÉquivalent à GL_R16
QOpenGLTexture::RG16_UNorm0x822CÉquivalent à GL_RG16
QOpenGLTexture::RGB16_UNorm0x8054Équivalent à GL_RGB16
QOpenGLTexture::RGBA16_UNorm0x805BÉquivalent à GL_RGBA16
QOpenGLTexture::R8_SNorm0x8F94Équivalent à GL_R8_SNORM
QOpenGLTexture::RG8_SNorm0x8F95Équivalent à GL_RG8_SNORM
QOpenGLTexture::RGB8_SNorm0x8F96Équivalent à GL_RGB8_SNORM
QOpenGLTexture::RGBA8_SNorm0x8F97Équivalent à GL_RGBA8_SNORM
QOpenGLTexture::R16_SNorm0x8F98Équivalent à GL_R16_SNORM
QOpenGLTexture::RG16_SNorm0x8F99Équivalent à GL_RG16_SNORM
QOpenGLTexture::RGB16_SNorm0x8F9AÉquivalent à GL_RGB16_SNORM
QOpenGLTexture::RGBA16_SNorm0x8F9BÉquivalent à GL_RGBA16_SNORM
QOpenGLTexture::R8U0x8232Équivalent à GL_R8UI
QOpenGLTexture::RG8U0x8238Équivalent à GL_RG8UI
QOpenGLTexture::RGB8U0x8D7DÉquivalent à GL_RGB8UI
QOpenGLTexture::RGBA8U0x8D7CÉquivalent à GL_RGBA8UI
QOpenGLTexture::R16U0x8234Équivalent à GL_R16UI
QOpenGLTexture::RG16U0x823AÉquivalent à GL_RG16UI
QOpenGLTexture::RGB16U0x8D77Équivalent à GL_RGB16UI
QOpenGLTexture::RGBA16U0x8D76Équivalent à GL_RGBA16UI
QOpenGLTexture::R32U0x8236Équivalent à GL_R32UI
QOpenGLTexture::RG32U0x823CÉquivalent à GL_RG32UI
QOpenGLTexture::RGB32U0x8D71Équivalent à GL_RGB32UI
QOpenGLTexture::RGBA32U0x8D70Équivalent à GL_RGBA32UI
QOpenGLTexture::R8I0x8231Équivalent à GL_R8I
QOpenGLTexture::RG8I0x8237Équivalent à GL_RG8I
QOpenGLTexture::RGB8I0x8D8FÉquivalent à GL_RGB8I
QOpenGLTexture::RGBA8I0x8D8EÉquivalent à GL_RGBA8I
QOpenGLTexture::R16I0x8233Équivalent à GL_R16I
QOpenGLTexture::RG16I0x8239Équivalent à GL_RG16I
QOpenGLTexture::RGB16I0x8D89Équivalent à GL_RGB16I
QOpenGLTexture::RGBA16I0x8D88Équivalent à GL_RGBA16I
QOpenGLTexture::R32I0x8235Équivalent à GL_R32I
QOpenGLTexture::RG32I0x823BÉquivalent à GL_RG32I
QOpenGLTexture::RGB32I0x8D83Équivalent à GL_RGB32I
QOpenGLTexture::RGBA32I0x8D82Équivalent à GL_RGBA32I
QOpenGLTexture::R16F0x822DÉquivalent à GL_R16F
QOpenGLTexture::RG16F0x822FÉquivalent à GL_RG16F
QOpenGLTexture::RGB16F0x881BÉquivalent à GL_RGB16F
QOpenGLTexture::RGBA16F0x881AÉquivalent à GL_RGBA16F
QOpenGLTexture::R32F0x822EÉquivalent à GL_R32F
QOpenGLTexture::RG32F0x8230Équivalent à GL_RG32F
QOpenGLTexture::RGB32F0x8815Équivalent à GL_RGB32F
QOpenGLTexture::RGBA32F0x8814Équivalent à GL_RGBA32F
QOpenGLTexture::RGB9E50x8C3DÉquivalent à GL_RGB9_E5
QOpenGLTexture::RG11B10F0x8C3AÉquivalent à GL_R11F_G11F_B10F
QOpenGLTexture::RG3B20x2A10Équivalent à GL_R3_G3_B2
QOpenGLTexture::R5G6B50x8D62Équivalent à GL_RGB565
QOpenGLTexture::RGB5A10x8057Équivalent à GL_RGB5_A1
QOpenGLTexture::RGBA40x8056Équivalent à GL_RGBA4
QOpenGLTexture::RGB10A20x906FÉquivalent à GL_RGB10_A2UI
QOpenGLTexture::D160x81A5Équivalent à GL_DEPTH_COMPONENT16
QOpenGLTexture::D240x81A6Équivalent à GL_DEPTH_COMPONENT24
QOpenGLTexture::D24S80x88F0Équivalent à GL_DEPTH24_STENCIL8
QOpenGLTexture::D320x81A7Équivalent à GL_DEPTH_COMPONENT32
QOpenGLTexture::D32F0x8CACÉquivalent à GL_DEPTH_COMPONENT32F
QOpenGLTexture::D32FS8X240x8CADÉquivalent à GL_DEPTH32F_STENCIL8
QOpenGLTexture::S80x8D48Équivalent à GL_STENCIL_INDEX8. Introduit dans Qt 5.4
QOpenGLTexture::RGB_DXT10x83F0Équivalent à GL_COMPRESSED_RGB_S3TC_DXT1_EXT
QOpenGLTexture::RGBA_DXT10x83F1Équivalent à GL_COMPRESSED_RGBA_S3TC_DXT1_EXT
QOpenGLTexture::RGBA_DXT30x83F2Équivalent à GL_COMPRESSED_RGBA_S3TC_DXT3_EXT
QOpenGLTexture::RGBA_DXT50x83F3Équivalent à GL_COMPRESSED_RGBA_S3TC_DXT5_EXT
QOpenGLTexture::R_ATI1N_UNorm0x8DBBÉquivalent à GL_COMPRESSED_RED_RGTC1
QOpenGLTexture::R_ATI1N_SNorm0x8DBCÉquivalent à GL_COMPRESSED_SIGNED_RED_RGTC1
QOpenGLTexture::RG_ATI2N_UNorm0x8DBDÉquivalent à GL_COMPRESSED_RG_RGTC2
QOpenGLTexture::RG_ATI2N_SNorm0x8DBEÉquivalent à GL_COMPRESSED_SIGNED_RG_RGTC2
QOpenGLTexture::RGB_BP_UNSIGNED_FLOAT0x8E8FÉquivalent à GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB
QOpenGLTexture::RGB_BP_SIGNED_FLOAT0x8E8EÉquivalent à GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB
QOpenGLTexture::RGB_BP_UNorm0x8E8CÉquivalent à GL_COMPRESSED_RGBA_BPTC_UNORM_ARB
QOpenGLTexture::R11_EAC_UNorm0x9270Équivalent à GL_COMPRESSED_R11_EAC
QOpenGLTexture::R11_EAC_SNorm0x9271Équivalent à GL_COMPRESSED_SIGNED_R11_EAC
QOpenGLTexture::RG11_EAC_UNorm0x9272Équivalent à GL_COMPRESSED_RG11_EAC
QOpenGLTexture::RG11_EAC_SNorm0x9273Équivalent à GL_COMPRESSED_SIGNED_RG11_EAC
QOpenGLTexture::RGB8_ETC20x9274Équivalent à GL_COMPRESSED_RGB8_ETC2
QOpenGLTexture::SRGB8_ETC20x9275Équivalent à GL_COMPRESSED_SRGB8_ETC2
QOpenGLTexture::RGB8_PunchThrough_Alpha1_ETC20x9276Équivalent à GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2
QOpenGLTexture::SRGB8_PunchThrough_Alpha1_ETC20x9277Équivalent à GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2
QOpenGLTexture::RGBA8_ETC2_EAC0x9278Équivalent à GL_COMPRESSED_RGBA8_ETC2_EAC
QOpenGLTexture::SRGB8_Alpha8_ETC2_EAC0x9279Équivalent à GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC
QOpenGLTexture::RGB8_ETC10x8D64Équivalent à GL_ETC1_RGB8_OES
QOpenGLTexture::RGBA_ASTC_4x40x93B0Équivalent à GL_COMPRESSED_RGBA_ASTC_4x4_KHR
QOpenGLTexture::RGBA_ASTC_5x40x93B1Équivalent à GL_COMPRESSED_RGBA_ASTC_5x4_KHR
QOpenGLTexture::RGBA_ASTC_5x50x93B2Équivalent à GL_COMPRESSED_RGBA_ASTC_5x5_KHR
QOpenGLTexture::RGBA_ASTC_6x50x93B3Équivalent à GL_COMPRESSED_RGBA_ASTC_6x5_KHR
QOpenGLTexture::RGBA_ASTC_6x60x93B4Équivalent à GL_COMPRESSED_RGBA_ASTC_6x6_KHR
QOpenGLTexture::RGBA_ASTC_8x50x93B5Équivalent à GL_COMPRESSED_RGBA_ASTC_8x5_KHR
QOpenGLTexture::RGBA_ASTC_8x60x93B6Équivalent à GL_COMPRESSED_RGBA_ASTC_8x6_KHR
QOpenGLTexture::RGBA_ASTC_8x80x93B7Équivalent à GL_COMPRESSED_RGBA_ASTC_8x8_KHR
QOpenGLTexture::RGBA_ASTC_10x50x93B8Équivalent à GL_COMPRESSED_RGBA_ASTC_10x5_KHR
QOpenGLTexture::RGBA_ASTC_10x60x93B9Équivalent à GL_COMPRESSED_RGBA_ASTC_10x6_KHR
QOpenGLTexture::RGBA_ASTC_10x80x93BAÉquivalent à GL_COMPRESSED_RGBA_ASTC_10x8_KHR
QOpenGLTexture::RGBA_ASTC_10x100x93BBÉquivalent à GL_COMPRESSED_RGBA_ASTC_10x10_KHR
QOpenGLTexture::RGBA_ASTC_12x100x93BCÉquivalent à GL_COMPRESSED_RGBA_ASTC_12x10_KHR
QOpenGLTexture::RGBA_ASTC_12x120x93BDÉquivalent à GL_COMPRESSED_RGBA_ASTC_12x12_KHR
QOpenGLTexture::SRGB8_Alpha8_ASTC_4x40x93D0Équivalent à GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR
QOpenGLTexture::SRGB8_Alpha8_ASTC_5x40x93D1Équivalent à GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR
QOpenGLTexture::SRGB8_Alpha8_ASTC_5x50x93D2Équivalent à GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR
QOpenGLTexture::SRGB8_Alpha8_ASTC_6x50x93D3Équivalent à GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR
QOpenGLTexture::SRGB8_Alpha8_ASTC_6x60x93D4Équivalent à GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR
QOpenGLTexture::SRGB8_Alpha8_ASTC_8x50x93D5Équivalent à GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR
QOpenGLTexture::SRGB8_Alpha8_ASTC_8x60x93D6Équivalent à GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR
QOpenGLTexture::SRGB8_Alpha8_ASTC_8x80x93D7Équivalent à GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x50x93D8Équivalent à GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x60x93D9Équivalent à GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x80x93DAÉquivalent à GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x100x93DBÉquivalent à GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR
QOpenGLTexture::SRGB8_Alpha8_ASTC_12x100x93DCÉquivalent à GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR
QOpenGLTexture::SRGB8_Alpha8_ASTC_12x120x93DDÉquivalent à GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR
QOpenGLTexture::SRGB80x8C41Équivalent à GL_SRGB8
QOpenGLTexture::SRGB8_Alpha80x8C43Équivalent à GL_SRGB8_ALPHA8
QOpenGLTexture::SRGB_DXT10x8C4CÉquivalent à GL_COMPRESSED_SRGB_S3TC_DXT1_EXT
QOpenGLTexture::SRGB_Alpha_DXT10x8C4DÉquivalent à GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT
QOpenGLTexture::SRGB_Alpha_DXT30x8C4EÉquivalent à GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT
QOpenGLTexture::SRGB_Alpha_DXT50x8C4FÉquivalent à GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT
QOpenGLTexture::SRGB_BP_UNorm0x8E8DÉquivalent à GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB
QOpenGLTexture::DepthFormat0x1902Équivalent à GL_DEPTH_COMPONENT (uniquement OpenGL ES 3 ou ES 2 avec OES_depth_texture)
QOpenGLTexture::AlphaFormat0x1906Équivalent à GL_ALPHA (OpenGL ES 2 uniquement)
QOpenGLTexture::RGBFormat0x1907Équivalent à GL_RGB (OpenGL ES 2 uniquement)
QOpenGLTexture::RGBAFormat0x1908Équivalent à GL_RGBA (OpenGL ES 2 uniquement)
QOpenGLTexture::LuminanceFormat0x1909Équivalent à GL_LUMINANCE (OpenGL ES 2 uniquement)
QOpenGLTexture::LuminanceAlphaFormat0x190AÉ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.

ConstanteValeurDescription
QOpenGLTexture::ResetTextureUnit0L’unité de texture précédemment active sera réinitialisée
QOpenGLTexture::DontResetTextureUnit1L'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.

ConstanteValeurDescription
QOpenGLTexture::Repeat0x2901La coordonnée de texture est répétée. Équivalent à GL_REPEAT
QOpenGLTexture::MirroredRepeat0x8370Les coordonnées de texture sont reflétées par rapport à 0 et 1. Équivalent à GL_MIRRORED_REPEAT
QOpenGLTexture::ClampToEdge0x812FLimite les coordonnées de texture à [0, 1]. Équivalent à GL_CLAMP_TO_EDGE
QOpenGLTexture::ClampToBorder0x812DComme 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.