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.
| Constante | Valeur | Description de la constante |
|---|---|---|
QOpenGLTexture::BindingTarget1D | 0x8068 | Équivalent à GL_TEXTURE_BINDING_1D |
QOpenGLTexture::BindingTarget1DArray | 0x8C1C | Équivalent à GL_TEXTURE_BINDING_1D_ARRAY |
QOpenGLTexture::BindingTarget2D | 0x8069 | Équivalent à GL_TEXTURE_BINDING_2D |
QOpenGLTexture::BindingTarget2DArray | 0x8C1D | Équivalent à GL_TEXTURE_BINDING_2D_ARRAY |
QOpenGLTexture::BindingTarget3D | 0x806A | Équivalent à GL_TEXTURE_BINDING_3D |
QOpenGLTexture::BindingTargetCubeMap | 0x8514 | Équivalent à GL_TEXTURE_BINDING_CUBE_MAP |
QOpenGLTexture::BindingTargetCubeMapArray | 0x900A | Équivalent à GL_TEXTURE_BINDING_CUBE_MAP_ARRAY |
QOpenGLTexture::BindingTarget2DMultisample | 0x9104 | Équivalent à GL_TEXTURE_BINDING_2D_MULTISAMPLE |
QOpenGLTexture::BindingTarget2DMultisampleArray | 0x9105 | Équivalent à GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY |
QOpenGLTexture::BindingTargetRectangle | 0x84F6 | Équivalent à GL_TEXTURE_BINDING_RECTANGLE |
QOpenGLTexture::BindingTargetBuffer | 0x8C2C | Équivalent à GL_TEXTURE_BINDING_BUFFER |
enum QOpenGLTexture::ComparisonFunction
Cette énumération spécifie l'opérateur de comparaison utilisé lorsque la comparaison de textures est activée pour cette texture.
| Constante | Valeur | Description |
|---|---|---|
QOpenGLTexture::CompareLessEqual | 0x0203 | Équivalent à GL_LEQUAL. |
QOpenGLTexture::CompareGreaterEqual | 0x0206 | Équivalent à GL_GEQUAL. |
QOpenGLTexture::CompareLess | 0x0201 | Équivalent à GL_LESS. |
QOpenGLTexture::CompareGreater | 0x0204 | Équivalent à GL_GREATER. |
QOpenGLTexture::CompareEqual | 0x0202 | Équivalent à GL_EQUAL. |
QOpenGLTexture::CompareNotEqual | 0x0205 | Équivalent à GL_NOTEQUAL. |
QOpenGLTexture::CompareAlways | 0x0207 | Équivalent à GL_ALWAYS. |
QOpenGLTexture::CompareNever | 0x0200 | Équivalent à GL_NEVER. |
enum QOpenGLTexture::ComparisonMode
Cette énumération spécifie le mode de comparaison utilisé lors de l'échantillonnage de cette texture.
| Constante | Valeur | Description de l'enum |
|---|---|---|
QOpenGLTexture::CompareRefToTexture | 0x884E | Équivalent à GL_COMPARE_REF_TO_TEXTURE. |
QOpenGLTexture::CompareNone | 0x0000 | Équivalent à GL_NONE. |
enum QOpenGLTexture::CoordinateDirection
Cette énumération définit les directions possibles des coordonnées de texture
| Constante | Valeur | Description |
|---|---|---|
QOpenGLTexture::DirectionS | 0x2802 | La direction horizontale. Équivalent à GL_TEXTURE_WRAP_S |
QOpenGLTexture::DirectionT | 0x2803 | Direction verticale. Équivalent à GL_TEXTURE_WRAP_T |
QOpenGLTexture::DirectionR | 0x8072 | La direction de la profondeur. Équivalent à GL_TEXTURE_WRAP_R |
enum QOpenGLTexture::CubeMapFace
Cette énumération définit les faces possibles de CubeMap.
| Constante | Valeur | Description de la constante |
|---|---|---|
QOpenGLTexture::CubeMapPositiveX | 0x8515 | Équivalent à GL_TEXTURE_CUBE_MAP_POSITIVE_X |
QOpenGLTexture::CubeMapNegativeX | 0x8516 | Équivalent à GL_TEXTURE_CUBE_MAP_NEGATIVE_X |
QOpenGLTexture::CubeMapPositiveY | 0x8517 | Équivalent à GL_TEXTURE_CUBE_MAP_POSITIVE_Y |
QOpenGLTexture::CubeMapNegativeY | 0x8518 | Équivalent à GL_TEXTURE_CUBE_MAP_NEGATIVE_Y |
QOpenGLTexture::CubeMapPositiveZ | 0x8519 | Équivalent à GL_TEXTURE_CUBE_MAP_POSITIVE_Z |
QOpenGLTexture::CubeMapNegativeZ | 0x851A | Équivalent à GL_TEXTURE_CUBE_MAP_NEGATIVE_Z |
enum QOpenGLTexture::DepthStencilMode
Cette énumération spécifie la composante d'une texture de profondeur/stencil à laquelle on accède lorsque la texture est échantillonnée.
| Constante | Valeur | Description de l'enum |
|---|---|---|
QOpenGLTexture::DepthMode | 0x1902 | Équivalent à GL_DEPTH_COMPONENT. |
QOpenGLTexture::StencilMode | 0x1901 | É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.
| Constante | Valeur | Description |
|---|---|---|
QOpenGLTexture::ImmutableStorage | 0x00000001 | Prise en charge du stockage des textures immuables |
QOpenGLTexture::ImmutableMultisampleStorage | 0x00000002 | Prise en charge du stockage immuable des textures avec des cibles multi-échantillons |
QOpenGLTexture::TextureRectangle | 0x00000004 | Prise en charge de la cible GL_TEXTURE_RECTANGLE |
QOpenGLTexture::TextureArrays | 0x00000008 | Prise en charge des cibles de texture avec des couches de tableau |
QOpenGLTexture::Texture3D | 0x00000010 | Prise en charge de la cible de texture tridimensionnelle |
QOpenGLTexture::TextureMultisample | 0x00000020 | Support pour les cibles de texture qui ont des capacités multi-échantillons |
QOpenGLTexture::TextureBuffer | 0x00000040 | Support des textures qui utilisent des objets tampons OpenGL comme source de données |
QOpenGLTexture::TextureCubeMapArrays | 0x00000080 | Prise en charge de la cible de texture cubemap array |
QOpenGLTexture::Swizzle | 0x00000100 | Prise en charge des masques d'oscillation des composants de texture |
QOpenGLTexture::StencilTexturing | 0x00000200 | Prise 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::AnisotropicFiltering | 0x00000400 | Prise en charge du filtrage anisotropique des textures |
QOpenGLTexture::NPOTTextures | 0x00000800 | Prise en charge de base des textures non puissantes de deux |
QOpenGLTexture::NPOTTextureRepeat | 0x00001000 | Prise en charge complète des textures non puissantes de deux, y compris les modes de répétition des textures |
QOpenGLTexture::Texture1D | 0x00002000 | Prise en charge de la cible de texture unidimensionnelle |
QOpenGLTexture::TextureComparisonOperators | 0x00004000 | Prise en charge des opérateurs de comparaison de textures |
QOpenGLTexture::TextureMipMapLevel | 0x00008000 | Prise en charge de la 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.
| Constante | Valeur | Description de la constante |
|---|---|---|
QOpenGLTexture::Nearest | 0x2600 | Équivalent à GL_NEAREST |
QOpenGLTexture::Linear | 0x2601 | Équivalent à GL_LINEAR |
QOpenGLTexture::NearestMipMapNearest | 0x2700 | Équivalent à GL_NEAREST_MIPMAP_NEAREST |
QOpenGLTexture::NearestMipMapLinear | 0x2702 | Équivalent à GL_NEAREST_MIPMAP_LINEAR |
QOpenGLTexture::LinearMipMapNearest | 0x2701 | Équivalent à GL_LINEAR_MIPMAP_NEAREST |
QOpenGLTexture::LinearMipMapLinear | 0x2703 | Équivalent à GL_LINEAR_MIPMAP_LINEAR |
enum QOpenGLTexture::MipMapGeneration
Cette énumération définit les options permettant de contrôler la génération de la mipmap.
| Constante | Valeur | Description |
|---|---|---|
QOpenGLTexture::GenerateMipMaps | 0 | Les cartes d'identité doivent être générées |
QOpenGLTexture::DontGenerateMipMaps | 1 | Les 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.
| Constante | Valeur | Description de la constante |
|---|---|---|
QOpenGLTexture::NoSourceFormat | 0 | Équivalent à GL_NONE |
QOpenGLTexture::Red | 0x1903 | Équivalent à GL_RED |
QOpenGLTexture::RG | 0x8227 | Équivalent à GL_RG |
QOpenGLTexture::RGB | 0x1907 | Équivalent à GL_RGB |
QOpenGLTexture::BGR | 0x80E0 | Équivalent à GL_BGR |
QOpenGLTexture::RGBA | 0x1908 | Équivalent à GL_RGBA |
QOpenGLTexture::BGRA | 0x80E1 | Équivalent à GL_BGRA |
QOpenGLTexture::Red_Integer | 0x8D94 | Équivalent à GL_RED_INTEGER |
QOpenGLTexture::RG_Integer | 0x8228 | Équivalent à GL_RG_INTEGER |
QOpenGLTexture::RGB_Integer | 0x8D98 | Équivalent à GL_RGB_INTEGER |
QOpenGLTexture::BGR_Integer | 0x8D9A | Équivalent à GL_BGR_INTEGER |
QOpenGLTexture::RGBA_Integer | 0x8D99 | Équivalent à GL_RGBA_INTEGER |
QOpenGLTexture::BGRA_Integer | 0x8D9B | Équivalent à GL_BGRA_INTEGER |
QOpenGLTexture::Stencil | 0x1901 | Équivalent à GL_STENCIL_INDEX. Introduit dans Qt 5.4 |
QOpenGLTexture::Depth | 0x1902 | Équivalent à GL_DEPTH_COMPONENT |
QOpenGLTexture::DepthStencil | 0x84F9 | Équivalent à GL_DEPTH_STENCIL |
QOpenGLTexture::Alpha | 0x1906 | Équivalent à GL_ALPHA (OpenGL ES 2 uniquement) |
QOpenGLTexture::Luminance | 0x1909 | Équivalent à GL_LUMINANCE (OpenGL ES 2 uniquement) |
QOpenGLTexture::LuminanceAlpha | 0x190A | Équivalent à GL_LUMINANCE_ALPHA (OpenGL ES 2 uniquement) |
enum QOpenGLTexture::PixelType
Cette énumération définit les types de données de pixels possibles pour une opération de transfert de pixels
| Constante | Valeur | Description de la constante |
|---|---|---|
QOpenGLTexture::NoPixelType | 0 | Équivalent à GL_NONE |
QOpenGLTexture::Int8 | 0x1400 | Équivalent à GL_BYTE |
QOpenGLTexture::UInt8 | 0x1401 | Équivalent à GL_UNSIGNED_BYTE |
QOpenGLTexture::Int16 | 0x1402 | Équivalent à GL_SHORT |
QOpenGLTexture::UInt16 | 0x1403 | Équivalent à GL_UNSIGNED_SHORT |
QOpenGLTexture::Int32 | 0x1404 | Équivalent à GL_INT |
QOpenGLTexture::UInt32 | 0x1405 | Équivalent à GL_UNSIGNED_INT |
QOpenGLTexture::Float16 | 0x140B | Équivalent à GL_HALF_FLOAT |
QOpenGLTexture::Float16OES | 0x8D61 | Équivalent à GL_HALF_FLOAT_OES |
QOpenGLTexture::Float32 | 0x1406 | Équivalent à GL_FLOAT |
QOpenGLTexture::UInt32_RGB9_E5 | 0x8C3E | Équivalent à GL_UNSIGNED_INT_5_9_9_9_REV |
QOpenGLTexture::UInt32_RG11B10F | 0x8C3B | Équivalent à GL_UNSIGNED_INT_10F_11F_11F_REV |
QOpenGLTexture::UInt8_RG3B2 | 0x8032 | Équivalent à GL_UNSIGNED_BYTE_3_3_2 |
QOpenGLTexture::UInt8_RG3B2_Rev | 0x8362 | Équivalent à GL_UNSIGNED_BYTE_2_3_3_REV |
QOpenGLTexture::UInt16_RGB5A1 | 0x8034 | Équivalent à GL_UNSIGNED_SHORT_5_5_5_1 |
QOpenGLTexture::UInt16_RGB5A1_Rev | 0x8366 | Équivalent à GL_UNSIGNED_SHORT_1_5_5_5_5_REV |
QOpenGLTexture::UInt16_R5G6B5 | 0x8363 | Équivalent à GL_UNSIGNED_SHORT_5_6_5 |
QOpenGLTexture::UInt16_R5G6B5_Rev | 0x8364 | Équivalent à GL_UNSIGNED_SHORT_5_6_5_REV |
QOpenGLTexture::UInt16_RGBA4 | 0x8033 | Équivalent à GL_UNSIGNED_SHORT_4_4_4_4 |
QOpenGLTexture::UInt16_RGBA4_Rev | 0x8365 | Équivalent à GL_UNSIGNED_SHORT_4_4_4_4_4_REV |
QOpenGLTexture::UInt32_RGBA8 | 0x8035 | Équivalent à GL_UNSIGNED_INT_8_8_8_8 |
QOpenGLTexture::UInt32_RGBA8_Rev | 0x8367 | Équivalent à GL_UNSIGNED_INT_8_8_8_8_REV |
QOpenGLTexture::UInt32_RGB10A2 | 0x8036 | Équivalent à GL_UNSIGNED_INT_10_10_10_2 |
QOpenGLTexture::UInt32_RGB10A2_Rev | 0x8368 | Équivalent à GL_UNSIGNED_INT_2_10_10_10_REV |
QOpenGLTexture::UInt32_D24S8 | 0x84FA | Équivalent à GL_UNSIGNED_INT_24_8. Introduit dans Qt 5.4 |
QOpenGLTexture::Float32_D32_UInt32_S8_X24 | 0x8DAD | Équivalent à GL_FLOAT_32_UNSIGNED_INT_24_8_REV. Introduit dans Qt 5.4 |
enum QOpenGLTexture::SwizzleComponent
Cette énumération définit les composantes de la couleur de la texture qui peuvent être affectées à un masque d'épée.
| Constante | Valeur | Description |
|---|---|---|
QOpenGLTexture::SwizzleRed | 0x8E42 | Composante rouge. Équivalent à GL_TEXTURE_SWIZZLE_R. |
QOpenGLTexture::SwizzleGreen | 0x8E43 | Composante verte. Équivalent à GL_TEXTURE_SWIZZLE_G |
QOpenGLTexture::SwizzleBlue | 0x8E44 | La composante bleue. Équivalent à GL_TEXTURE_SWIZZLE_B |
QOpenGLTexture::SwizzleAlpha | 0x8E45 | La composante alpha. Équivalent à GL_TEXTURE_SWIZZLE_A |
enum QOpenGLTexture::SwizzleValue
Cette énumération définit les valeurs de masque possibles pour l'effet d'oscillation de la texture.
| Constante | Valeur | Description |
|---|---|---|
QOpenGLTexture::RedValue | 0x1903 | Mappage de la composante sur le canal rouge. Équivalent à GL_RED |
QOpenGLTexture::GreenValue | 0x1904 | Affecte le composant au canal vert. Équivalent à GL_GREEN |
QOpenGLTexture::BlueValue | 0x1905 | Affecte le composant au canal bleu. Équivalent à GL_BLUE |
QOpenGLTexture::AlphaValue | 0x1906 | Affecte le composant au canal alpha. Équivalent à GL_ALPHA |
QOpenGLTexture::ZeroValue | 0 | Affecte à la composante une valeur fixe de 0. Équivalent à GL_ZERO |
QOpenGLTexture::OneValue | 1 | Affecte à 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.
| Constante | Valeur | Description de la texture |
|---|---|---|
QOpenGLTexture::Target1D | 0x0DE0 | Texture à une dimension. Équivalent à GL_TEXTURE_1D. |
QOpenGLTexture::Target1DArray | 0x8C18 | Tableau de textures unidimensionnelles. Équivalent à GL_TEXTURE_1D_ARRAY. |
QOpenGLTexture::Target2D | 0x0DE1 | Texture bidimensionnelle. Équivalent à GL_TEXTURE_2D |
QOpenGLTexture::Target2DArray | 0x8C1A | Tableau de textures bidimensionnelles. Équivalent à GL_TEXTURE_2D_ARRAY |
QOpenGLTexture::Target3D | 0x806F | Texture tridimensionnelle. Équivalent à GL_TEXTURE_3D |
QOpenGLTexture::TargetCubeMap | 0x8513 | Une texture cubemap. Équivalent à GL_TEXTURE_CUBE_MAP |
QOpenGLTexture::TargetCubeMapArray | 0x9009 | Tableau de textures cubemap. Équivalent à GL_TEXTURE_CUBE_MAP_ARRAY |
QOpenGLTexture::Target2DMultisample | 0x9100 | Texture bidimensionnelle avec prise en charge de plusieurs échantillons. Équivalent à GL_TEXTURE_2D_MULTISAMPLE |
QOpenGLTexture::Target2DMultisampleArray | 0x9102 | Tableau de textures bidimensionnelles avec prise en charge du multi-échantillon. Équivalent à GL_TEXTURE_2D_MULTISAMPLE_ARRAY |
QOpenGLTexture::TargetRectangle | 0x84F5 | Texture rectangulaire à deux dimensions. Équivalent à GL_TEXTURE_RECTANGLE |
QOpenGLTexture::TargetBuffer | 0x8C2A | Texture 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é.
| Constante | Valeur | Description |
|---|---|---|
QOpenGLTexture::NoFormat | 0 | Équivalent à GL_NONE |
QOpenGLTexture::R8_UNorm | 0x8229 | Équivalent à GL_R8 |
QOpenGLTexture::RG8_UNorm | 0x822B | Équivalent à GL_RG8 |
QOpenGLTexture::RGB8_UNorm | 0x8051 | Équivalent à GL_RGB8 |
QOpenGLTexture::RGBA8_UNorm | 0x8058 | Équivalent à GL_RGBA8 |
QOpenGLTexture::R16_UNorm | 0x822A | Équivalent à GL_R16 |
QOpenGLTexture::RG16_UNorm | 0x822C | Équivalent à GL_RG16 |
QOpenGLTexture::RGB16_UNorm | 0x8054 | Équivalent à GL_RGB16 |
QOpenGLTexture::RGBA16_UNorm | 0x805B | Équivalent à GL_RGBA16 |
QOpenGLTexture::R8_SNorm | 0x8F94 | Équivalent à GL_R8_SNORM |
QOpenGLTexture::RG8_SNorm | 0x8F95 | Équivalent à GL_RG8_SNORM |
QOpenGLTexture::RGB8_SNorm | 0x8F96 | Équivalent à GL_RGB8_SNORM |
QOpenGLTexture::RGBA8_SNorm | 0x8F97 | Équivalent à GL_RGBA8_SNORM |
QOpenGLTexture::R16_SNorm | 0x8F98 | Équivalent à GL_R16_SNORM |
QOpenGLTexture::RG16_SNorm | 0x8F99 | Équivalent à GL_RG16_SNORM |
QOpenGLTexture::RGB16_SNorm | 0x8F9A | Équivalent à GL_RGB16_SNORM |
QOpenGLTexture::RGBA16_SNorm | 0x8F9B | Équivalent à GL_RGBA16_SNORM |
QOpenGLTexture::R8U | 0x8232 | Équivalent à GL_R8UI |
QOpenGLTexture::RG8U | 0x8238 | Équivalent à GL_RG8UI |
QOpenGLTexture::RGB8U | 0x8D7D | Équivalent à GL_RGB8UI |
QOpenGLTexture::RGBA8U | 0x8D7C | Équivalent à GL_RGBA8UI |
QOpenGLTexture::R16U | 0x8234 | Équivalent à GL_R16UI |
QOpenGLTexture::RG16U | 0x823A | Équivalent à GL_RG16UI |
QOpenGLTexture::RGB16U | 0x8D77 | Équivalent à GL_RGB16UI |
QOpenGLTexture::RGBA16U | 0x8D76 | Équivalent à GL_RGBA16UI |
QOpenGLTexture::R32U | 0x8236 | Équivalent à GL_R32UI |
QOpenGLTexture::RG32U | 0x823C | Équivalent à GL_RG32UI |
QOpenGLTexture::RGB32U | 0x8D71 | Équivalent à GL_RGB32UI |
QOpenGLTexture::RGBA32U | 0x8D70 | Équivalent à GL_RGBA32UI |
QOpenGLTexture::R8I | 0x8231 | Équivalent à GL_R8I |
QOpenGLTexture::RG8I | 0x8237 | Équivalent à GL_RG8I |
QOpenGLTexture::RGB8I | 0x8D8F | Équivalent à GL_RGB8I |
QOpenGLTexture::RGBA8I | 0x8D8E | Équivalent à GL_RGBA8I |
QOpenGLTexture::R16I | 0x8233 | Équivalent à GL_R16I |
QOpenGLTexture::RG16I | 0x8239 | Équivalent à GL_RG16I |
QOpenGLTexture::RGB16I | 0x8D89 | Équivalent à GL_RGB16I |
QOpenGLTexture::RGBA16I | 0x8D88 | Équivalent à GL_RGBA16I |
QOpenGLTexture::R32I | 0x8235 | Équivalent à GL_R32I |
QOpenGLTexture::RG32I | 0x823B | Équivalent à GL_RG32I |
QOpenGLTexture::RGB32I | 0x8D83 | Équivalent à GL_RGB32I |
QOpenGLTexture::RGBA32I | 0x8D82 | Équivalent à GL_RGBA32I |
QOpenGLTexture::R16F | 0x822D | Équivalent à GL_R16F |
QOpenGLTexture::RG16F | 0x822F | Équivalent à GL_RG16F |
QOpenGLTexture::RGB16F | 0x881B | Équivalent à GL_RGB16F |
QOpenGLTexture::RGBA16F | 0x881A | Équivalent à GL_RGBA16F |
QOpenGLTexture::R32F | 0x822E | Équivalent à GL_R32F |
QOpenGLTexture::RG32F | 0x8230 | Équivalent à GL_RG32F |
QOpenGLTexture::RGB32F | 0x8815 | Équivalent à GL_RGB32F |
QOpenGLTexture::RGBA32F | 0x8814 | Équivalent à GL_RGBA32F |
QOpenGLTexture::RGB9E5 | 0x8C3D | Équivalent à GL_RGB9_E5 |
QOpenGLTexture::RG11B10F | 0x8C3A | Équivalent à GL_R11F_G11F_B10F |
QOpenGLTexture::RG3B2 | 0x2A10 | Équivalent à GL_R3_G3_B2 |
QOpenGLTexture::R5G6B5 | 0x8D62 | Équivalent à GL_RGB565 |
QOpenGLTexture::RGB5A1 | 0x8057 | Équivalent à GL_RGB5_A1 |
QOpenGLTexture::RGBA4 | 0x8056 | Équivalent à GL_RGBA4 |
QOpenGLTexture::RGB10A2 | 0x906F | Équivalent à GL_RGB10_A2UI |
QOpenGLTexture::D16 | 0x81A5 | Équivalent à GL_DEPTH_COMPONENT16 |
QOpenGLTexture::D24 | 0x81A6 | Équivalent à GL_DEPTH_COMPONENT24 |
QOpenGLTexture::D24S8 | 0x88F0 | Équivalent à GL_DEPTH24_STENCIL8 |
QOpenGLTexture::D32 | 0x81A7 | Équivalent à GL_DEPTH_COMPONENT32 |
QOpenGLTexture::D32F | 0x8CAC | Équivalent à GL_DEPTH_COMPONENT32F |
QOpenGLTexture::D32FS8X24 | 0x8CAD | Équivalent à GL_DEPTH32F_STENCIL8 |
QOpenGLTexture::S8 | 0x8D48 | Équivalent à GL_STENCIL_INDEX8. Introduit dans Qt 5.4 |
QOpenGLTexture::RGB_DXT1 | 0x83F0 | Équivalent à GL_COMPRESSED_RGB_S3TC_DXT1_EXT |
QOpenGLTexture::RGBA_DXT1 | 0x83F1 | Équivalent à GL_COMPRESSED_RGBA_S3TC_DXT1_EXT |
QOpenGLTexture::RGBA_DXT3 | 0x83F2 | Équivalent à GL_COMPRESSED_RGBA_S3TC_DXT3_EXT |
QOpenGLTexture::RGBA_DXT5 | 0x83F3 | Équivalent à GL_COMPRESSED_RGBA_S3TC_DXT5_EXT |
QOpenGLTexture::R_ATI1N_UNorm | 0x8DBB | Équivalent à GL_COMPRESSED_RED_RGTC1 |
QOpenGLTexture::R_ATI1N_SNorm | 0x8DBC | Équivalent à GL_COMPRESSED_SIGNED_RED_RGTC1 |
QOpenGLTexture::RG_ATI2N_UNorm | 0x8DBD | Équivalent à GL_COMPRESSED_RG_RGTC2 |
QOpenGLTexture::RG_ATI2N_SNorm | 0x8DBE | Équivalent à GL_COMPRESSED_SIGNED_RG_RGTC2 |
QOpenGLTexture::RGB_BP_UNSIGNED_FLOAT | 0x8E8F | Équivalent à GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB |
QOpenGLTexture::RGB_BP_SIGNED_FLOAT | 0x8E8E | Équivalent à GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB |
QOpenGLTexture::RGB_BP_UNorm | 0x8E8C | Équivalent à GL_COMPRESSED_RGBA_BPTC_UNORM_ARB |
QOpenGLTexture::R11_EAC_UNorm | 0x9270 | Équivalent à GL_COMPRESSED_R11_EAC |
QOpenGLTexture::R11_EAC_SNorm | 0x9271 | Équivalent à GL_COMPRESSED_SIGNED_R11_EAC |
QOpenGLTexture::RG11_EAC_UNorm | 0x9272 | Équivalent à GL_COMPRESSED_RG11_EAC |
QOpenGLTexture::RG11_EAC_SNorm | 0x9273 | Équivalent à GL_COMPRESSED_SIGNED_RG11_EAC |
QOpenGLTexture::RGB8_ETC2 | 0x9274 | Équivalent à GL_COMPRESSED_RGB8_ETC2 |
QOpenGLTexture::SRGB8_ETC2 | 0x9275 | Équivalent à GL_COMPRESSED_SRGB8_ETC2 |
QOpenGLTexture::RGB8_PunchThrough_Alpha1_ETC2 | 0x9276 | Équivalent à GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 |
QOpenGLTexture::SRGB8_PunchThrough_Alpha1_ETC2 | 0x9277 | Équivalent à GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 |
QOpenGLTexture::RGBA8_ETC2_EAC | 0x9278 | Équivalent à GL_COMPRESSED_RGBA8_ETC2_EAC |
QOpenGLTexture::SRGB8_Alpha8_ETC2_EAC | 0x9279 | Équivalent à GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC |
QOpenGLTexture::RGB8_ETC1 | 0x8D64 | Équivalent à GL_ETC1_RGB8_OES |
QOpenGLTexture::RGBA_ASTC_4x4 | 0x93B0 | Équivalent à GL_COMPRESSED_RGBA_ASTC_4x4_KHR |
QOpenGLTexture::RGBA_ASTC_5x4 | 0x93B1 | Équivalent à GL_COMPRESSED_RGBA_ASTC_5x4_KHR |
QOpenGLTexture::RGBA_ASTC_5x5 | 0x93B2 | Équivalent à GL_COMPRESSED_RGBA_ASTC_5x5_KHR |
QOpenGLTexture::RGBA_ASTC_6x5 | 0x93B3 | Équivalent à GL_COMPRESSED_RGBA_ASTC_6x5_KHR |
QOpenGLTexture::RGBA_ASTC_6x6 | 0x93B4 | Équivalent à GL_COMPRESSED_RGBA_ASTC_6x6_KHR |
QOpenGLTexture::RGBA_ASTC_8x5 | 0x93B5 | Équivalent à GL_COMPRESSED_RGBA_ASTC_8x5_KHR |
QOpenGLTexture::RGBA_ASTC_8x6 | 0x93B6 | Équivalent à GL_COMPRESSED_RGBA_ASTC_8x6_KHR |
QOpenGLTexture::RGBA_ASTC_8x8 | 0x93B7 | Équivalent à GL_COMPRESSED_RGBA_ASTC_8x8_KHR |
QOpenGLTexture::RGBA_ASTC_10x5 | 0x93B8 | Équivalent à GL_COMPRESSED_RGBA_ASTC_10x5_KHR |
QOpenGLTexture::RGBA_ASTC_10x6 | 0x93B9 | Équivalent à GL_COMPRESSED_RGBA_ASTC_10x6_KHR |
QOpenGLTexture::RGBA_ASTC_10x8 | 0x93BA | Équivalent à GL_COMPRESSED_RGBA_ASTC_10x8_KHR |
QOpenGLTexture::RGBA_ASTC_10x10 | 0x93BB | Équivalent à GL_COMPRESSED_RGBA_ASTC_10x10_KHR |
QOpenGLTexture::RGBA_ASTC_12x10 | 0x93BC | Équivalent à GL_COMPRESSED_RGBA_ASTC_12x10_KHR |
QOpenGLTexture::RGBA_ASTC_12x12 | 0x93BD | Équivalent à GL_COMPRESSED_RGBA_ASTC_12x12_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_4x4 | 0x93D0 | Équivalent à GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_5x4 | 0x93D1 | Équivalent à GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_5x5 | 0x93D2 | Équivalent à GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_6x5 | 0x93D3 | Équivalent à GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_6x6 | 0x93D4 | Équivalent à GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_8x5 | 0x93D5 | Équivalent à GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_8x6 | 0x93D6 | Équivalent à GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_8x8 | 0x93D7 | Équivalent à GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x5 | 0x93D8 | Équivalent à GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x6 | 0x93D9 | Équivalent à GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x8 | 0x93DA | Équivalent à GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x10 | 0x93DB | Équivalent à GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_12x10 | 0x93DC | Équivalent à GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_12x12 | 0x93DD | Équivalent à GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR |
QOpenGLTexture::SRGB8 | 0x8C41 | Équivalent à GL_SRGB8 |
QOpenGLTexture::SRGB8_Alpha8 | 0x8C43 | Équivalent à GL_SRGB8_ALPHA8 |
QOpenGLTexture::SRGB_DXT1 | 0x8C4C | Équivalent à GL_COMPRESSED_SRGB_S3TC_DXT1_EXT |
QOpenGLTexture::SRGB_Alpha_DXT1 | 0x8C4D | Équivalent à GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT |
QOpenGLTexture::SRGB_Alpha_DXT3 | 0x8C4E | Équivalent à GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT |
QOpenGLTexture::SRGB_Alpha_DXT5 | 0x8C4F | Équivalent à GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT |
QOpenGLTexture::SRGB_BP_UNorm | 0x8E8D | Équivalent à GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB |
QOpenGLTexture::DepthFormat | 0x1902 | Équivalent à GL_DEPTH_COMPONENT (uniquement OpenGL ES 3 ou ES 2 avec OES_depth_texture) |
QOpenGLTexture::AlphaFormat | 0x1906 | Equivalent à GL_ALPHA (OpenGL ES 2 uniquement) |
QOpenGLTexture::RGBFormat | 0x1907 | Equivalent à GL_RGB (OpenGL ES 2 uniquement) |
QOpenGLTexture::RGBAFormat | 0x1908 | Équivalent à GL_RGBA (OpenGL ES 2 uniquement) |
QOpenGLTexture::LuminanceFormat | 0x1909 | Equivalent à GL_LUMINANCE (OpenGL ES 2 uniquement) |
QOpenGLTexture::LuminanceAlphaFormat | 0x190A | Équivalent à GL_LUMINANCE_ALPHA (OpenGL ES 2 uniquement) |
enum QOpenGLTexture::TextureUnitReset
Cette énumération définit les options permettant de contrôler l'activation de l'unité de texture.
| Constante | Valeur | Description de l'unité de texture |
|---|---|---|
QOpenGLTexture::ResetTextureUnit | 0 | L'unité de texture active précédente sera réinitialisée |
QOpenGLTexture::DontResetTextureUnit | 1 | L'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.
| Constante | Valeur | Description |
|---|---|---|
QOpenGLTexture::Repeat | 0x2901 | La coordonnée de texture est répétée. Équivalent à GL_REPEAT |
QOpenGLTexture::MirroredRepeat | 0x8370 | Les coordonnées de la texture sont réfléchies autour de 0 et 1. Équivalent à GL_MIRRORED_REPEAT |
QOpenGLTexture::ClampToEdge | 0x812F | Fixe les coordonnées de la texture à [0,1]. Équivalent à GL_CLAMP_TO_EDGE |
QOpenGLTexture::ClampToBorder | 0x812D | Comme 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.