Sur cette page

QOpenGLTexture Class

La classe QOpenGLTexture encapsule un objet de texture OpenGL. Plus d'informations...

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 le travail avec les textures OpenGL et la myriade de fonctionnalités et de cibles qu'elles offrent en fonction des capacités de votre implémentation OpenGL.

Le schéma 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 affectent les besoins de stockage (format de stockage, dimensions, etc.)
  • Allouer le stockage côté serveur
  • Charger éventuellement les données de pixels
  • Définir éventuellement des propriétés supplémentaires, par exemple des options de filtrage et de bordure.
  • Rendu avec texture ou rendu vers une texture

Dans le cas courant de l'utilisation d'un site QImage comme source de données de pixels de texture, la plupart des étapes ci-dessus sont exécuté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 le site QImage est inversé verticalement pour tenir compte du fait qu'OpenGL et QImage utilisent des directions opposées pour l'axe y. Une autre option serait de transformer les coordonnées de votre texture.

Documentation des types de membres

enum QOpenGLTexture::BindingTarget

Cette énumération définit les cibles de liaison possibles pour les unités de texture.

ConstanteValeurDescription de la constante
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 l'opérateur de comparaison 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 spécifie le mode de comparaison utilisé lors de l'échantillonnage de cette texture.

ConstanteValeurDescription de l'enum
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::DirectionT0x2803Direction 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 de CubeMap.

ConstanteValeurDescription de la constante
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 la composante d'une texture de profondeur/stencil à laquelle on accède lorsque la texture est échantillonnée.

ConstanteValeurDescription de l'enum
QOpenGLTexture::DepthMode0x1902Équivalent à GL_DEPTH_COMPONENT.
QOpenGLTexture::StencilMode0x1901Équivalent à GL_STENCIL_INDEX.

enum QOpenGLTexture::Feature
flags QOpenGLTexture::Features

Cette enum définit les caractéristiques liées aux textures OpenGL qui peuvent être testées.

ConstanteValeurDescription
QOpenGLTexture::ImmutableStorage0x00000001Prise en charge du stockage des textures immuables
QOpenGLTexture::ImmutableMultisampleStorage0x00000002Prise en charge du stockage immuable des textures avec des cibles multi-échantillons
QOpenGLTexture::TextureRectangle0x00000004Prise en charge de la cible GL_TEXTURE_RECTANGLE
QOpenGLTexture::TextureArrays0x00000008Prise en charge des cibles de texture avec des couches de tableau
QOpenGLTexture::Texture3D0x00000010Prise en charge de la cible de texture tridimensionnelle
QOpenGLTexture::TextureMultisample0x00000020Support pour les cibles de texture qui ont des capacités multi-échantillons
QOpenGLTexture::TextureBuffer0x00000040Support des textures qui utilisent des objets tampons OpenGL comme source de données
QOpenGLTexture::TextureCubeMapArrays0x00000080Prise en charge de la cible de texture cubemap array
QOpenGLTexture::Swizzle0x00000100Prise en charge des masques d'oscillation des composants de texture
QOpenGLTexture::StencilTexturing0x00000200Prise en charge de la texturation par stencil (c'est-à-dire la recherche des composantes de profondeur ou de stencil d'une texture combinée au format profondeur/stencil dans les shaders GLSL).
QOpenGLTexture::AnisotropicFiltering0x00000400Prise en charge du filtrage anisotropique des textures
QOpenGLTexture::NPOTTextures0x00000800Prise en charge de base des textures non puissantes de deux
QOpenGLTexture::NPOTTextureRepeat0x00001000Prise en charge complète des textures non puissantes de deux, y compris les modes de répétition des textures
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 définition des niveaux de base et maximum de la mipmap

Le type Features est un typedef pour QFlags<Feature>. Il stocke une combinaison OU de valeurs de caractéristiques.

enum QOpenGLTexture::Filter

Cette énumération définit les paramètres de filtrage pour un objet QOpenGLTexture.

ConstanteValeurDescription de la constante
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 de la mipmap.

ConstanteValeurDescription
QOpenGLTexture::GenerateMipMaps0Les cartes d'identité doivent être générées
QOpenGLTexture::DontGenerateMipMaps1Les cartes muettes 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 de la constante
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 de la constante
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_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_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 la couleur de la texture qui peuvent être affectées à un masque d'épée.

ConstanteValeurDescription
QOpenGLTexture::SwizzleRed0x8E42Composante rouge. Équivalent à GL_TEXTURE_SWIZZLE_R.
QOpenGLTexture::SwizzleGreen0x8E43Composante verte. Équivalent à 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 l'effet d'oscillation de la texture.

ConstanteValeurDescription
QOpenGLTexture::RedValue0x1903Mappage de la composante sur le canal rouge. Équivalent à GL_RED
QOpenGLTexture::GreenValue0x1904Affecte le composant au canal vert. Équivalent à GL_GREEN
QOpenGLTexture::BlueValue0x1905Affecte le composant au canal bleu. Équivalent à GL_BLUE
QOpenGLTexture::AlphaValue0x1906Affecte le composant au canal alpha. Équivalent à GL_ALPHA
QOpenGLTexture::ZeroValue0Affecte à la composante une valeur fixe de 0. Équivalent à GL_ZERO
QOpenGLTexture::OneValue1Affecte à 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 en tableau, voir Texture en tableau.

ConstanteValeurDescription de la texture
QOpenGLTexture::Target1D0x0DE0Texture à une dimension. Équivalent à GL_TEXTURE_1D.
QOpenGLTexture::Target1DArray0x8C18Tableau de textures unidimensionnelles. Équivalent à GL_TEXTURE_1D_ARRAY.
QOpenGLTexture::Target2D0x0DE1Texture bidimensionnelle. Équivalent à GL_TEXTURE_2D
QOpenGLTexture::Target2DArray0x8C1ATableau de textures bidimensionnelles. Équivalent à GL_TEXTURE_2D_ARRAY
QOpenGLTexture::Target3D0x806FTexture tridimensionnelle. Équivalent à GL_TEXTURE_3D
QOpenGLTexture::TargetCubeMap0x8513Une texture cubemap. Équivalent à GL_TEXTURE_CUBE_MAP
QOpenGLTexture::TargetCubeMapArray0x9009Tableau de textures cubemap. Équivalent à GL_TEXTURE_CUBE_MAP_ARRAY
QOpenGLTexture::Target2DMultisample0x9100Texture bidimensionnelle avec prise en charge de plusieurs échantillons. Équivalent à GL_TEXTURE_2D_MULTISAMPLE
QOpenGLTexture::Target2DMultisampleArray0x9102Tableau de textures bidimensionnelles avec prise en charge du multi-échantillon. Équivalent à GL_TEXTURE_2D_MULTISAMPLE_ARRAY
QOpenGLTexture::TargetRectangle0x84F5Texture rectangulaire à deux dimensions. Équivalent à GL_TEXTURE_RECTANGLE
QOpenGLTexture::TargetBuffer0x8C2ATexture contenant des données provenant d'un objet tampon OpenGL. Équivalent à GL_TEXTURE_BUFFER

enum QOpenGLTexture::TextureFormat

Cette énumération définit les formats de texture possibles. Selon l'implémentation d'OpenGL, seul un sous-ensemble de ces formats peut être supporté.

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::AlphaFormat0x1906Equivalent à GL_ALPHA (OpenGL ES 2 uniquement)
QOpenGLTexture::RGBFormat0x1907Equivalent à GL_RGB (OpenGL ES 2 uniquement)
QOpenGLTexture::RGBAFormat0x1908Équivalent à GL_RGBA (OpenGL ES 2 uniquement)
QOpenGLTexture::LuminanceFormat0x1909Equivalent à 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 de l'unité de texture
QOpenGLTexture::ResetTextureUnit0L'unité de texture active précédente sera réinitialisée
QOpenGLTexture::DontResetTextureUnit1L'unité de texture active précédente ne sera pas réinitialisée

enum QOpenGLTexture::WrapMode

Cette énumération définit les modes possibles d'enveloppement des coordonnées de texture.

ConstanteValeurDescription
QOpenGLTexture::Repeat0x2901La coordonnée de texture est répétée. Équivalent à GL_REPEAT
QOpenGLTexture::MirroredRepeat0x8370Les coordonnées de la texture sont réfléchies autour de 0 et 1. Équivalent à GL_MIRRORED_REPEAT
QOpenGLTexture::ClampToEdge0x812FFixe les coordonnées de la texture à [0,1]. Équivalent à GL_CLAMP_TO_EDGE
QOpenGLTexture::ClampToBorder0x812DComme pour ClampToEdge, mais mélange également les é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 peut 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 un contexte OpenGL valide.

[explicit] QOpenGLTexture::QOpenGLTexture(const QImage &image, QOpenGLTexture::MipMapGeneration genMipMaps = GenerateMipMaps)

Crée un objet QOpenGLTexture qui peut ensuite être lié à la cible de texture 2D et contient les données de pixels contenues dans image. Si vous souhaitez qu'une chaîne de mipmaps soit générée, définissez genMipMaps à true (c'est la valeur par défaut).

Ce constructeur crée l'objet texture OpenGL sous-jacent. Par conséquent, la construction à l'aide de ce constructeur nécessite un contexte OpenGL valide.

Remarque : image est automatiquement converti en QImage::Format_RGBA8888, ce qui peut avoir des conséquences en termes de performances pour les images de grande taille ayant un format différent.

void QOpenGLTexture::allocateStorage()

Alloue un 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 cubemap.

Une fois le stockage alloué, il n'est plus possible de modifier ces propriétés.

Si elle est prise en charge, QOpenGLTexture utilise un stockage de texture immuable.

Une fois que le stockage a été alloué à la texture, les données des pixels peuvent être téléchargées via l'une des surcharges setData().

Remarque : si le stockage de texture immuable n'est pas disponible, un format et un type de pixel par défaut seront utilisés pour créer le stockage mutable. Vous pouvez utiliser l'autre surcharge allocateStorage() pour spécifier exactement le format et le type de pixel à utiliser lors de l'allocation du 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 parfaitement correspondre au format et au type passés à tout appel ultérieur de setData().

Voir aussi isStorageAllocated() et setData().

void QOpenGLTexture::allocateStorage(QOpenGLTexture::PixelFormat pixelFormat, QOpenGLTexture::PixelType pixelType)

Alloue un 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 cubemap.

Une fois le stockage alloué, il n'est plus possible de modifier ces propriétés.

Si elle est prise en charge, QOpenGLTexture utilise un stockage de texture immuable. Cependant, si le stockage de texture immuable n'est pas disponible, alors les valeurs spécifiées pixelFormat et pixelType seront utilisées pour allouer le stockage mutable ; notez que dans certaines implémentations d'OpenGL (notamment OpenGL ES 2), elles doivent correspondre parfaitement au format et au type transmis à tout appel ultérieur à setData().

Une fois que le stockage a été alloué à la texture, les données des pixels peuvent être téléchargées via l'une des surcharges setData().

Voir aussi 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 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 aussi release().

void QOpenGLTexture::bind(uint unit, QOpenGLTexture::TextureUnitReset reset = DontResetTextureUnit)

Lie cette texture à l'unité de texture unit, 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 à l'entrée.

Voir aussi release().

QColor QOpenGLTexture::borderColor() const

Renvoie la couleur de la bordure de cette texture.

Voir également 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 aussi 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'adresse textureId de la texture liée à l'adresse target de l'unité de texture actuellement active.

[static] GLuint QOpenGLTexture::boundTextureId(uint unit, QOpenGLTexture::BindingTarget target)

Renvoie l'adresse textureId de la texture liée à l'adresse target de l'unité de texture unit.

QOpenGLTexture::ComparisonFunction QOpenGLTexture::comparisonFunction() const

Renvoie l'opérateur de comparaison de texture défini pour cette texture. Par défaut, une texture possède une fonction de comparaison CompareLessEqual.

Voir également setComparisonFunction().

QOpenGLTexture::ComparisonMode QOpenGLTexture::comparisonMode() const

Renvoie le mode de comparaison de texture défini pour cette texture. Par défaut, une texture a un mode de comparaison CompareNone (c'est-à-dire que les comparaisons sont désactivées).

Voir également setComparisonMode().

bool QOpenGLTexture::create()

Crée l'objet texture OpenGL sous-jacent. Cela nécessite un contexte OpenGL valide. Si l'objet texture existe déjà, cette fonction ne fait rien.

Une fois l'objet texture créé, vous pouvez obtenir le nom de l'objet à partir de la fonction textureId(). Cela peut être 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() en votre nom.

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 est quelque peu analogue à une vue en SQL en ce sens qu'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 qu'en cas d'utilisation d'un stockage immuable. Pour plus d'informations sur les vues de texture, voir 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 Target1DArray peut spécifier Target1DArray ou Target1D, mais pour cette dernière, le nombre de couches du tableau spécifié avec minimumLayer et maximumLayer doit être exactement égal à 1.

Des contraintes similaires s'appliquent à viewFormat. Voir 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 la texture échoue, cette fonction renvoie 0. Si la fonction réussit, elle renvoie un pointeur vers un nouvel objet QOpenGLTexture qui renvoie true à partir de sa fonction isTextureView().

Voir également isTextureView().

int QOpenGLTexture::depth() const

Renvoie la profondeur d'une texture 3D.

Voir aussi width(), height() et setSize().

QOpenGLTexture::DepthStencilMode QOpenGLTexture::depthStencilMode() const

Renvoie le mode de pochoir de profondeur pour les textures utilisant un format combiné profondeur/pochoir.

Voir aussi setDepthStencilMode().

void QOpenGLTexture::destroy()

Détruit l'objet texture OpenGL sous-jacent. Cela nécessite un contexte OpenGL valide.

Voir aussi create(), isCreated(), et textureId().

int QOpenGLTexture::faces() const

Renvoie le nombre de faces pour cette texture. Pour les cibles de type cubemap et cubemap array, cette valeur sera de 6.

Pour les cibles qui ne sont pas de type cubemap, la valeur retournée est 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 qui nécessite des mipmaps et que vous avez désactivé la génération automatique de mipmaps, vous devez appeler cette fonction ou la surcharge pour créer la chaîne de mipmaps.

Note : La génération de mipmap n'est pas supportée pour les textures compressées avec OpenGL ES.

Voir aussi 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 qui nécessitent des mipmaps et que vous avez désactivé la génération automatique de mipmaps, vous devez appeler cette fonction ou la surcharge pour créer la chaîne de mipmaps.

La génération de mipmaps au-dessus de baseLevel s'effectue en réglant le niveau de base de la mipmap sur baseLevel, puis en générant la chaîne de mipmaps. Si resetBaseLevel est true, le niveau de base 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 version et votre implémentation OpenGL supportent la fonctionnalité de texture feature.

int QOpenGLTexture::height() const

Renvoie la hauteur d'une texture 2D ou 3D.

Voir aussi width(), depth() et setSize().

bool QOpenGLTexture::isAutoMipMapGenerationEnabled() const

Retourne si la génération automatique de mipmap est activée pour cet objet de texture.

Voir aussi setAutoMipMapGenerationEnabled() et generateMipMaps().

bool QOpenGLTexture::isBound() const

Renvoie true si cette texture est liée à la cible correspondante de l'unité de texture actuellement active.

Voir aussi bind() et release().

bool QOpenGLTexture::isBound(uint unit)

Renvoie true si cette texture est liée à la cible correspondante de l'unité de texture unit.

Voir aussi bind() et release().

bool QOpenGLTexture::isCreated() const

Retourne true si l'objet texture OpenGL sous-jacent a été créé.

Voir aussi create(), destroy(), et textureId().

bool QOpenGLTexture::isFixedSamplePositions() const

Indique si cette texture utilise un modèle fixe d'échantillons multiples. Si le stockage n'a pas encore été alloué pour 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 multi-échantillonnage, cette fonction renvoie true.

Voir également setFixedSamplePositions() et isStorageAllocated().

bool QOpenGLTexture::isStorageAllocated() const

Renvoie true si un espace de stockage côté serveur a été alloué pour cette texture.

Le format de la texture, les dimensions, les niveaux de mipmap et les couches de tableau ne peuvent pas être modifiés une fois que l'espace de stockage a été alloué.

Voir aussi allocateStorage(), setSize(), setMipLevels(), setLayers() et setFormat().

bool QOpenGLTexture::isTextureView() const

Renvoie true si cet objet de texture est en fait 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 le stockage n'a pas encore été alloué pour cette texture, cette fonction renvoie le nombre de couches de tableau demandé.

Pour les cibles de texture qui ne supportent pas les couches de tableau, cette fonction renverra 1.

Voir aussi setLayers() et isStorageAllocated().

std::pair<float, float> QOpenGLTexture::levelOfDetailRange() const

Renvoie les paramètres de niveau de détail minimum et maximum.

Voir aussi setLevelOfDetailRange(), minimumLevelOfDetail() et maximumLevelOfDetail().

float QOpenGLTexture::levelofDetailBias() const

Renvoie le paramètre de biais de niveau de détail.

Voir également setLevelofDetailBias().

QOpenGLTexture::Filter QOpenGLTexture::magnificationFilter() const

Renvoie le filtre d'agrandissement.

Voir aussi setMagnificationFilter().

float QOpenGLTexture::maximumAnisotropy() const

Renvoie le niveau maximal d'anisotropie à prendre en compte lors de la recherche de textures. Cela nécessite l'extension GL_EXT_texture_filter_anisotropic.

Voir aussi setMaximumAnisotropy().

float QOpenGLTexture::maximumLevelOfDetail() const

Renvoie le paramètre de niveau de détail maximal.

Voir aussi setMaximumLevelOfDetail(), minimumLevelOfDetail() et levelOfDetailRange().

int QOpenGLTexture::maximumMipLevels() const

Renvoie le nombre maximal de niveaux de mipmap que cette texture peut avoir compte tenu des dimensions actuelles.

Voir aussi setMipLevels(), mipLevels(), et setSize().

std::pair<QOpenGLTexture::Filter, QOpenGLTexture::Filter> QOpenGLTexture::minMagFilters() const

Renvoie les filtres de minification 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 minimum.

Voir aussi setMinimumLevelOfDetail(), maximumLevelOfDetail() et levelOfDetailRange().

int QOpenGLTexture::mipBaseLevel() const

Renvoie le niveau de base de la mipmap utilisé pour toutes les recherches de texture avec cette texture. La valeur par défaut est 0.

Voir aussi setMipBaseLevel(), mipMaxLevel() et mipLevelRange().

std::pair<int, int> QOpenGLTexture::mipLevelRange() const

Renvoie la plage de niveaux de mipmap qui peut être utilisée pour les recherches de texture avec cette texture.

Voir aussi setMipLevelRange(), mipBaseLevel() et mipMaxLevel().

int QOpenGLTexture::mipLevels() const

Renvoie le nombre de niveaux mipmap pour cette texture. Si le stockage n'a pas encore été alloué pour cette texture, elle renvoie le nombre de niveaux mipmap demandé.

Voir aussi setMipLevels(), maximumMipLevels() et isStorageAllocated().

int QOpenGLTexture::mipMaxLevel() const

Renvoie le niveau maximum de la mipmap utilisé pour toutes les recherches de texture avec cette texture.

Voir aussi setMipMaxLevel(), mipBaseLevel(), et mipLevelRange().

void QOpenGLTexture::release()

Détache cette texture de l'unité de texture active.

Voir aussi bind().

void QOpenGLTexture::release(uint unit, QOpenGLTexture::TextureUnitReset reset = DontResetTextureUnit)

Détache cette texture de l'unité de texture unit.

Si le paramètre reset est true, cette fonction ramène l'unité active à l'unité de texture qui était active à l'entrée.

int QOpenGLTexture::samples() const

Renvoie le nombre de points d'échantillonnage multi-échantillons pour cette texture. Si le stockage n'a pas encore été alloué pour cette texture, cette fonction renvoie le nombre d'échantillons demandé.

Pour les cibles de texture qui ne supportent pas le multi-échantillonnage, cette fonction renverra 0.

Voir aussi setSamples() et isStorageAllocated().

void QOpenGLTexture::setAutoMipMapGenerationEnabled(bool enabled)

Si enabled est true, la génération automatique de la mipap pour cet objet de texture est activée chaque fois que les données de la mipap de niveau 0 sont définies à l'aide de setData().

La génération automatique de mipmap est activée par défaut.

Remarque : la génération de mipmap 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 à color.

Note : Cette fonction n'a pas d'effet sur Mac et Qt construit pour OpenGL ES 2.

Voir aussi borderColor().

void QOpenGLTexture::setBorderColor(float r, float g, float b, float a)

Définit la couleur rouge à r, la couleur verte à g, la couleur bleue à b, et la couleur a à la valeur alpha.

Il s'agit d'une fonction surchargée.

void QOpenGLTexture::setBorderColor(int r, int g, int b, int a)

Fixe la couleur rouge à r, la couleur verte à g, la couleur bleue à b, et la valeur alpha à a.

Il s'agit d'une fonction surchargée.

void QOpenGLTexture::setBorderColor(uint r, uint g, uint b, uint a)

Fixe la couleur rouge à r, la couleur verte à g, la couleur bleue à b, et la valeur alpha à a.

Il s'agit d'une fonction surchargée.

void QOpenGLTexture::setComparisonFunction(QOpenGLTexture::ComparisonFunction function)

Définit la fonction de comparaison de texture sur cette texture à 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 texture sur cette texture à 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)

Transfère le pixel compressé data vers mipLevel, le tableau layer, et cubeFace. Le transfert du pixel 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 un fichier compressé format(), vous devez utiliser setData() au lieu 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 est le nombre de couches d'un tableau de textures qui sont téléchargées/peuplées 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)

Charge le pixel data pour cet objet de texture mipLevel, le tableau layer, et cubeFace. L'espace de stockage doit avoir été alloué avant de télécharger les données des pixels. Certaines surcharges de setData() définissent les dimensions, les niveaux de mipmap et les couches de tableau appropriés, puis allouent l'espace de stockage pour vous 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 indiquées par data est spécifiée par sourceFormat et sourceType. Le téléchargement des données de pixels peut éventuellement être contrôlé par options.

Si vous utilisez une version compressée de format(), vous devez utiliser setCompressedData() au lieu de cette fonction.

Voir aussi setCompressedData().

void QOpenGLTexture::setData(const QImage &image, QOpenGLTexture::MipMapGeneration genMipMaps = GenerateMipMaps)

Cette surcharge de setData() allouera de l'espace de stockage pour vous. Les données relatives aux pixels sont contenues dans image. Les cartes sont générées par défaut. Définissez genMipMaps à DontGenerateMipMaps pour désactiver la génération de mipmaps.

Remarque : image est automatiquement converti en QImage::Format_RGBA8888, ce qui peut avoir des conséquences en termes de performances pour les grandes images ayant 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 est le nombre de couches d'un tableau de textures qui sont téléchargées/peuplées 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 est utilisée pour mettre à jour une partie de la texture. Les paramètres xOffset, yOffset, zOffset spécifient les décalages de texel dans la texture. Les paramètres width, height et depth précisent les dimensions de la sous-image.

La structure des données de pixels indiquées par data est spécifiée par sourceFormat et sourceType. Le télé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 est utilisée pour mettre à jour une partie de la texture. Les paramètres xOffset, yOffset, zOffset spécifient les décalages de texel dans la texture. Les paramètres width, height et depth spécifient les dimensions de la sous-image. La carte mip au niveau de la sous-image que nous voulons mettre à jour est spécifiée par mipLevel.

La structure des données de pixels indiquée par data est spécifiée par sourceFormat et sourceType. Le télé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, int layer, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)

Cette surcharge est utilisée pour mettre à jour une partie de la texture. Les paramètres xOffset, yOffset, zOffset spécifient les décalages de texel dans la texture. Les paramètres width, height et depth spécifient les dimensions de la sous-image. Le niveau et la couche de la carte MIP de la sous-image à mettre à jour sont spécifiés par les paramètres mipLevel et layer.

La structure des données de pixels indiquées par data est spécifiée par sourceFormat et sourceType. Le télé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, int layer, QOpenGLTexture::CubeMapFace face, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)

Cette surcharge est utilisée pour mettre à jour une partie de la texture. Les paramètres xOffset, yOffset, zOffset spécifient les décalages de texel dans la texture. Les paramètres width, height et depth spécifient les dimensions de la sous-image. Le niveau de la mip map, la couche et la face de la cube map de la sous-image à mettre à jour sont spécifiés par mipLevel, layer et face.

La structure des données de pixels indiquées par data est spécifiée par sourceFormat et sourceType. Le télé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, int layer, QOpenGLTexture::CubeMapFace face, int layerCount, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)

Cette surcharge est utilisée pour mettre à jour une partie de la texture. Les paramètres xOffset, yOffset, zOffset spécifient les décalages de texel dans la texture. Les paramètres width, height et depth spécifient les dimensions de la sous-image. Le niveau de la mip map, la couche de départ, la face de la cube map et le nombre de couches de la sous-image que nous voulons mettre à jour sont spécifiés par mipLevel, layer, face et layerCount.

La structure des données de pixels indiquées par data est spécifiée par sourceFormat et sourceType. Le télé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 ayant un format combiné profondeur/stencil, cette fonction définit la composante de la texture à laquelle vous accédez à l'adresse mode.

Lorsque le paramètre est fixé à DepthMode, l'accès à partir du nuanceur se fera normalement sur le composant de profondeur en tant que flottant unique. Mais lorsque le paramètre est défini sur StencilMode, le shader accède à la composante stencil.

Note : Cette fonction n'a aucun effet sur Mac et Qt OpenGL ES 2.

Voir aussi depthStencilMode().

void QOpenGLTexture::setFixedSamplePositions(bool fixed)

Définit si les positions des échantillons et le nombre d'échantillons utilisés avec une cible de texture capable d'échantillonner plusieurs fois sont fixés à fixed. Si la valeur est fixée à true, les positions des échantillons et le nombre d'échantillons utilisés sont les mêmes pour tous les texels de l'image et ne dépendent pas de la taille de l'image ou de son format interne. Cette fonction doit être appelée avant que l'espace de stockage ne soit alloué à la texture.

Pour les cibles qui ne supportent pas 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 à format. Cette fonction doit être appelée avant que le stockage de la texture ne soit alloué.

Notez que tous les formats peuvent ne pas être supportés. L'ensemble exact des formats supportés dépend de l'implémentation et de la version d'OpenGL.

Voir aussi format() et allocateStorage().

void QOpenGLTexture::setLayers(int layers)

Définit le nombre de tableaux layers pour lesquels un espace de stockage doit être alloué. Cette fonction doit être appelée avant que l'espace de stockage ne soit alloué à la texture.

Pour les cibles qui ne supportent pas les couches de tableaux, cette fonction n'a aucun effet.

Voir aussi layers() et isStorageAllocated().

void QOpenGLTexture::setLevelOfDetailRange(float min, float max)

Définit le niveau minimum de détail des paramètres à min et le niveau maximum à max.

Note : Cette fonction n'a aucun effet sur les Qt construits pour OpenGL ES 2.

Voir aussi levelOfDetailRange(), setMinimumLevelOfDetail(), et setMaximumLevelOfDetail().

void QOpenGLTexture::setLevelofDetailBias(float bias)

Définit le biais du niveau de détail à bias. Le biais de niveau de détail affecte le point auquel les niveaux de mipmapping changent. L'augmentation des valeurs du niveau de détail rend les images globales plus floues ou plus douces. La diminution des valeurs rend les images globales plus nettes.

Note : Cette fonction n'a aucun effet sur les Qt construits pour OpenGL ES 2.

Voir aussi levelofDetailBias().

void QOpenGLTexture::setMagnificationFilter(QOpenGLTexture::Filter filter)

Définit le filtre d'agrandissement à filter.

Voir aussi magnificationFilter(), setMinificationFilter() et setMinMagFilters().

void QOpenGLTexture::setMaximumAnisotropy(float anisotropy)

Si votre implémentation OpenGL supporte l'extension GL_EXT_texture_filter_anisotropic, cette fonction définit le niveau maximum d'anisotropie à anisotropy.

Voir également maximumAnisotropy().

void QOpenGLTexture::setMaximumLevelOfDetail(float value)

Définit le niveau de détail maximal à value. Cela limite la sélection de la mipmap de plus faible résolution (niveau de mipmap le plus élevé). La valeur par défaut est 1000.

Note : Cette fonction n'a aucun effet sur Qt construit 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 à minificationFilter et le filtre d'agrandissement à magnificationFilter.

Voir aussi minMagFilters(), setMinificationFilter(), et setMagnificationFilter().

void QOpenGLTexture::setMinificationFilter(QOpenGLTexture::Filter filter)

Définit le filtre utilisé pour la minification à filter.

Voir aussi minificationFilter(), setMagnificationFilter(), et setMinMagFilters().

void QOpenGLTexture::setMinimumLevelOfDetail(float value)

Fixe le niveau de détail minimum à value, ce qui limite la sélection de la mipmap de plus haute résolution (niveau de mipmap le plus bas). La valeur par défaut est -1000.

Note : Cette fonction n'a pas d'effet sur Qt construit pour OpenGL ES 2.

Voir aussi minimumLevelOfDetail(), setMaximumLevelOfDetail(), et setLevelOfDetailRange().

void QOpenGLTexture::setMipBaseLevel(int baseLevel)

Définit le niveau de base de la mipmap utilisé pour toutes les recherches de texture avec cette texture à baseLevel.

Note : Cette fonction n'a aucun effet sur les Qt construits pour OpenGL ES 2.

Voir aussi mipBaseLevel(), setMipMaxLevel(), et setMipLevelRange().

void QOpenGLTexture::setMipLevelRange(int baseLevel, int maxLevel)

Définit la plage des niveaux de mipmap qui peuvent être utilisés pour les recherches de texture avec cette texture entre baseLevel et maxLevel.

Note : Cette fonction n'a aucun effet sur les Qt construits pour OpenGL ES 2.

Voir aussi setMipBaseLevel(), setMipMaxLevel(), et mipLevelRange().

void QOpenGLTexture::setMipLevels(int levels)

Pour les cibles de texture qui prennent en charge les mipmaps, cette fonction définit le nombre requis de mipmaps levels pour lesquels un espace de stockage doit être alloué. Cette fonction doit être appelée avant que l'espace de stockage ne soit alloué à la texture.

Si la cible de texture ne supporte pas les mipmaps, cette fonction n'a aucun effet.

Voir également mipLevels(), maximumMipLevels() et isStorageAllocated().

void QOpenGLTexture::setMipMaxLevel(int maxLevel)

Définit le niveau maximum de mipmap utilisé pour toutes les recherches de texture avec cette texture à maxLevel.

Note : Cette fonction n'a aucun effet sur les Qt construits pour OpenGL ES 2.

Voir aussi mipMaxLevel(), setMipBaseLevel(), et setMipLevelRange().

void QOpenGLTexture::setSamples(int samples)

Définit le nombre de samples pour lesquels un espace de stockage doit être alloué lors d'un rendu vers une cible de texture capable d'effectuer des échantillonnages multiples. Cette fonction doit être appelée avant que l'espace de stockage ne soit alloué à la texture.

Pour les cibles qui ne supportent pas le multi-échantillonnage, cette fonction n'a aucun effet.

Voir aussi samples() et isStorageAllocated().

void QOpenGLTexture::setSize(int width, int height = 1, int depth = 1)

Définit les dimensions de cet objet texture à width, height, et depth. La valeur par défaut de chaque dimension est 1. La taille maximale autorisée pour la texture dépend de votre implémentation OpenGL. L'allocation d'espace de stockage pour une texture de taille inférieure à la taille maximale peut toujours échouer si votre système manque de ressources.

Si une texture non puissance deux width, height ou depth est fournie et que votre implémentation OpenGL ne supporte pas la répétition de textures non puissance deux, alors le mode d'enveloppement est automatiquement fixé à ClampToEdge.

Voir aussi width(), height(), et depth().

void QOpenGLTexture::setSwizzleMask(QOpenGLTexture::SwizzleComponent component, QOpenGLTexture::SwizzleValue value)

Les shaders GLSL sont capables de réorganiser les composants du vec4 renvoyé par les fonctions de texture. Il est également souhaitable de pouvoir contrôler ce réordonnancement à partir d'un code côté CPU. Ceci est rendu possible par les masques swizzle depuis OpenGL 3.3.

Chaque composant de la texture peut être associé à l'une des options de SwizzleValue.

Cette fonction associe component à la sortie value.

Note : Cette fonction n'a aucun effet sur Mac et Qt 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 sont des 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 d'enveloppement (ou de répétition) pour toutes les dimensions de la texture à mode.

Voir également wrapMode().

void QOpenGLTexture::setWrapMode(QOpenGLTexture::CoordinateDirection direction, QOpenGLTexture::WrapMode mode)

Définit le mode d'enveloppement (ou de répétition) pour la dimension de texture direction à mode.

Il s'agit d'une fonction surchargée.

QOpenGLTexture::SwizzleValue QOpenGLTexture::swizzleMask(QOpenGLTexture::SwizzleComponent component) const

Renvoie le masque d'oscillation 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 texture OpenGL sous-jacent ou 0 s'il n'a pas encore été créé.

Voir aussi create(), destroy(), et isCreated().

int QOpenGLTexture::width() const

Renvoie la largeur d'une texture 1D, 2D ou 3D.

Voir aussi height(), depth() et setSize().

QOpenGLTexture::WrapMode QOpenGLTexture::wrapMode(QOpenGLTexture::CoordinateDirection direction) const

Renvoie le mode d'enveloppement pour la dimension de la 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.