QOpenGLTexture Class

Die Klasse QOpenGLTexture kapselt ein OpenGL-Textur-Objekt. Mehr...

Header: #include <QOpenGLTexture>

Öffentliche Typen

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 }

Öffentliche Funktionen

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
QPair<float, float> levelOfDetailRange() const
float levelofDetailBias() const
QOpenGLTexture::Filter magnificationFilter() const
float maximumAnisotropy() const
float maximumLevelOfDetail() const
int maximumMipLevels() const
QPair<QOpenGLTexture::Filter, QOpenGLTexture::Filter> minMagFilters() const
QOpenGLTexture::Filter minificationFilter() const
float minimumLevelOfDetail() const
int mipBaseLevel() const
QPair<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

Statische öffentliche Mitglieder

GLuint boundTextureId(QOpenGLTexture::BindingTarget target)
GLuint boundTextureId(uint unit, QOpenGLTexture::BindingTarget target)
bool hasFeature(QOpenGLTexture::Feature feature)

Detaillierte Beschreibung

QOpenGLTexture erleichtert die Arbeit mit OpenGL-Texturen und den unzähligen Funktionen und Zielen, die sie je nach den Fähigkeiten Ihrer OpenGL-Implementierung bieten.

Das typische Verwendungsmuster für QOpenGLTexture ist

  • Instanziierung des Objekts unter Angabe des Textur-Zieltyps
  • Setzen von Eigenschaften, die die Speicheranforderungen beeinflussen, z.B. Speicherformat, Dimensionen
  • Zuweisung des serverseitigen Speichers
  • Optionales Hochladen von Pixeldaten
  • Optional zusätzliche Eigenschaften festlegen, z. B. Filter- und Randoptionen
  • Rendern mit Textur oder Rendern in Textur

Im allgemeinen Fall der einfachen Verwendung von QImage als Quelle für Texturpixeldaten werden die meisten der oben genannten Schritte automatisch ausgeführt.

// Prepare texture
QOpenGLTexture *texture = new QOpenGLTexture(QImage(fileName).mirrored());
texture->setMinificationFilter(QOpenGLTexture::LinearMipMapLinear);
texture->setMagnificationFilter(QOpenGLTexture::Linear);
...
// Render with texture
texture->bind();
glDrawArrays(...);

Beachten Sie, dass die QImage vertikal gespiegelt wird, um der Tatsache Rechnung zu tragen, dass OpenGL und QImage entgegengesetzte Richtungen für die y-Achse verwenden. Eine andere Möglichkeit wäre, Ihre Texturkoordinaten zu transformieren.

Dokumentation der Mitgliedstypen

enum QOpenGLTexture::BindingTarget

Diese Aufzählung definiert die möglichen Bindungsziele von Textureinheiten.

KonstanteWertBeschreibung
QOpenGLTexture::BindingTarget1D0x8068Äquivalent zu GL_TEXTURE_BINDING_1D
QOpenGLTexture::BindingTarget1DArray0x8C1CÄquivalent zu GL_TEXTURE_BINDING_1D_ARRAY
QOpenGLTexture::BindingTarget2D0x8069Äquivalent zu GL_TEXTURE_BINDING_2D
QOpenGLTexture::BindingTarget2DArray0x8C1DÄquivalent zu GL_TEXTURE_BINDING_2D_ARRAY
QOpenGLTexture::BindingTarget3D0x806AÄquivalent zu GL_TEXTURE_BINDING_3D
QOpenGLTexture::BindingTargetCubeMap0x8514Äquivalent zu GL_TEXTURE_BINDING_CUBE_MAP
QOpenGLTexture::BindingTargetCubeMapArray0x900AÄquivalent zu GL_TEXTURE_BINDING_CUBE_MAP_ARRAY
QOpenGLTexture::BindingTarget2DMultisample0x9104Äquivalent zu GL_TEXTURE_BINDING_2D_MULTISAMPLE
QOpenGLTexture::BindingTarget2DMultisampleArray0x9105Äquivalent zu GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY
QOpenGLTexture::BindingTargetRectangle0x84F6Äquivalent zu GL_TEXTURE_BINDING_RECTANGLE
QOpenGLTexture::BindingTargetBuffer0x8C2CÄquivalent zu GL_TEXTURE_BINDING_BUFFER

enum QOpenGLTexture::ComparisonFunction

Diese Aufzählung gibt an, welcher Vergleichsoperator verwendet wird, wenn der Texturvergleich für diese Textur aktiviert ist.

KonstanteWertBeschreibung
QOpenGLTexture::CompareLessEqual0x0203Äquivalent zu GL_LEQUAL.
QOpenGLTexture::CompareGreaterEqual0x0206Äquivalent zu GL_GEQUAL.
QOpenGLTexture::CompareLess0x0201Äquivalent zu GL_LESS.
QOpenGLTexture::CompareGreater0x0204Äquivalent zu GL_GREATER.
QOpenGLTexture::CompareEqual0x0202Äquivalent zu GL_EQUAL.
QOpenGLTexture::CompareNotEqual0x0205Äquivalent zu GL_NOTEQUAL.
QOpenGLTexture::CompareAlways0x0207Äquivalent zu GL_ALWAYS.
QOpenGLTexture::CompareNever0x0200Äquivalent zu GL_NEVER.

enum QOpenGLTexture::ComparisonMode

Diese Aufzählung gibt an, welcher Vergleichsmodus beim Abtasten dieser Textur verwendet wird.

KonstanteWertBeschreibung
QOpenGLTexture::CompareRefToTexture0x884EÄquivalent zu GL_COMPARE_REF_TO_TEXTURE.
QOpenGLTexture::CompareNone0x0000Äquivalent zu GL_NONE.

enum QOpenGLTexture::CoordinateDirection

Diese Aufzählung definiert die möglichen Texturkoordinatenrichtungen

KonstanteWertBeschreibung
QOpenGLTexture::DirectionS0x2802Die horizontale Richtung. Äquivalent zu GL_TEXTURE_WRAP_S
QOpenGLTexture::DirectionT0x2803Die vertikale Richtung. Äquivalent zu GL_TEXTURE_WRAP_T
QOpenGLTexture::DirectionR0x8072Die Tiefenrichtung. Äquivalent zu GL_TEXTURE_WRAP_R

enum QOpenGLTexture::CubeMapFace

Diese Aufzählung definiert die möglichen CubeMap-Flächen.

KonstanteWertBeschreibung
QOpenGLTexture::CubeMapPositiveX0x8515Äquivalent zu GL_TEXTURE_CUBE_MAP_POSITIVE_X
QOpenGLTexture::CubeMapNegativeX0x8516Äquivalent zu GL_TEXTURE_CUBE_MAP_NEGATIVE_X
QOpenGLTexture::CubeMapPositiveY0x8517Äquivalent zu GL_TEXTURE_CUBE_MAP_POSITIVE_Y
QOpenGLTexture::CubeMapNegativeY0x8518Äquivalent zu GL_TEXTURE_CUBE_MAP_NEGATIVE_Y
QOpenGLTexture::CubeMapPositiveZ0x8519Äquivalent zu GL_TEXTURE_CUBE_MAP_POSITIVE_Z
QOpenGLTexture::CubeMapNegativeZ0x851AÄquivalent zu GL_TEXTURE_CUBE_MAP_NEGATIVE_Z

enum QOpenGLTexture::DepthStencilMode

Diese Aufzählung gibt an, auf welche Komponente einer Tiefen-/Schablonentextur zugegriffen wird, wenn die Textur abgetastet wird.

KonstanteWertBeschreibung
QOpenGLTexture::DepthMode0x1902Äquivalent zu GL_DEPTH_COMPONENT.
QOpenGLTexture::StencilMode0x1901Äquivalent zu GL_STENCIL_INDEX.

enum QOpenGLTexture::Feature
flags QOpenGLTexture::Features

Diese Aufzählung definiert die OpenGL-Textur-bezogenen Merkmale, auf die getestet werden kann.

KonstanteWertBeschreibung
QOpenGLTexture::ImmutableStorage0x00000001Unterstützung für unveränderliche Texturspeicherung
QOpenGLTexture::ImmutableMultisampleStorage0x00000002Unterstützung für unveränderliche Texturspeicherung mit Multisample-Zielen
QOpenGLTexture::TextureRectangle0x00000004Unterstützung für das Ziel GL_TEXTURE_RECTANGLE
QOpenGLTexture::TextureArrays0x00000008Unterstützung für Texturziele mit Array-Ebenen
QOpenGLTexture::Texture3D0x00000010Unterstützung für das 3-dimensionale Texturziel
QOpenGLTexture::TextureMultisample0x00000020Unterstützung für Texturziele mit Multisample-Fähigkeiten
QOpenGLTexture::TextureBuffer0x00000040Unterstützung für Texturen, die OpenGL-Pufferobjekte als Datenquelle verwenden
QOpenGLTexture::TextureCubeMapArrays0x00000080Unterstützung für Cubemap-Array-Texturziele
QOpenGLTexture::Swizzle0x00000100Unterstützung für Texturkomponenten-Swizzle-Masken
QOpenGLTexture::StencilTexturing0x00000200Unterstützung für Stencil-Texturierung (d.h. Suche nach Tiefen- oder Stencil-Komponenten einer kombinierten Tiefen-/Stencil-Format-Textur in GLSL-Shadern).
QOpenGLTexture::AnisotropicFiltering0x00000400Unterstützung für anisotrope Texturfilterung
QOpenGLTexture::NPOTTextures0x00000800Grundlegende Unterstützung für Nicht-Power-of-Two-Texturen
QOpenGLTexture::NPOTTextureRepeat0x00001000Volle Unterstützung für Nicht-Power-of-Two-Texturen, einschließlich Texturwiederholungsmodi
QOpenGLTexture::Texture1D0x00002000Unterstützung für das 1-dimensionale Texturziel
QOpenGLTexture::TextureComparisonOperators0x00004000Unterstützung für Texturvergleichsoperatoren
QOpenGLTexture::TextureMipMapLevel0x00008000Unterstützung für die Einstellung der Basis- und maximalen Mipmap-Ebenen

Der Typ Features ist ein Typedef für QFlags<Feature>. Er speichert eine ODER-Kombination von Feature-Werten.

enum QOpenGLTexture::Filter

Diese Aufzählung definiert die Filterparameter für ein QOpenGLTexture Objekt.

KonstanteWertBeschreibung
QOpenGLTexture::Nearest0x2600Äquivalent zu GL_NEAREST
QOpenGLTexture::Linear0x2601Äquivalent zu GL_LINEAR
QOpenGLTexture::NearestMipMapNearest0x2700Äquivalent zu GL_NEAREST_MIPMAP_NEAREST
QOpenGLTexture::NearestMipMapLinear0x2702Äquivalent zu GL_NEAREST_MIPMAP_LINEAR
QOpenGLTexture::LinearMipMapNearest0x2701Äquivalent zu GL_LINEAR_MIPMAP_NEAREST
QOpenGLTexture::LinearMipMapLinear0x2703Äquivalent zu GL_LINEAR_MIPMAP_LINEAR

enum QOpenGLTexture::MipMapGeneration

Diese Aufzählung definiert die Optionen zur Steuerung der Mipmap-Erzeugung.

KonstanteWertBeschreibung
QOpenGLTexture::GenerateMipMaps0Mipmaps sollen erzeugt werden
QOpenGLTexture::DontGenerateMipMaps1Mipmaps sollen nicht generiert werden

enum QOpenGLTexture::PixelFormat

Diese Aufzählung definiert die möglichen clientseitigen Pixelformate für eine Pixelübertragungsoperation.

KonstanteWertBeschreibung
QOpenGLTexture::NoSourceFormat0Äquivalent zu GL_NONE
QOpenGLTexture::Red0x1903Äquivalent zu GL_RED
QOpenGLTexture::RG0x8227Äquivalent zu GL_RG
QOpenGLTexture::RGB0x1907Äquivalent zu GL_RGB
QOpenGLTexture::BGR0x80E0Äquivalent zu GL_BGR
QOpenGLTexture::RGBA0x1908Äquivalent zu GL_RGBA
QOpenGLTexture::BGRA0x80E1Äquivalent zu GL_BGRA
QOpenGLTexture::Red_Integer0x8D94Äquivalent zu GL_RED_INTEGER
QOpenGLTexture::RG_Integer0x8228Äquivalent zu GL_RG_INTEGER
QOpenGLTexture::RGB_Integer0x8D98Äquivalent zu GL_RGB_INTEGER
QOpenGLTexture::BGR_Integer0x8D9AÄquivalent zu GL_BGR_INTEGER
QOpenGLTexture::RGBA_Integer0x8D99Äquivalent zu GL_RGBA_INTEGER
QOpenGLTexture::BGRA_Integer0x8D9BÄquivalent zu GL_BGRA_INTEGER
QOpenGLTexture::Stencil0x1901Äquivalent zu GL_STENCIL_INDEX. Eingeführt in Qt 5.4
QOpenGLTexture::Depth0x1902Äquivalent zu GL_DEPTH_COMPONENT
QOpenGLTexture::DepthStencil0x84F9Äquivalent zu GL_DEPTH_STENCIL
QOpenGLTexture::Alpha0x1906Äquivalent zu GL_ALPHA (nur OpenGL ES 2)
QOpenGLTexture::Luminance0x1909Äquivalent zu GL_LUMINANCE (nur OpenGL ES 2)
QOpenGLTexture::LuminanceAlpha0x190AÄquivalent zu GL_LUMINANCE_ALPHA (nur OpenGL ES 2)

enum QOpenGLTexture::PixelType

Diese Aufzählung definiert die möglichen Pixeldatentypen für eine Pixelübertragungsoperation

KonstanteWertBeschreibung
QOpenGLTexture::NoPixelType0Äquivalent zu GL_NONE
QOpenGLTexture::Int80x1400Äquivalent zu GL_BYTE
QOpenGLTexture::UInt80x1401Äquivalent zu GL_UNSIGNED_BYTE
QOpenGLTexture::Int160x1402Äquivalent zu GL_SHORT
QOpenGLTexture::UInt160x1403Äquivalent zu GL_UNSIGNED_SHORT
QOpenGLTexture::Int320x1404Äquivalent zu GL_INT
QOpenGLTexture::UInt320x1405Äquivalent zu GL_UNSIGNED_INT
QOpenGLTexture::Float160x140BÄquivalent zu GL_HALF_FLOAT
QOpenGLTexture::Float16OES0x8D61Äquivalent zu GL_HALF_FLOAT_OES
QOpenGLTexture::Float320x1406Äquivalent zu GL_FLOAT
QOpenGLTexture::UInt32_RGB9_E50x8C3EÄquivalent zu GL_UNSIGNED_INT_5_9_9_9_REV
QOpenGLTexture::UInt32_RG11B10F0x8C3BÄquivalent zu GL_UNSIGNED_INT_10F_11F_11F_REV
QOpenGLTexture::UInt8_RG3B20x8032Äquivalent zu GL_UNSIGNED_BYTE_3_3_2
QOpenGLTexture::UInt8_RG3B2_Rev0x8362Äquivalent zu GL_UNSIGNED_BYTE_2_3_3_REV
QOpenGLTexture::UInt16_RGB5A10x8034Äquivalent zu GL_UNSIGNED_SHORT_5_5_5_1
QOpenGLTexture::UInt16_RGB5A1_Rev0x8366Äquivalent zu GL_UNSIGNED_SHORT_1_5_5_5_REV
QOpenGLTexture::UInt16_R5G6B50x8363Äquivalent zu GL_UNSIGNED_SHORT_5_6_5
QOpenGLTexture::UInt16_R5G6B5_Rev0x8364Äquivalent zu GL_UNSIGNED_SHORT_5_6_5_REV
QOpenGLTexture::UInt16_RGBA40x8033Äquivalent zu GL_UNSIGNED_SHORT_4_4_4
QOpenGLTexture::UInt16_RGBA4_Rev0x8365Äquivalent zu GL_UNSIGNED_SHORT_4_4_4_REV
QOpenGLTexture::UInt32_RGBA80x8035Äquivalent zu GL_UNSIGNED_INT_8_8_8
QOpenGLTexture::UInt32_RGBA8_Rev0x8367Äquivalent zu GL_UNSIGNED_INT_8_8_8_REV
QOpenGLTexture::UInt32_RGB10A20x8036Äquivalent zu GL_UNSIGNED_INT_10_10_10_2
QOpenGLTexture::UInt32_RGB10A2_Rev0x8368Äquivalent zu GL_UNSIGNED_INT_2_10_10_10_REV
QOpenGLTexture::UInt32_D24S80x84FAÄquivalent zu GL_UNSIGNED_INT_24_8. Eingeführt in Qt 5.4
QOpenGLTexture::Float32_D32_UInt32_S8_X240x8DADÄquivalent zu GL_FLOAT_32_UNSIGNED_INT_24_8_REV. Eingeführt in Qt 5.4

enum QOpenGLTexture::SwizzleComponent

Diese Aufzählung definiert die Texturfarbkomponenten, denen eine Swizzle-Maske zugewiesen werden kann.

KonstanteWertBeschreibung
QOpenGLTexture::SwizzleRed0x8E42Die rote Komponente. Äquivalent zu GL_TEXTURE_SWIZZLE_R
QOpenGLTexture::SwizzleGreen0x8E43Die grüne Komponente. Äquivalent zu GL_TEXTURE_SWIZZLE_G
QOpenGLTexture::SwizzleBlue0x8E44Die blaue Komponente. Äquivalent zu GL_TEXTURE_SWIZZLE_B
QOpenGLTexture::SwizzleAlpha0x8E45Die Alphakomponente. Äquivalent zu GL_TEXTURE_SWIZZLE_A

enum QOpenGLTexture::SwizzleValue

Diese Aufzählung definiert die möglichen Maskenwerte für Texture Swizzling.

KonstanteWertBeschreibung
QOpenGLTexture::RedValue0x1903Ordnet die Komponente dem Rotkanal zu. Äquivalent zu GL_RED
QOpenGLTexture::GreenValue0x1904Ordnet die Komponente dem Grün-Kanal zu. Äquivalent zu GL_GREEN
QOpenGLTexture::BlueValue0x1905Überträgt die Komponente auf den Blaukanal. Äquivalent zu GL_BLUE
QOpenGLTexture::AlphaValue0x1906Überträgt die Komponente auf den Alphakanal. Äquivalent zu GL_ALPHA
QOpenGLTexture::ZeroValue0Stellt die Komponente auf einen festen Wert von 0 ein. Entspricht GL_ZERO
QOpenGLTexture::OneValue1Überträgt die Komponente auf einen festen Wert von 1. Entspricht GL_ONE

enum QOpenGLTexture::Target

Dieses Enum definiert das Texturziel eines QOpenGLTexture Objekts. Für weitere Informationen über die Erstellung von Array-Texturen, siehe Array-Textur.

KonstanteWertBeschreibung
QOpenGLTexture::Target1D0x0DE0Eine 1-dimensionale Textur. Äquivalent zu GL_TEXTURE_1D.
QOpenGLTexture::Target1DArray0x8C18Ein Array von 1-dimensionalen Texturen. Äquivalent zu GL_TEXTURE_1D_ARRAY
QOpenGLTexture::Target2D0x0DE1Eine 2-dimensionale Textur. Äquivalent zu GL_TEXTURE_2D
QOpenGLTexture::Target2DArray0x8C1AEin Array von 2-dimensionalen Texturen. Äquivalent zu GL_TEXTURE_2D_ARRAY
QOpenGLTexture::Target3D0x806FEine 3-dimensionale Textur. Äquivalent zu GL_TEXTURE_3D
QOpenGLTexture::TargetCubeMap0x8513Eine Cubemap-Textur. Äquivalent zu GL_TEXTURE_CUBE_MAP
QOpenGLTexture::TargetCubeMapArray0x9009Ein Array von Cubemap-Texturen. Äquivalent zu GL_TEXTURE_CUBE_MAP_ARRAY
QOpenGLTexture::Target2DMultisample0x9100Eine 2-dimensionale Textur mit Multisample-Unterstützung. Äquivalent zu GL_TEXTURE_2D_MULTISAMPLE
QOpenGLTexture::Target2DMultisampleArray0x9102Ein Array von 2-dimensionalen Texturen mit Multisample-Unterstützung. Äquivalent zu GL_TEXTURE_2D_MULTISAMPLE_ARRAY
QOpenGLTexture::TargetRectangle0x84F5Eine rechteckige 2-dimensionale Textur. Äquivalent zu GL_TEXTURE_RECTANGLE
QOpenGLTexture::TargetBuffer0x8C2AEine Textur mit Daten aus einem OpenGL-Pufferobjekt. Äquivalent zu GL_TEXTURE_BUFFER

enum QOpenGLTexture::TextureFormat

Diese Aufzählung definiert die möglichen Texturformate. Abhängig von Ihrer OpenGL-Implementierung wird möglicherweise nur eine Teilmenge davon unterstützt.

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

enum QOpenGLTexture::TextureUnitReset

Diese Aufzählung definiert Optionen zur Steuerung der Aktivierung der Textureinheit.

KonstanteWertBeschreibung
QOpenGLTexture::ResetTextureUnit0Die vorher aktive Textureinheit wird zurückgesetzt
QOpenGLTexture::DontResetTextureUnit1Die zuvor aktive Textureinheit wird nicht zurückgesetzt

enum QOpenGLTexture::WrapMode

Diese Aufzählung definiert die möglichen Texturkoordinaten-Wrapping-Modi.

KonstanteWertBeschreibung
QOpenGLTexture::Repeat0x2901Texturkoordinate wird wiederholt. Äquivalent zu GL_REPEAT
QOpenGLTexture::MirroredRepeat0x8370Texturkoordinate wird um 0 und 1 gespiegelt. Äquivalent zu GL_MIRRORED_REPEAT
QOpenGLTexture::ClampToEdge0x812FKlemmt die Texturkoordinaten auf [0,1]. Äquivalent zu GL_CLAMP_TO_EDGE
QOpenGLTexture::ClampToBorder0x812DWie ClampToEdge, überblendet aber zusätzlich die Muster bei 0 und 1 mit einer festen Randfarbe. Äquivalent zu GL_CLAMP_TO_BORDER

Dokumentation der Mitgliedsfunktionen

[explicit] QOpenGLTexture::QOpenGLTexture(QOpenGLTexture::Target target)

Erzeugt ein QOpenGLTexture-Objekt, das später an target gebunden werden kann.

Das zugrundeliegende OpenGL-Textur-Objekt wird dabei nicht erzeugt. Daher erfordert die Konstruktion mit diesem Konstruktor keinen gültigen aktuellen OpenGL-Kontext.

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

Erzeugt ein QOpenGLTexture-Objekt, das später an das 2D-Textur-Ziel gebunden werden kann und die in image enthaltenen Pixeldaten enthält. Wenn Sie eine Kette von Mipmaps generieren lassen möchten, setzen Sie genMipMaps auf true (dies ist die Voreinstellung).

Dadurch wird das zugrundeliegende OpenGL-Texturobjekt erstellt. Daher erfordert die Konstruktion mit diesem Konstruktor einen gültigen aktuellen OpenGL-Kontext.

Hinweis: image wird automatisch in QImage::Format_RGBA8888 umgewandelt, was bei großen Bildern mit einem anderen Format zu Leistungseinbußen führen kann.

void QOpenGLTexture::allocateStorage()

Weist serverseitigen Speicher für dieses Texturobjekt zu, wobei Format, Abmessungen, Mipmap-Ebenen, Array-Ebenen und Cubemap-Flächen berücksichtigt werden.

Sobald der Speicherplatz zugewiesen wurde, können diese Eigenschaften nicht mehr geändert werden.

Wenn QOpenGLTexture unterstützt wird, wird ein unveränderlicher Texturspeicher verwendet.

Sobald der Speicher für die Textur zugewiesen wurde, können die Pixeldaten über eine der Überladungen setData() hochgeladen werden.

Hinweis: Wenn kein unveränderlicher Texturspeicher verfügbar ist, werden ein Standard-Pixelformat und ein Pixel-Typ verwendet, um den veränderlichen Speicher zu erstellen. Sie können die andere allocateStorage()-Überladung verwenden, um genau das Pixelformat und den Pixeltyp zu spezifizieren, die bei der Zuweisung von veränderbarem Speicher verwendet werden sollen; dies ist besonders nützlich unter bestimmten OpenGL ES-Implementierungen (insbesondere OpenGL ES 2), wo das Pixelformat und der Pixeltyp, die zur Zuweisungszeit verwendet werden, perfekt mit dem Format und dem Typ übereinstimmen müssen, die an jeden nachfolgenden setData()-Aufruf übergeben werden.

Siehe auch isStorageAllocated() und setData().

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

Weist serverseitigen Speicher für dieses Texturobjekt zu, wobei Format, Abmessungen, Mipmap-Ebenen, Array-Ebenen und Cubemap-Flächen berücksichtigt werden.

Sobald der Speicherplatz zugewiesen wurde, können diese Eigenschaften nicht mehr geändert werden.

Wenn QOpenGLTexture unterstützt wird, wird unveränderlicher Texturspeicher verwendet. Wenn jedoch kein unveränderlicher Texturspeicher verfügbar ist, werden die angegebenen pixelFormat und pixelType verwendet, um veränderbaren Speicher zuzuweisen; beachten Sie, dass sie in bestimmten OpenGL-Implementierungen (insbesondere OpenGL ES 2) perfekt mit dem Format und dem Typ übereinstimmen müssen, die an jeden nachfolgenden setData()-Aufruf übergeben werden.

Sobald der Speicher für die Textur zugewiesen wurde, können die Pixeldaten über eine der setData()-Überladungen hochgeladen werden.

Siehe auch isStorageAllocated() und setData().

void QOpenGLTexture::bind()

Bindet diese Textur an die gerade aktive Textureinheit, die zum Rendern bereit ist. Beachten Sie, dass Sie keine QOpenGLTexture -Objekte binden müssen, um sie zu ändern, da die Implementierung die EXT_direct_state_access-Erweiterung nutzt, wo sie verfügbar ist, und sie simuliert, wo sie nicht verfügbar ist.

Siehe auch release().

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

Bindet diese Textur an die Textureinheit unit, die für das Rendering bereit ist. Beachten Sie, dass Sie keine QOpenGLTexture Objekte binden müssen, um sie zu ändern, da die Implementierung die EXT_direct_state_access-Erweiterung nutzt, wo sie verfügbar ist, und sie simuliert, wo sie nicht verfügbar ist.

Wenn der Parameter reset gleich true ist, setzt diese Funktion die aktive Einheit auf die Textureinheit zurück, die bei der Eingabe aktiv war.

Siehe auch release().

QColor QOpenGLTexture::borderColor() const

Gibt die borderColor dieser Textur zurück.

Siehe auch setBorderColor().

void QOpenGLTexture::borderColor(float *border) const

Schreibt die Randfarbe der Textur in die ersten vier Elemente des Arrays, auf das border zeigt.

Siehe auch setBorderColor().

void QOpenGLTexture::borderColor(int *border) const

Schreibt die Randfarbe der Textur in die ersten vier Elemente des Arrays, auf das border zeigt.

Dies ist eine überladene Funktion.

void QOpenGLTexture::borderColor(unsigned int *border) const

Schreibt die Randfarbe der Textur in die ersten vier Elemente des Arrays, auf das border zeigt.

Dies ist eine überladene Funktion.

[static] GLuint QOpenGLTexture::boundTextureId(QOpenGLTexture::BindingTarget target)

Gibt die textureId der Textur zurück, die an die target der derzeit aktiven Textureinheit gebunden ist.

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

Gibt die textureId der Textur zurück, die an die target der Textureinheit unit gebunden ist.

QOpenGLTexture::ComparisonFunction QOpenGLTexture::comparisonFunction() const

Gibt den Texturvergleichsoperator zurück, der für diese Textur festgelegt wurde. Standardmäßig hat eine Textur eine CompareLessEqual Vergleichsfunktion.

Siehe auch setComparisonFunction().

QOpenGLTexture::ComparisonMode QOpenGLTexture::comparisonMode() const

Gibt den für diese Textur eingestellten Vergleichsmodus zurück. Standardmäßig hat eine Textur den Vergleichsmodus CompareNone (d. h. Vergleiche sind deaktiviert).

Siehe auch setComparisonMode().

bool QOpenGLTexture::create()

Erzeugt das zugrunde liegende OpenGL-Texturobjekt. Dies erfordert einen aktuellen gültigen OpenGL-Kontext. Wenn das Texturobjekt bereits existiert, bewirkt diese Funktion nichts.

Sobald das Texturobjekt erstellt ist, können Sie den Objektnamen von der Funktion textureId() erhalten. Dies kann nützlich sein, wenn Sie einige rohe OpenGL-Aufrufe im Zusammenhang mit dieser Textur machen wollen.

Normalerweise sollte es nicht notwendig sein, diese Funktion direkt aufzurufen, da alle Funktionen, die Eigenschaften des Texturobjekts setzen, implizit create() in Ihrem Namen aufrufen.

Gibt true zurück, wenn die Erstellung erfolgreich war, andernfalls false.

Siehe auch destroy(), isCreated(), und textureId().

QOpenGLTexture *QOpenGLTexture::createTextureView(QOpenGLTexture::Target target, QOpenGLTexture::TextureFormat viewFormat, int minimumMipmapLevel, int maximumMipmapLevel, int minimumLayer, int maximumLayer) const

Versucht, eine Texturansicht auf diese Textur zu erstellen. Eine Texturansicht ist in gewisser Weise mit einer Ansicht in SQL vergleichbar, da sie eine eingeschränkte oder neu interpretierte Ansicht der Originaldaten darstellt. Texturansichten weisen keinen weiteren serverseitigen Speicherplatz zu, sondern greifen auf den Speicherpuffer der Ausgangstextur zurück.

Texturansichten sind nur verfügbar, wenn unveränderlicher Speicher verwendet wird. Für weitere Informationen über Texturansichten siehe http://www.opengl.org/wiki/Texture_Storage#Texture_views.

Das Argument target gibt das Ziel an, das für die Ansicht verwendet werden soll. Nur einige Ziele können verwendet werden, abhängig von dem Ziel des ursprünglichen Ziels. Zum Beispiel kann eine Ansicht auf eine Target1DArray Textur entweder Target1DArray oder Target1D spezifizieren, aber für letzteres muss die Anzahl der mit minimumLayer und maximumLayer spezifizierten Array-Ebenen genau 1 sein.

Ähnliche Einschränkungen gelten für viewFormat. Siehe den obigen Link und die Spezifikation für weitere Details.

Die Argumente minimumMipmapLevel, maximumMipmapLevel, minimumLayer und maximumLayer dienen dazu, die Teile der Textur einzuschränken, auf die die Texturansicht zugreifen kann.

Wenn die Erstellung der Texturansicht fehlschlägt, gibt diese Funktion 0 zurück. Wenn die Funktion erfolgreich ist, gibt sie einen Zeiger auf ein neues QOpenGLTexture Objekt zurück, das true von seiner isTextureView() Funktion zurückgibt.

Siehe auch isTextureView().

int QOpenGLTexture::depth() const

Gibt die Tiefe einer 3D-Textur zurück.

Siehe auch width(), height(), und setSize().

QOpenGLTexture::DepthStencilMode QOpenGLTexture::depthStencilMode() const

Gibt den Tiefenschablonenmodus für Texturen zurück, die ein kombiniertes Tiefen-/Schablonenformat verwenden.

Siehe auch setDepthStencilMode().

void QOpenGLTexture::destroy()

Zerstört das zugrunde liegende OpenGL-Texturobjekt. Dies erfordert einen aktuellen gültigen OpenGL-Kontext.

Siehe auch create(), isCreated(), und textureId().

int QOpenGLTexture::faces() const

Gibt die Anzahl der Flächen für diese Textur zurück. Bei Zielen vom Typ cubemap und cubemap array ist dies 6.

Für Ziele, die nicht vom Typ cubemap sind, wird 1 zurückgegeben.

QOpenGLTexture::TextureFormat QOpenGLTexture::format() const

Gibt das Format dieses Texturobjekts zurück.

Siehe auch setFormat().

void QOpenGLTexture::generateMipMaps()

Erzeugt Mipmaps für dieses Texturobjekt ab Mipmap-Ebene 0. Wenn Sie ein Texturziel und eine Filteroption verwenden, die Mipmaps erfordern, und Sie die automatische Mipmap-Generierung deaktiviert haben, müssen Sie diese Funktion oder die Überladung aufrufen, um die Mipmap-Kette zu erstellen.

Hinweis: Die Mipmap-Generierung wird für komprimierte Texturen mit OpenGL ES nicht unterstützt.

Siehe auch setAutoMipMapGenerationEnabled(), setMipLevels(), und mipLevels().

void QOpenGLTexture::generateMipMaps(int baseLevel, bool resetBaseLevel = true)

Erzeugt Mipmaps für dieses Texturobjekt aus der Mipmap-Ebene baseLevel. Wenn Sie ein Texturziel und eine Filteroption verwenden, die Mipmaps erfordern, und Sie die automatische Mipmap-Generierung deaktiviert haben, müssen Sie diese Funktion oder die Überladung aufrufen, um die Mipmap-Kette zu erstellen.

Die Erzeugung von Mipmaps oberhalb von baseLevel wird erreicht, indem die Mipmap-Basisebene auf baseLevel gesetzt und dann die Mipmap-Kette erzeugt wird. Wenn resetBaseLevel gleich true ist, wird der BaseLevel der Textur auf seinen vorherigen Wert zurückgesetzt.

Siehe auch setAutoMipMapGenerationEnabled(), setMipLevels(), und mipLevels().

[static] bool QOpenGLTexture::hasFeature(QOpenGLTexture::Feature feature)

Gibt true zurück, wenn Ihre OpenGL-Implementierung und Version die Texturfunktion feature unterstützt.

int QOpenGLTexture::height() const

Gibt die Höhe einer 2D- oder 3D-Textur zurück.

Siehe auch width(), depth(), und setSize().

bool QOpenGLTexture::isAutoMipMapGenerationEnabled() const

Gibt zurück, ob die automatische Erzeugung von Mipmaps für dieses Texturobjekt aktiviert ist.

Siehe auch setAutoMipMapGenerationEnabled() und generateMipMaps().

bool QOpenGLTexture::isBound() const

Gibt true zurück, wenn diese Textur an das entsprechende Ziel der derzeit aktiven Textureinheit gebunden ist.

Siehe auch bind() und release().

bool QOpenGLTexture::isBound(uint unit)

Gibt true zurück, wenn diese Textur an das entsprechende Ziel der Textureinheit unit gebunden ist.

Siehe auch bind() und release().

bool QOpenGLTexture::isCreated() const

Gibt true zurück, wenn das zugrunde liegende OpenGL-Texturobjekt erstellt wurde.

Siehe auch create(), destroy(), und textureId().

bool QOpenGLTexture::isFixedSamplePositions() const

Gibt zurück, ob diese Textur ein festes Muster von Multisample-Samples verwendet. Wenn für diese Textur noch kein Speicherplatz zugewiesen wurde, gibt diese Funktion die angeforderte Einstellung für die feste Sampleposition zurück.

Bei Texturzielen, die kein Multisampling unterstützen, gibt diese Funktion true zurück.

Siehe auch setFixedSamplePositions() und isStorageAllocated().

bool QOpenGLTexture::isStorageAllocated() const

Gibt true zurück, wenn der serverseitige Speicher für diese Textur zugewiesen wurde.

Das Texturformat, die Abmessungen, die Mipmap-Ebenen und die Array-Ebenen können nicht mehr geändert werden, sobald der Speicherplatz zugewiesen wurde.

Siehe auch allocateStorage(), setSize(), setMipLevels(), setLayers(), und setFormat().

bool QOpenGLTexture::isTextureView() const

Gibt true zurück, wenn dieses Texturobjekt tatsächlich eine Ansicht auf ein anderes Texturobjekt ist.

Siehe auch createTextureView().

int QOpenGLTexture::layers() const

Gibt die Anzahl der Array-Ebenen für diese Textur zurück. Wenn für diese Textur noch kein Speicherplatz zugewiesen wurde, gibt diese Funktion die angeforderte Anzahl von Array-Layern zurück.

Für Texturziele, die keine Array-Layer unterstützen, wird 1 zurückgegeben.

Siehe auch setLayers() und isStorageAllocated().

QPair<float, float> QOpenGLTexture::levelOfDetailRange() const

Liefert den minimalen und maximalen Detaillierungsgrad der Parameter.

Siehe auch setLevelOfDetailRange(), minimumLevelOfDetail(), und maximumLevelOfDetail().

float QOpenGLTexture::levelofDetailBias() const

Gibt den Bias-Parameter für die Detailgenauigkeit zurück.

Siehe auch setLevelofDetailBias().

QOpenGLTexture::Filter QOpenGLTexture::magnificationFilter() const

Gibt den Vergrößerungsfilter zurück.

Siehe auch setMagnificationFilter().

float QOpenGLTexture::maximumAnisotropy() const

Gibt den maximalen Grad der Anisotropie zurück, der bei der Durchführung von Textur-Lookups zu berücksichtigen ist. Dies erfordert die Erweiterung GL_EXT_texture_filter_anisotropic.

Siehe auch setMaximumAnisotropy().

float QOpenGLTexture::maximumLevelOfDetail() const

Gibt den Parameter für die maximale Detailebene zurück.

Siehe auch setMaximumLevelOfDetail(), minimumLevelOfDetail(), und levelOfDetailRange().

int QOpenGLTexture::maximumMipLevels() const

Gibt die maximale Anzahl von Mipmap-Ebenen zurück, die diese Textur bei den aktuellen Abmessungen haben kann.

Siehe auch setMipLevels(), mipLevels(), und setSize().

QPair<QOpenGLTexture::Filter, QOpenGLTexture::Filter> QOpenGLTexture::minMagFilters() const

Gibt die aktuellen Verkleinerungs- und Vergrößerungsfilter zurück.

Siehe auch setMinMagFilters().

QOpenGLTexture::Filter QOpenGLTexture::minificationFilter() const

Gibt den Minifizierungsfilter zurück.

Siehe auch setMinificationFilter().

float QOpenGLTexture::minimumLevelOfDetail() const

Gibt den Parameter für die kleinste Detailstufe zurück.

Siehe auch setMinimumLevelOfDetail(), maximumLevelOfDetail(), und levelOfDetailRange().

int QOpenGLTexture::mipBaseLevel() const

Gibt die Mipmap-Basisebene zurück, die für alle Textur-Lookups mit dieser Textur verwendet wird. Die Vorgabe ist 0.

Siehe auch setMipBaseLevel(), mipMaxLevel(), und mipLevelRange().

QPair<int, int> QOpenGLTexture::mipLevelRange() const

Gibt den Bereich der Mipmap-Ebenen zurück, der für Textur-Lookups mit dieser Textur verwendet werden kann.

Siehe auch setMipLevelRange(), mipBaseLevel(), und mipMaxLevel().

int QOpenGLTexture::mipLevels() const

Gibt die Anzahl der Mipmap-Ebenen für diese Textur zurück. Wenn für diese Textur noch kein Speicherplatz zugewiesen wurde, wird die angeforderte Anzahl der Mipmap-Ebenen zurückgegeben.

Siehe auch setMipLevels(), maximumMipLevels(), und isStorageAllocated().

int QOpenGLTexture::mipMaxLevel() const

Gibt den maximalen Mipmap-Level zurück, der für alle Textur-Lookups mit dieser Textur verwendet wird.

Siehe auch setMipMaxLevel(), mipBaseLevel(), und mipLevelRange().

void QOpenGLTexture::release()

Bindet diese Textur von der derzeit aktiven Textureinheit ab.

Siehe auch bind().

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

Bindet diese Textur von der Textureinheit unit ab.

Wenn der Parameter reset true ist, dann stellt diese Funktion die aktive Einheit auf die Textureinheit zurück, die bei der Eingabe aktiv war.

int QOpenGLTexture::samples() const

Gibt die Anzahl der Multisample-Samplepunkte für diese Textur zurück. Wenn für diese Textur noch kein Speicherplatz zugewiesen wurde, gibt diese Funktion die angeforderte Anzahl von Samples zurück.

Bei Texturzielen, die kein Multisampling unterstützen, gibt diese Funktion 0 zurück.

Siehe auch setSamples() und isStorageAllocated().

void QOpenGLTexture::setAutoMipMapGenerationEnabled(bool enabled)

Wenn enabled gleich true ist, wird die automatische Mipmap-Generierung für dieses Texturobjekt aktiviert, sobald die Mipmap-Daten der Ebene 0 über setData() gesetzt werden.

Die automatische Mipmap-Generierung ist standardmäßig aktiviert.

Hinweis: Die Mipmap-Generierung wird für komprimierte Texturen mit OpenGL ES 2.0 nicht unterstützt.

Siehe auch isAutoMipMapGenerationEnabled() und generateMipMaps().

void QOpenGLTexture::setBorderColor(const QColor &color)

Setzt die Randfarbe der Textur auf color.

Hinweis: Diese Funktion hat keinen Effekt auf Mac und Qt, das für OpenGL ES 2 entwickelt wurde.

Siehe auch borderColor().

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

Setzt die Farbe Rot auf r, Grün auf g, Blau auf b und a auf den Alpha-Wert.

Dies ist eine überladene Funktion.

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

Setzt die Farbe Rot auf r, Grün auf g, Blau auf b, und den Alphawert auf a.

Dies ist eine überladene Funktion.

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

Setzt die Farbe Rot auf r, Grün auf g, Blau auf b, und den Alphawert auf a.

Dies ist eine überladene Funktion.

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

Setzt die Texturvergleichsfunktion für diese Textur auf function. Die Texturvergleichsfunktion wird von Schattensamplern beim Sampling einer Tiefentextur verwendet.

Siehe auch comparisonFunction().

void QOpenGLTexture::setComparisonMode(QOpenGLTexture::ComparisonMode mode)

Setzt den Texturvergleichsmodus für diese Textur auf mode. Der Texturvergleichsmodus wird von Schattensamplern verwendet, wenn eine Tiefentextur gesampelt wird.

Siehe auch comparisonMode().

void QOpenGLTexture::setCompressedData(int mipLevel, int layer, QOpenGLTexture::CubeMapFace cubeFace, int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)

Lädt komprimierte Pixel data auf mipLevel, array layer und cubeFace hoch. Die Übertragung der Pixel kann optional mit options gesteuert werden. Das Argument dataSize sollte die Größe der Daten angeben, auf die data verweist.

Wenn Sie kein komprimiertes format() verwenden, sollten Sie setData() anstelle dieser Funktion benutzen.

void QOpenGLTexture::setCompressedData(int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)

Dies ist eine überladene Funktion.

void QOpenGLTexture::setCompressedData(int mipLevel, int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)

Dies ist eine überladene Funktion.

void QOpenGLTexture::setCompressedData(int mipLevel, int layer, int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)

Dies ist eine überladene Funktion.

void QOpenGLTexture::setCompressedData(int mipLevel, int layer, int layerCount, QOpenGLTexture::CubeMapFace cubeFace, int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)

Dies ist eine überladene Funktion.

Parameter layerCount ist die Anzahl der Ebenen in einem Textur-Array, die durch diesen Aufruf hochgeladen/aufgefüllt werden.

void QOpenGLTexture::setData(int mipLevel, int layer, QOpenGLTexture::CubeMapFace cubeFace, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)

Lädt Pixel data für dieses Texturobjekt mipLevel, Array layer und cubeFace hoch. Vor dem Hochladen von Pixeldaten muss Speicher zugewiesen worden sein. Einige Überladungen von setData() setzen die entsprechenden Dimensionen, Mipmap-Ebenen und Array-Ebenen und weisen Ihnen dann Speicherplatz zu, wenn sie über genügend Informationen verfügen, um dies zu tun. Dies wird in der Funktionsdokumentation vermerkt.

Die Struktur der Pixeldaten, auf die data verweist, wird durch sourceFormat und sourceType festgelegt. Der Upload der Pixeldaten kann optional durch options gesteuert werden.

Wenn Sie eine komprimierte format() verwenden, sollten Sie setCompressedData() anstelle dieser Funktion benutzen.

Siehe auch setCompressedData().

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

Diese Überladung von setData() wird Ihnen Speicherplatz zuweisen. Die Pixeldaten sind in image enthalten. Mipmaps werden standardmäßig erzeugt. Setzen Sie genMipMaps auf DontGenerateMipMaps, um die Mipmap-Generierung zu deaktivieren.

Hinweis: image wird automatisch in QImage::Format_RGBA8888 umgewandelt, was bei großen Bildern mit einem anderen Format zu Leistungseinbußen führen kann.

Dies ist eine überladene Funktion.

void QOpenGLTexture::setData(QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)

Dies ist eine überladene Funktion.

void QOpenGLTexture::setData(int mipLevel, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)

Dies ist eine überladene Funktion.

void QOpenGLTexture::setData(int mipLevel, int layer, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)

Dies ist eine überladene Funktion.

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)

Dies ist eine überladene Funktion.

Parameter layerCount ist die Anzahl der Ebenen in einem Textur-Array, die durch diesen Aufruf hochgeladen/aufgefüllt werden.

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)

Dies ist eine überladene Funktion.

Diese Überladung wird verwendet, um einen Teil der Textur zu aktualisieren. Die Parameter xOffset, yOffset, zOffset geben die Texel-Offsets innerhalb der Textur an. Die Parameter width, height und depth geben die Dimensionen des Teilbildes an.

Die Struktur der Pixeldaten, auf die data verweist, wird durch sourceFormat und sourceType festgelegt. Der Upload der Pixeldaten kann optional durch options gesteuert werden.

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)

Dies ist eine überladene Funktion.

Diese Überladung wird verwendet, um einen Teil der Textur zu aktualisieren. Die Parameter xOffset, yOffset, zOffset geben die Texel-Offsets innerhalb der Textur an. Die Parameter width, height und depth geben die Abmessungen des Teilbildes an. Die Mip-Map-Ebene des Teilbildes, das aktualisiert werden soll, wird mit mipLevel angegeben.

Die Struktur der Pixeldaten, auf die data verweist, wird durch sourceFormat und sourceType festgelegt. Der Upload der Pixeldaten kann optional über options gesteuert werden.

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)

Dies ist eine überladene Funktion.

Diese Überladung wird verwendet, um einen Teil der Textur zu aktualisieren. Die Parameter xOffset, yOffset, zOffset geben die Texel-Offsets innerhalb der Textur an. Die Parameter width, height und depth geben die Abmessungen des Teilbildes an. Die Mip-Map-Ebene und die Ebene des Teilbildes, das aktualisiert werden soll, werden mit mipLevel und layer angegeben.

Die Struktur der Pixeldaten, auf die data verweist, wird durch sourceFormat und sourceType festgelegt. Der Upload der Pixeldaten kann optional über options gesteuert werden.

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)

Dies ist eine überladene Funktion.

Diese Überladung wird verwendet, um einen Teil der Textur zu aktualisieren. Die Parameter xOffset, yOffset, zOffset geben die Texel-Offsets innerhalb der Textur an. Die Parameter width, height und depth geben die Dimensionen des Teilbildes an. mipLevel, layer und face spezifizieren die Mip-Map-Ebene, den Layer und die Cube-Map-Fläche des Teilbildes, das aktualisiert werden soll.

Die Struktur der Pixeldaten, auf die data verweist, wird durch sourceFormat und sourceType festgelegt. Der Upload der Pixeldaten kann optional über options gesteuert werden.

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)

Dies ist eine überladene Funktion.

Diese Überladung wird verwendet, um einen Teil der Textur zu aktualisieren. Die Parameter xOffset, yOffset, zOffset geben die Texel-Offsets innerhalb der Textur an. Die Parameter width, height und depth geben die Dimensionen des Teilbildes an. mipLevel, layer, face und layerCount spezifizieren die Mip-Map-Ebene, die Startebene, die Cube-Map-Fläche und die Anzahl der Ebenen des Teilbildes, das aktualisiert werden soll.

Die Struktur der Pixeldaten, auf die data verweist, wird durch sourceFormat und sourceType festgelegt. Der Upload der Pixeldaten kann optional über options gesteuert werden.

void QOpenGLTexture::setDepthStencilMode(QOpenGLTexture::DepthStencilMode mode)

Wenn Sie eine Textur mit einem kombinierten Tiefen-/Schablonenformat verwenden, legt diese Funktion fest, welche Komponente der Textur auf mode zugegriffen wird.

Wenn der Parameter auf DepthMode gesetzt ist, erfolgt der Zugriff vom Shader auf die Tiefenkomponente wie üblich als einzelne Gleitkommazahl. Wenn der Parameter jedoch auf StencilMode gesetzt ist, greift der Shader auf die Stencil-Komponente zu.

Hinweis: Diese Funktion hat keinen Effekt auf Mac und Qt, das für OpenGL ES 2 entwickelt wurde.

Siehe auch depthStencilMode().

void QOpenGLTexture::setFixedSamplePositions(bool fixed)

Legt fest, ob die Sample-Positionen und die Anzahl der Samples, die mit einem Multisample-fähigen Textur-Ziel verwendet werden, auf fixed gesetzt werden. Wenn auf true gesetzt, sind die Sample-Positionen und die Anzahl der verwendeten Samples für alle Texel im Bild gleich und hängen nicht von der Bildgröße oder dem internen Format ab. Diese Funktion sollte aufgerufen werden, bevor Speicherplatz für die Textur zugewiesen wird.

Bei Zielen, die kein Multisampling unterstützen, hat diese Funktion keine Wirkung.

Der Standardwert ist true.

Siehe auch isFixedSamplePositions() und isStorageAllocated().

void QOpenGLTexture::setFormat(QOpenGLTexture::TextureFormat format)

Setzt das Format dieses Texturobjekts auf format. Diese Funktion muss aufgerufen werden, bevor Texturspeicher zugewiesen wird.

Beachten Sie, dass möglicherweise nicht alle Formate unterstützt werden. Die genaue Menge der unterstützten Formate hängt von Ihrer OpenGL-Implementierung und -Version ab.

Siehe auch format() und allocateStorage().

void QOpenGLTexture::setLayers(int layers)

Legt die Anzahl der Arrays layers fest, für die Speicherplatz zugewiesen werden soll. Diese Funktion sollte aufgerufen werden, bevor Speicher für die Textur zugewiesen wird.

Für Ziele, die keine Array-Ebenen unterstützen, hat diese Funktion keine Wirkung.

Siehe auch layers() und isStorageAllocated().

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

Setzt die Parameter für die minimale Detailstufe auf min und die maximale Stufe auf max.

Hinweis: Diese Funktion hat keine Auswirkungen auf Qt, das für OpenGL ES 2 entwickelt wurde.

Siehe auch levelOfDetailRange(), setMinimumLevelOfDetail(), und setMaximumLevelOfDetail().

void QOpenGLTexture::setLevelofDetailBias(float bias)

Setzt die Detailgenauigkeit auf bias. Die Detailgenauigkeit beeinflusst den Punkt, an dem sich die Mapping-Ebenen ändern. Wenn Sie die Werte für die Detailgenauigkeit erhöhen, werden die Bilder insgesamt unschärfer oder weicher. Verringern Sie die Werte, werden die Bilder insgesamt schärfer.

Hinweis: Diese Funktion hat keinen Effekt auf Qt, das für OpenGL ES 2 entwickelt wurde.

Siehe auch levelofDetailBias().

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

Setzt den Vergrößerungsfilter auf filter.

Siehe auch magnificationFilter(), setMinificationFilter(), und setMinMagFilters().

void QOpenGLTexture::setMaximumAnisotropy(float anisotropy)

Wenn Ihre OpenGL-Implementierung die Erweiterung GL_EXT_texture_filter_anisotropic unterstützt, setzt diese Funktion den maximalen Anisotropiegrad auf anisotropy.

Siehe auch maximumAnisotropy().

void QOpenGLTexture::setMaximumLevelOfDetail(float value)

Legt den maximalen Detailgrad auf value fest. Dies begrenzt die Auswahl der Mipmap mit der niedrigsten Auflösung (höchster Mipmap-Level). Der Standardwert ist 1000.

Hinweis: Diese Funktion hat keinen Effekt auf Qt, das für OpenGL ES 2 entwickelt wurde.

Siehe auch maximumLevelOfDetail(), setMinimumLevelOfDetail(), und setLevelOfDetailRange().

void QOpenGLTexture::setMinMagFilters(QOpenGLTexture::Filter minificationFilter, QOpenGLTexture::Filter magnificationFilter)

Setzt den Verkleinerungsfilter auf minificationFilter und den Vergrößerungsfilter auf magnificationFilter.

Siehe auch minMagFilters(), setMinificationFilter(), und setMagnificationFilter().

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

Setzt den für die Minifizierung verwendeten Filter auf filter.

Siehe auch minificationFilter(), setMagnificationFilter(), und setMinMagFilters().

void QOpenGLTexture::setMinimumLevelOfDetail(float value)

Setzt die minimale Detailebene auf value. Dies begrenzt die Auswahl der Mipmap mit der höchsten Auflösung (niedrigste Mipmap-Ebene). Der Standardwert ist -1000.

Hinweis: Diese Funktion hat keine Auswirkungen auf Qt, das für OpenGL ES 2 entwickelt wurde.

Siehe auch minimumLevelOfDetail(), setMaximumLevelOfDetail(), und setLevelOfDetailRange().

void QOpenGLTexture::setMipBaseLevel(int baseLevel)

Setzt die Basis-Mipmap-Ebene, die für alle Textur-Lookups mit dieser Textur verwendet wird, auf baseLevel.

Hinweis: Diese Funktion hat keine Auswirkungen auf Qt, das für OpenGL ES 2 entwickelt wurde.

Siehe auch mipBaseLevel(), setMipMaxLevel(), und setMipLevelRange().

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

Setzt den Bereich der Mipmap-Ebenen, die für Textur-Lookups mit dieser Textur verwendet werden können, auf einen Bereich von baseLevel bis maxLevel.

Hinweis: Diese Funktion hat keine Auswirkungen auf Qt, das für OpenGL ES 2 entwickelt wurde.

Siehe auch setMipBaseLevel(), setMipMaxLevel(), und mipLevelRange().

void QOpenGLTexture::setMipLevels(int levels)

Für Textur-Ziele, die Mipmaps unterstützen, setzt diese Funktion die angeforderte Anzahl von Mipmaps levels, für die Speicher zugewiesen werden soll. Diese Funktion sollte aufgerufen werden, bevor Speicher für die Textur zugewiesen wird.

Wenn das Texturziel keine Mipmaps unterstützt, hat diese Funktion keine Wirkung.

Siehe auch mipLevels(), maximumMipLevels(), und isStorageAllocated().

void QOpenGLTexture::setMipMaxLevel(int maxLevel)

Setzt den maximalen Mipmap-Level, der für alle Textur-Lookups mit dieser Textur verwendet wird, auf maxLevel.

Hinweis: Diese Funktion hat keine Auswirkungen auf Qt, das für OpenGL ES 2 entwickelt wurde.

Siehe auch mipMaxLevel(), setMipBaseLevel(), und setMipLevelRange().

void QOpenGLTexture::setSamples(int samples)

Legt die Anzahl der samples fest, für die beim Rendern auf ein Multisample-fähiges Texturziel Speicherplatz zugewiesen werden soll. Diese Funktion sollte aufgerufen werden, bevor Speicherplatz für die Textur zugewiesen wird.

Für Ziele, die kein Multisampling unterstützen, hat diese Funktion keine Wirkung.

Siehe auch samples() und isStorageAllocated().

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

Setzt die Abmessungen dieses Texturobjekts auf width, height und depth. Der Standardwert für jede Dimension ist 1. Die maximal zulässige Texturgröße ist abhängig von Ihrer OpenGL-Implementierung. Die Zuweisung von Speicherplatz für eine Textur, die kleiner als die maximale Größe ist, kann immer noch fehlschlagen, wenn Ihr System über wenig Ressourcen verfügt.

Wenn eine Nicht-Power-of-Two-Textur width, height oder depth bereitgestellt wird und Ihre OpenGL-Implementierung keine Unterstützung für die Wiederholung von Nicht-Power-of-Two-Texturen hat, dann wird der Wrap-Modus automatisch auf ClampToEdge gesetzt.

Siehe auch width(), height(), und depth().

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

GLSL-Shader sind in der Lage, die Komponenten des von Texturfunktionen zurückgegebenen vec4 neu zu ordnen. Es ist auch wünschenswert, diese Neuordnung von CPU-seitigem Code aus steuern zu können. Dies wird seit OpenGL 3.3 durch Swizzle-Masken ermöglicht.

Jede Komponente der Textur kann auf eine der SwizzleValue Optionen abgebildet werden.

Diese Funktion ordnet component der Ausgabe value zu.

Hinweis: Diese Funktion hat keinen Effekt auf Mac und Qt, das für OpenGL ES 2 entwickelt wurde.

Siehe auch swizzleMask().

void QOpenGLTexture::setSwizzleMask(QOpenGLTexture::SwizzleValue r, QOpenGLTexture::SwizzleValue g, QOpenGLTexture::SwizzleValue b, QOpenGLTexture::SwizzleValue a)

Die Parameter r, g, b und a sind Werte, die für die Einstellung der Farben Rot, Grün, Blau und des Alphawertes verwendet werden.

Dies ist eine überladene Funktion.

void QOpenGLTexture::setWrapMode(QOpenGLTexture::WrapMode mode)

Setzt den Umbruch (oder Wiederholungsmodus) für alle Texturabmessungen auf mode.

Siehe auch wrapMode().

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

Enthält die Texturabmessungen direction.

Dies ist eine überladene Funktion.

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

Gibt die Swizzle-Maske für die Textur component zurück.

Siehe auch setSwizzleMask().

QOpenGLTexture::Target QOpenGLTexture::target() const

Gibt das Bindungsziel dieser Textur zurück.

GLuint QOpenGLTexture::textureId() const

Gibt den Namen des zugrunde liegenden OpenGL-Texturobjekts zurück oder 0, wenn es noch nicht erstellt wurde.

Siehe auch create(), destroy(), und isCreated().

int QOpenGLTexture::width() const

Gibt die Breite einer 1D-, 2D- oder 3D-Textur zurück.

Siehe auch height(), depth(), und setSize().

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

Gibt den Umbruchmodus für die Texturabmessung direction zurück.

Siehe auch setWrapMode().

© 2025 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.