QOpenGLTexture Class
Die Klasse „QOpenGLTexture“ kapselt ein OpenGL-Texturobjekt. 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 |
| 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 |
Statische öffentliche Mitglieder
| GLuint | boundTextureId(QOpenGLTexture::BindingTarget target) |
| GLuint | boundTextureId(uint unit, QOpenGLTexture::BindingTarget target) |
| bool | hasFeature(QOpenGLTexture::Feature feature) |
Ausführliche Beschreibung
QOpenGLTexture erleichtert die Arbeit mit OpenGL-Texturen und den unzähligen Funktionen und Zielen, die diese je nach den Möglichkeiten Ihrer OpenGL-Implementierung bieten.
Das typische Verwendungsmuster für QOpenGLTexture lautet
- Instanziieren Sie das Objekt unter Angabe des Texturzieltyps
- Legen Sie Eigenschaften fest, die die Speicheranforderungen beeinflussen, z. B. Speicherformat und Abmessungen
- Weisen Sie den serverseitigen Speicher zu
- Optional: Hochladen der Pixeldaten
- Optional weitere Eigenschaften festlegen, z. B. Filter- und Randoptionen
- Mit Textur rendern oder in eine Textur rendern
Im typischen Fall, in dem einfach ein „ QImage “ als Quelle für die Textur-Pixeldaten verwendet wird, werden die meisten der oben genannten Schritte automatisch ausgeführt.
// Prepare texture
QOpenGLTexture *texture = new QOpenGLTexture(QImage(fileName).flipped());
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 weitere Möglichkeit wäre, Ihre Texturkoordinaten zu transformieren.
Warnung: Es wird davon ausgegangen, dassalle von QOpenGLTexture verarbeiteten Daten vertrauenswürdig sind. Pixel- und Bilddaten werden an die zugrunde liegende OpenGL-Implementierung weitergeleitet. Anwendungsentwicklern wird empfohlen, die möglichen Auswirkungen sorgfältig abzuwägen, bevor sie vom Benutzer bereitgestellte Inhalte an Funktionen wie setData() übergeben.
Dokumentation zum Mitgliedstyp
enum QOpenGLTexture::BindingTarget
Diese Enumeration definiert die möglichen Bindungsziele von Textureinheiten.
| Konstante | Wert | Beschreibung |
|---|---|---|
QOpenGLTexture::BindingTarget1D | 0x8068 | Entspricht GL_TEXTURE_BINDING_1D |
QOpenGLTexture::BindingTarget1DArray | 0x8C1C | Entspricht GL_TEXTURE_BINDING_1D_ARRAY |
QOpenGLTexture::BindingTarget2D | 0x8069 | Entspricht GL_TEXTURE_BINDING_2D |
QOpenGLTexture::BindingTarget2DArray | 0x8C1D | Entspricht GL_TEXTURE_BINDING_2D_ARRAY |
QOpenGLTexture::BindingTarget3D | 0x806A | Entspricht GL_TEXTURE_BINDING_3D |
QOpenGLTexture::BindingTargetCubeMap | 0x8514 | Entspricht GL_TEXTURE_BINDING_CUBE_MAP |
QOpenGLTexture::BindingTargetCubeMapArray | 0x900A | Entspricht GL_TEXTURE_BINDING_CUBE_MAP_ARRAY |
QOpenGLTexture::BindingTarget2DMultisample | 0x9104 | Entspricht GL_TEXTURE_BINDING_2D_MULTISAMPLE |
QOpenGLTexture::BindingTarget2DMultisampleArray | 0x9105 | Entspricht GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY |
QOpenGLTexture::BindingTargetRectangle | 0x84F6 | Entspricht GL_TEXTURE_BINDING_RECTANGLE |
QOpenGLTexture::BindingTargetBuffer | 0x8C2C | Entspricht GL_TEXTURE_BINDING_BUFFER |
enum QOpenGLTexture::ComparisonFunction
Diese Enumeration legt fest, welcher Vergleichsoperator verwendet wird, wenn der Texturvergleich für diese Textur aktiviert ist.
| Konstante | Wert | Beschreibung |
|---|---|---|
QOpenGLTexture::CompareLessEqual | 0x0203 | Entspricht GL_LEQUAL. |
QOpenGLTexture::CompareGreaterEqual | 0x0206 | Entspricht GL_GEQUAL. |
QOpenGLTexture::CompareLess | 0x0201 | Entspricht GL_LESS. |
QOpenGLTexture::CompareGreater | 0x0204 | Entspricht GL_GREATER. |
QOpenGLTexture::CompareEqual | 0x0202 | Entspricht GL_EQUAL. |
QOpenGLTexture::CompareNotEqual | 0x0205 | Entspricht GL_NOTEQUAL. |
QOpenGLTexture::CompareAlways | 0x0207 | Entspricht GL_ALWAYS. |
QOpenGLTexture::CompareNever | 0x0200 | Entspricht GL_NEVER. |
enum QOpenGLTexture::ComparisonMode
Diese Enumeration legt fest, welcher Vergleichsmodus beim Abtasten dieser Textur verwendet wird.
| Konstante | Wert | Beschreibung |
|---|---|---|
QOpenGLTexture::CompareRefToTexture | 0x884E | Entspricht GL_COMPARE_REF_TO_TEXTURE. |
QOpenGLTexture::CompareNone | 0x0000 | Entspricht GL_NONE. |
enum QOpenGLTexture::CoordinateDirection
Diese Enumeration definiert die möglichen Richtungen der Texturkoordinaten
| Konstante | Wert | Beschreibung |
|---|---|---|
QOpenGLTexture::DirectionS | 0x2802 | Die horizontale Richtung. Entspricht GL_TEXTURE_WRAP_S |
QOpenGLTexture::DirectionT | 0x2803 | Die vertikale Richtung. Entspricht GL_TEXTURE_WRAP_T |
QOpenGLTexture::DirectionR | 0x8072 | Die Tiefenrichtung. Entspricht GL_TEXTURE_WRAP_R |
enum QOpenGLTexture::CubeMapFace
Diese Enumeration definiert die möglichen CubeMap-Flächen.
| Konstante | Wert | Beschreibung |
|---|---|---|
QOpenGLTexture::CubeMapPositiveX | 0x8515 | Entspricht GL_TEXTURE_CUBE_MAP_POSITIVE_X |
QOpenGLTexture::CubeMapNegativeX | 0x8516 | Entspricht GL_TEXTURE_CUBE_MAP_NEGATIVE_X |
QOpenGLTexture::CubeMapPositiveY | 0x8517 | Entspricht GL_TEXTURE_CUBE_MAP_POSITIVE_Y |
QOpenGLTexture::CubeMapNegativeY | 0x8518 | Entspricht GL_TEXTURE_CUBE_MAP_NEGATIVE_Y |
QOpenGLTexture::CubeMapPositiveZ | 0x8519 | Entspricht GL_TEXTURE_CUBE_MAP_POSITIVE_Z |
QOpenGLTexture::CubeMapNegativeZ | 0x851A | Entspricht GL_TEXTURE_CUBE_MAP_NEGATIVE_Z |
enum QOpenGLTexture::DepthStencilMode
Diese Enumeration legt fest, auf welchen Bestandteil einer Tiefen-/Stencil-Textur beim Abtasten der Textur zugegriffen wird.
| Konstante | Wert | Beschreibung |
|---|---|---|
QOpenGLTexture::DepthMode | 0x1902 | Entspricht GL_DEPTH_COMPONENT. |
QOpenGLTexture::StencilMode | 0x1901 | Entspricht GL_STENCIL_INDEX. |
enum QOpenGLTexture::Feature
flags QOpenGLTexture::Features
Diese Enumeration definiert die OpenGL-Funktionen im Zusammenhang mit Texturen, auf deren Vorhandensein geprüft werden kann.
| Konstante | Wert | Beschreibung |
|---|---|---|
QOpenGLTexture::ImmutableStorage | 0x00000001 | Unterstützung für unveränderlichen Texturspeicher |
QOpenGLTexture::ImmutableMultisampleStorage | 0x00000002 | Unterstützung für unveränderlichen Texturspeicher mit Multisample-Zielen |
QOpenGLTexture::TextureRectangle | 0x00000004 | Unterstützung für das GL_TEXTURE_RECTANGLE-Ziel |
QOpenGLTexture::TextureArrays | 0x00000008 | Unterstützung für Texturziele mit Array-Ebenen |
QOpenGLTexture::Texture3D | 0x00000010 | Unterstützung für das dreidimensionale Texturziel |
QOpenGLTexture::TextureMultisample | 0x00000020 | Unterstützung für Texturziele mit Multisample-Fähigkeiten |
QOpenGLTexture::TextureBuffer | 0x00000040 | Unterstützung für Texturen, die OpenGL-Pufferobjekte als Datenquelle verwenden |
QOpenGLTexture::TextureCubeMapArrays | 0x00000080 | Unterstützung für Cubemap-Array-Texturziele |
QOpenGLTexture::Swizzle | 0x00000100 | Unterstützung für Swizzle-Masken für Texturkomponenten |
QOpenGLTexture::StencilTexturing | 0x00000200 | Unterstützung für Stencil-Texturierung (d. h. das Nachschlagen von Tiefen- oder Stencil-Komponenten einer Textur im kombinierten Tiefen-/Stencil-Format in GLSL-Shadern). |
QOpenGLTexture::AnisotropicFiltering | 0x00000400 | Unterstützung für anisotropes Textur-Filtering |
QOpenGLTexture::NPOTTextures | 0x00000800 | Grundlegende Unterstützung für Texturen, die keine Potenz von zwei sind |
QOpenGLTexture::NPOTTextureRepeat | 0x00001000 | Vollständige Unterstützung für Texturen, die keine Potenz von zwei sind, einschließlich Texturwiederholungsmodi |
QOpenGLTexture::Texture1D | 0x00002000 | Unterstützung für das eindimensionale Texturziel |
QOpenGLTexture::TextureComparisonOperators | 0x00004000 | Unterstützung für Texturvergleichsoperatoren |
QOpenGLTexture::TextureMipMapLevel | 0x00008000 | Unterstützung für die Festlegung 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 Enumeration definiert die Filterparameter für ein „ QOpenGLTexture “-Objekt.
| Konstante | Wert | Beschreibung |
|---|---|---|
QOpenGLTexture::Nearest | 0x2600 | Entspricht GL_NEAREST |
QOpenGLTexture::Linear | 0x2601 | Entspricht GL_LINEAR |
QOpenGLTexture::NearestMipMapNearest | 0x2700 | Entspricht GL_NEAREST_MIPMAP_NEAREST |
QOpenGLTexture::NearestMipMapLinear | 0x2702 | Entspricht GL_NEAREST_MIPMAP_LINEAR |
QOpenGLTexture::LinearMipMapNearest | 0x2701 | Entspricht GL_LINEAR_MIPMAP_NEAREST |
QOpenGLTexture::LinearMipMapLinear | 0x2703 | Entspricht GL_LINEAR_MIPMAP_LINEAR |
enum QOpenGLTexture::MipMapGeneration
Diese Enumeration definiert die Optionen zur Steuerung der Mipmap-Erzeugung.
| Konstante | Wert | Beschreibung |
|---|---|---|
QOpenGLTexture::GenerateMipMaps | 0 | Mipmaps sollen generiert werden |
QOpenGLTexture::DontGenerateMipMaps | 1 | Mipmaps sollten nicht generiert werden |
enum QOpenGLTexture::PixelFormat
Diese Enumeration definiert die möglichen clientseitigen Pixelformate für einen Pixelübertragungsvorgang.
| Konstante | Wert | Beschreibung |
|---|---|---|
QOpenGLTexture::NoSourceFormat | 0 | Entspricht GL_NONE |
QOpenGLTexture::Red | 0x1903 | Entspricht GL_RED |
QOpenGLTexture::RG | 0x8227 | Entspricht GL_RG |
QOpenGLTexture::RGB | 0x1907 | Entspricht GL_RGB |
QOpenGLTexture::BGR | 0x80E0 | Entspricht GL_BGR |
QOpenGLTexture::RGBA | 0x1908 | Entspricht GL_RGBA |
QOpenGLTexture::BGRA | 0x80E1 | Entspricht GL_BGRA |
QOpenGLTexture::Red_Integer | 0x8D94 | Entspricht GL_RED_INTEGER |
QOpenGLTexture::RG_Integer | 0x8228 | Entspricht GL_RG_INTEGER |
QOpenGLTexture::RGB_Integer | 0x8D98 | Entspricht GL_RGB_INTEGER |
QOpenGLTexture::BGR_Integer | 0x8D9A | Entspricht GL_BGR_INTEGER |
QOpenGLTexture::RGBA_Integer | 0x8D99 | Entspricht GL_RGBA_INTEGER |
QOpenGLTexture::BGRA_Integer | 0x8D9B | Entspricht GL_BGRA_INTEGER |
QOpenGLTexture::Stencil | 0x1901 | Entspricht GL_STENCIL_INDEX. Eingeführt in Qt 5.4 |
QOpenGLTexture::Depth | 0x1902 | Entspricht GL_DEPTH_COMPONENT |
QOpenGLTexture::DepthStencil | 0x84F9 | Entspricht GL_DEPTH_STENCIL |
QOpenGLTexture::Alpha | 0x1906 | Entspricht GL_ALPHA (nur OpenGL ES 2) |
QOpenGLTexture::Luminance | 0x1909 | Entspricht GL_LUMINANCE (nur OpenGL ES 2) |
QOpenGLTexture::LuminanceAlpha | 0x190A | Entspricht GL_LUMINANCE_ALPHA (nur OpenGL ES 2) |
enum QOpenGLTexture::PixelType
Diese Enumeration definiert die möglichen Pixeldatentypen für eine Pixelübertragung
| Konstante | Wert | Beschreibung |
|---|---|---|
QOpenGLTexture::NoPixelType | 0 | Entspricht GL_NONE |
QOpenGLTexture::Int8 | 0x1400 | Entspricht GL_BYTE |
QOpenGLTexture::UInt8 | 0x1401 | Entspricht GL_UNSIGNED_BYTE |
QOpenGLTexture::Int16 | 0x1402 | Entspricht GL_SHORT |
QOpenGLTexture::UInt16 | 0x1403 | Entspricht GL_UNSIGNED_SHORT |
QOpenGLTexture::Int32 | 0x1404 | Entspricht GL_INT |
QOpenGLTexture::UInt32 | 0x1405 | Entspricht GL_UNSIGNED_INT |
QOpenGLTexture::Float16 | 0x140B | Entspricht GL_HALF_FLOAT |
QOpenGLTexture::Float16OES | 0x8D61 | Entspricht GL_HALF_FLOAT_OES |
QOpenGLTexture::Float32 | 0x1406 | Entspricht GL_FLOAT |
QOpenGLTexture::UInt32_RGB9_E5 | 0x8C3E | Entspricht GL_UNSIGNED_INT_5_9_9_9_REV |
QOpenGLTexture::UInt32_RG11B10F | 0x8C3B | Entspricht GL_UNSIGNED_INT_10F_11F_11F_REV |
QOpenGLTexture::UInt8_RG3B2 | 0x8032 | Entspricht GL_UNSIGNED_BYTE_3_3_2 |
QOpenGLTexture::UInt8_RG3B2_Rev | 0x8362 | Entspricht GL_UNSIGNED_BYTE_2_3_3_REV |
QOpenGLTexture::UInt16_RGB5A1 | 0x8034 | Entspricht GL_UNSIGNED_SHORT_5_5_5_1 |
QOpenGLTexture::UInt16_RGB5A1_Rev | 0x8366 | Entspricht GL_UNSIGNED_SHORT_1_5_5_5_REV |
QOpenGLTexture::UInt16_R5G6B5 | 0x8363 | Entspricht GL_UNSIGNED_SHORT_5_6_5 |
QOpenGLTexture::UInt16_R5G6B5_Rev | 0x8364 | Entspricht GL_UNSIGNED_SHORT_5_6_5_REV |
QOpenGLTexture::UInt16_RGBA4 | 0x8033 | Entspricht GL_UNSIGNED_SHORT_4_4_4_4 |
QOpenGLTexture::UInt16_RGBA4_Rev | 0x8365 | Entspricht GL_UNSIGNED_SHORT_4_4_4_4_REV |
QOpenGLTexture::UInt32_RGBA8 | 0x8035 | Entspricht GL_UNSIGNED_INT_8_8_8_8 |
QOpenGLTexture::UInt32_RGBA8_Rev | 0x8367 | Entspricht GL_UNSIGNED_INT_8_8_8_8_REV |
QOpenGLTexture::UInt32_RGB10A2 | 0x8036 | Entspricht GL_UNSIGNED_INT_10_10_10_2 |
QOpenGLTexture::UInt32_RGB10A2_Rev | 0x8368 | Entspricht GL_UNSIGNED_INT_2_10_10_10_REV |
QOpenGLTexture::UInt32_D24S8 | 0x84FA | Entspricht GL_UNSIGNED_INT_24_8. Eingeführt in Qt 5.4 |
QOpenGLTexture::Float32_D32_UInt32_S8_X24 | 0x8DAD | Entspricht GL_FLOAT_32_UNSIGNED_INT_24_8_REV. Eingeführt in Qt 5.4 |
enum QOpenGLTexture::SwizzleComponent
Diese Enumeration definiert die Farbkomponenten der Textur, denen eine Swizzle-Maske zugewiesen werden kann.
| Konstante | Wert | Beschreibung |
|---|---|---|
QOpenGLTexture::SwizzleRed | 0x8E42 | Die rote Komponente. Entspricht GL_TEXTURE_SWIZZLE_R |
QOpenGLTexture::SwizzleGreen | 0x8E43 | Die grüne Komponente. Entspricht GL_TEXTURE_SWIZZLE_G |
QOpenGLTexture::SwizzleBlue | 0x8E44 | Die blaue Komponente. Entspricht GL_TEXTURE_SWIZZLE_B |
QOpenGLTexture::SwizzleAlpha | 0x8E45 | Die Alpha-Komponente. Entspricht GL_TEXTURE_SWIZZLE_A |
enum QOpenGLTexture::SwizzleValue
Diese Enumeration definiert die möglichen Maskenwerte für das Textur-Swizzling.
| Konstante | Wert | Beschreibung |
|---|---|---|
QOpenGLTexture::RedValue | 0x1903 | Ordnet die Komponente dem Rotkanal zu. Entspricht GL_RED |
QOpenGLTexture::GreenValue | 0x1904 | Ordnet die Komponente dem grünen Kanal zu. Entspricht GL_GREEN |
QOpenGLTexture::BlueValue | 0x1905 | Ordnet die Komponente dem Blaukanal zu. Entspricht GL_BLUE |
QOpenGLTexture::AlphaValue | 0x1906 | Ordnet die Komponente dem Alphakanal zu. Entspricht GL_ALPHA |
QOpenGLTexture::ZeroValue | 0 | Ordnet die Komponente einem festen Wert von 0 zu. Entspricht GL_ZERO |
QOpenGLTexture::OneValue | 1 | Ordnet die Komponente einem festen Wert von 1 zu. Entspricht GL_ONE |
enum QOpenGLTexture::Target
Diese Enumeration definiert das Texturziel eines „ QOpenGLTexture “-Objekts. Weitere Informationen zum Erstellen von Array-Texturen finden Sie unter „Array-Textur“.
| Konstante | Wert | Beschreibung |
|---|---|---|
QOpenGLTexture::Target1D | 0x0DE0 | Eine eindimensionale Textur. Entspricht GL_TEXTURE_1D. |
QOpenGLTexture::Target1DArray | 0x8C18 | Ein Array aus eindimensionalen Texturen. Entspricht GL_TEXTURE_1D_ARRAY |
QOpenGLTexture::Target2D | 0x0DE1 | Eine zweidimensionale Textur. Entspricht GL_TEXTURE_2D |
QOpenGLTexture::Target2DArray | 0x8C1A | Ein Array aus zweidimensionalen Texturen. Entspricht GL_TEXTURE_2D_ARRAY |
QOpenGLTexture::Target3D | 0x806F | Eine dreidimensionale Textur. Entspricht GL_TEXTURE_3D |
QOpenGLTexture::TargetCubeMap | 0x8513 | Eine Cubemap-Textur. Entspricht GL_TEXTURE_CUBE_MAP |
QOpenGLTexture::TargetCubeMapArray | 0x9009 | Ein Array von Cubemap-Texturen. Entspricht GL_TEXTURE_CUBE_MAP_ARRAY |
QOpenGLTexture::Target2DMultisample | 0x9100 | Eine zweidimensionale Textur mit Multisample-Unterstützung. Entspricht GL_TEXTURE_2D_MULTISAMPLE |
QOpenGLTexture::Target2DMultisampleArray | 0x9102 | Ein Array aus zweidimensionalen Texturen mit Multisample-Unterstützung. Entspricht GL_TEXTURE_2D_MULTISAMPLE_ARRAY |
QOpenGLTexture::TargetRectangle | 0x84F5 | Eine rechteckige zweidimensionale Textur. Entspricht GL_TEXTURE_RECTANGLE |
QOpenGLTexture::TargetBuffer | 0x8C2A | Eine Textur mit Daten aus einem OpenGL-Pufferobjekt. Entspricht GL_TEXTURE_BUFFER |
enum QOpenGLTexture::TextureFormat
Diese Enumeration definiert die möglichen Texturformate. Je nach Ihrer OpenGL-Implementierung wird möglicherweise nur eine Teilmenge davon unterstützt.
| Konstante | Wert | Beschreibung |
|---|---|---|
QOpenGLTexture::NoFormat | 0 | Entspricht GL_NONE |
QOpenGLTexture::R8_UNorm | 0x8229 | Entspricht GL_R8 |
QOpenGLTexture::RG8_UNorm | 0x822B | Entspricht GL_RG8 |
QOpenGLTexture::RGB8_UNorm | 0x8051 | Entspricht GL_RGB8 |
QOpenGLTexture::RGBA8_UNorm | 0x8058 | Entspricht GL_RGBA8 |
QOpenGLTexture::R16_UNorm | 0x822A | Entspricht GL_R16 |
QOpenGLTexture::RG16_UNorm | 0x822C | Entspricht GL_RG16 |
QOpenGLTexture::RGB16_UNorm | 0x8054 | Entspricht GL_RGB16 |
QOpenGLTexture::RGBA16_UNorm | 0x805B | Entspricht GL_RGBA16 |
QOpenGLTexture::R8_SNorm | 0x8F94 | Entspricht GL_R8_SNORM |
QOpenGLTexture::RG8_SNorm | 0x8F95 | Entspricht GL_RG8_SNORM |
QOpenGLTexture::RGB8_SNorm | 0x8F96 | Entspricht GL_RGB8_SNORM |
QOpenGLTexture::RGBA8_SNorm | 0x8F97 | Entspricht GL_RGBA8_SNORM |
QOpenGLTexture::R16_SNorm | 0x8F98 | Entspricht GL_R16_SNORM |
QOpenGLTexture::RG16_SNorm | 0x8F99 | Entspricht GL_RG16_SNORM |
QOpenGLTexture::RGB16_SNorm | 0x8F9A | Entspricht GL_RGB16_SNORM |
QOpenGLTexture::RGBA16_SNorm | 0x8F9B | Entspricht GL_RGBA16_SNORM |
QOpenGLTexture::R8U | 0x8232 | Entspricht GL_R8UI |
QOpenGLTexture::RG8U | 0x8238 | Entspricht GL_RG8UI |
QOpenGLTexture::RGB8U | 0x8D7D | Entspricht GL_RGB8UI |
QOpenGLTexture::RGBA8U | 0x8D7C | Entspricht GL_RGBA8UI |
QOpenGLTexture::R16U | 0x8234 | Entspricht GL_R16UI |
QOpenGLTexture::RG16U | 0x823A | Entspricht GL_RG16UI |
QOpenGLTexture::RGB16U | 0x8D77 | Entspricht GL_RGB16UI |
QOpenGLTexture::RGBA16U | 0x8D76 | Entspricht GL_RGBA16UI |
QOpenGLTexture::R32U | 0x8236 | Entspricht GL_R32UI |
QOpenGLTexture::RG32U | 0x823C | Entspricht GL_RG32UI |
QOpenGLTexture::RGB32U | 0x8D71 | Entspricht GL_RGB32UI |
QOpenGLTexture::RGBA32U | 0x8D70 | Entspricht GL_RGBA32UI |
QOpenGLTexture::R8I | 0x8231 | Entspricht GL_R8I |
QOpenGLTexture::RG8I | 0x8237 | Entspricht GL_RG8I |
QOpenGLTexture::RGB8I | 0x8D8F | Entspricht GL_RGB8I |
QOpenGLTexture::RGBA8I | 0x8D8E | Entspricht GL_RGBA8I |
QOpenGLTexture::R16I | 0x8233 | Entspricht GL_R16I |
QOpenGLTexture::RG16I | 0x8239 | Entspricht GL_RG16I |
QOpenGLTexture::RGB16I | 0x8D89 | Entspricht GL_RGB16I |
QOpenGLTexture::RGBA16I | 0x8D88 | Entspricht GL_RGBA16I |
QOpenGLTexture::R32I | 0x8235 | Entspricht GL_R32I |
QOpenGLTexture::RG32I | 0x823B | Entspricht GL_RG32I |
QOpenGLTexture::RGB32I | 0x8D83 | Entspricht GL_RGB32I |
QOpenGLTexture::RGBA32I | 0x8D82 | Entspricht GL_RGBA32I |
QOpenGLTexture::R16F | 0x822D | Entspricht GL_R16F |
QOpenGLTexture::RG16F | 0x822F | Entspricht GL_RG16F |
QOpenGLTexture::RGB16F | 0x881B | Entspricht GL_RGB16F |
QOpenGLTexture::RGBA16F | 0x881A | Entspricht GL_RGBA16F |
QOpenGLTexture::R32F | 0x822E | Entspricht GL_R32F |
QOpenGLTexture::RG32F | 0x8230 | Entspricht GL_RG32F |
QOpenGLTexture::RGB32F | 0x8815 | Entspricht GL_RGB32F |
QOpenGLTexture::RGBA32F | 0x8814 | Entspricht GL_RGBA32F |
QOpenGLTexture::RGB9E5 | 0x8C3D | Entspricht GL_RGB9_E5 |
QOpenGLTexture::RG11B10F | 0x8C3A | Entspricht GL_R11F_G11F_B10F |
QOpenGLTexture::RG3B2 | 0x2A10 | Entspricht GL_R3_G3_B2 |
QOpenGLTexture::R5G6B5 | 0x8D62 | Entspricht GL_RGB565 |
QOpenGLTexture::RGB5A1 | 0x8057 | Entspricht GL_RGB5_A1 |
QOpenGLTexture::RGBA4 | 0x8056 | Entspricht GL_RGBA4 |
QOpenGLTexture::RGB10A2 | 0x906F | Entspricht GL_RGB10_A2UI |
QOpenGLTexture::D16 | 0x81A5 | Entspricht GL_DEPTH_COMPONENT16 |
QOpenGLTexture::D24 | 0x81A6 | Entspricht GL_DEPTH_COMPONENT24 |
QOpenGLTexture::D24S8 | 0x88F0 | Entspricht GL_DEPTH24_STENCIL8 |
QOpenGLTexture::D32 | 0x81A7 | Entspricht GL_DEPTH_COMPONENT32 |
QOpenGLTexture::D32F | 0x8CAC | Entspricht GL_DEPTH_COMPONENT32F |
QOpenGLTexture::D32FS8X24 | 0x8CAD | Entspricht GL_DEPTH32F_STENCIL8 |
QOpenGLTexture::S8 | 0x8D48 | Entspricht GL_STENCIL_INDEX8. Eingeführt in Qt 5.4 |
QOpenGLTexture::RGB_DXT1 | 0x83F0 | Entspricht GL_COMPRESSED_RGB_S3TC_DXT1_EXT |
QOpenGLTexture::RGBA_DXT1 | 0x83F1 | Entspricht GL_COMPRESSED_RGBA_S3TC_DXT1_EXT |
QOpenGLTexture::RGBA_DXT3 | 0x83F2 | Entspricht GL_COMPRESSED_RGBA_S3TC_DXT3_EXT |
QOpenGLTexture::RGBA_DXT5 | 0x83F3 | Entspricht GL_COMPRESSED_RGBA_S3TC_DXT5_EXT |
QOpenGLTexture::R_ATI1N_UNorm | 0x8DBB | Entspricht GL_COMPRESSED_RED_RGTC1 |
QOpenGLTexture::R_ATI1N_SNorm | 0x8DBC | Entspricht GL_COMPRESSED_SIGNED_RED_RGTC1 |
QOpenGLTexture::RG_ATI2N_UNorm | 0x8DBD | Entspricht GL_COMPRESSED_RG_RGTC2 |
QOpenGLTexture::RG_ATI2N_SNorm | 0x8DBE | Entspricht GL_COMPRESSED_SIGNED_RG_RGTC2 |
QOpenGLTexture::RGB_BP_UNSIGNED_FLOAT | 0x8E8F | Entspricht GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB |
QOpenGLTexture::RGB_BP_SIGNED_FLOAT | 0x8E8E | Entspricht GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB |
QOpenGLTexture::RGB_BP_UNorm | 0x8E8C | Entspricht GL_COMPRESSED_RGBA_BPTC_UNORM_ARB |
QOpenGLTexture::R11_EAC_UNorm | 0x9270 | Entspricht GL_COMPRESSED_R11_EAC |
QOpenGLTexture::R11_EAC_SNorm | 0x9271 | Entspricht GL_COMPRESSED_SIGNED_R11_EAC |
QOpenGLTexture::RG11_EAC_UNorm | 0x9272 | Entspricht GL_COMPRESSED_RG11_EAC |
QOpenGLTexture::RG11_EAC_SNorm | 0x9273 | Entspricht GL_COMPRESSED_SIGNED_RG11_EAC |
QOpenGLTexture::RGB8_ETC2 | 0x9274 | Entspricht GL_COMPRESSED_RGB8_ETC2 |
QOpenGLTexture::SRGB8_ETC2 | 0x9275 | Entspricht GL_COMPRESSED_SRGB8_ETC2 |
QOpenGLTexture::RGB8_PunchThrough_Alpha1_ETC2 | 0x9276 | Entspricht GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 |
QOpenGLTexture::SRGB8_PunchThrough_Alpha1_ETC2 | 0x9277 | Entspricht GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 |
QOpenGLTexture::RGBA8_ETC2_EAC | 0x9278 | Entspricht GL_COMPRESSED_RGBA8_ETC2_EAC |
QOpenGLTexture::SRGB8_Alpha8_ETC2_EAC | 0x9279 | Entspricht GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC |
QOpenGLTexture::RGB8_ETC1 | 0x8D64 | Entspricht GL_ETC1_RGB8_OES |
QOpenGLTexture::RGBA_ASTC_4x4 | 0x93B0 | Entspricht GL_COMPRESSED_RGBA_ASTC_4x4_KHR |
QOpenGLTexture::RGBA_ASTC_5x4 | 0x93B1 | Entspricht GL_COMPRESSED_RGBA_ASTC_5x4_KHR |
QOpenGLTexture::RGBA_ASTC_5x5 | 0x93B2 | Entspricht GL_COMPRESSED_RGBA_ASTC_5x5_KHR |
QOpenGLTexture::RGBA_ASTC_6x5 | 0x93B3 | Entspricht GL_COMPRESSED_RGBA_ASTC_6x5_KHR |
QOpenGLTexture::RGBA_ASTC_6x6 | 0x93B4 | Entspricht GL_COMPRESSED_RGBA_ASTC_6x6_KHR |
QOpenGLTexture::RGBA_ASTC_8x5 | 0x93B5 | Entspricht GL_COMPRESSED_RGBA_ASTC_8x5_KHR |
QOpenGLTexture::RGBA_ASTC_8x6 | 0x93B6 | Entspricht GL_COMPRESSED_RGBA_ASTC_8x6_KHR |
QOpenGLTexture::RGBA_ASTC_8x8 | 0x93B7 | Entspricht GL_COMPRESSED_RGBA_ASTC_8x8_KHR |
QOpenGLTexture::RGBA_ASTC_10x5 | 0x93B8 | Entspricht GL_COMPRESSED_RGBA_ASTC_10x5_KHR |
QOpenGLTexture::RGBA_ASTC_10x6 | 0x93B9 | Entspricht GL_COMPRESSED_RGBA_ASTC_10x6_KHR |
QOpenGLTexture::RGBA_ASTC_10x8 | 0x93BA | Entspricht GL_COMPRESSED_RGBA_ASTC_10x8_KHR |
QOpenGLTexture::RGBA_ASTC_10x10 | 0x93BB | Entspricht GL_COMPRESSED_RGBA_ASTC_10x10_KHR |
QOpenGLTexture::RGBA_ASTC_12x10 | 0x93BC | Entspricht GL_COMPRESSED_RGBA_ASTC_12x10_KHR |
QOpenGLTexture::RGBA_ASTC_12x12 | 0x93BD | Entspricht GL_COMPRESSED_RGBA_ASTC_12x12_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_4x4 | 0x93D0 | Entspricht GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_5x4 | 0x93D1 | Entspricht GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_5x5 | 0x93D2 | Entspricht GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_6x5 | 0x93D3 | Entspricht GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_6x6 | 0x93D4 | Entspricht GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_8x5 | 0x93D5 | Entspricht GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_8x6 | 0x93D6 | Entspricht GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_8x8 | 0x93D7 | Entspricht GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x5 | 0x93D8 | Entspricht GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x6 | 0x93D9 | Entspricht GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x8 | 0x93DA | Entspricht GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x10 | 0x93DB | Entspricht GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_12x10 | 0x93DC | Entspricht GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_12x12 | 0x93DD | Entspricht GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR |
QOpenGLTexture::SRGB8 | 0x8C41 | Entspricht GL_SRGB8 |
QOpenGLTexture::SRGB8_Alpha8 | 0x8C43 | Entspricht GL_SRGB8_ALPHA8 |
QOpenGLTexture::SRGB_DXT1 | 0x8C4C | Entspricht GL_COMPRESSED_SRGB_S3TC_DXT1_EXT |
QOpenGLTexture::SRGB_Alpha_DXT1 | 0x8C4D | Entspricht GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT |
QOpenGLTexture::SRGB_Alpha_DXT3 | 0x8C4E | Entspricht GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT |
QOpenGLTexture::SRGB_Alpha_DXT5 | 0x8C4F | Entspricht GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT |
QOpenGLTexture::SRGB_BP_UNorm | 0x8E8D | Entspricht GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB |
QOpenGLTexture::DepthFormat | 0x1902 | Entspricht GL_DEPTH_COMPONENT (nur OpenGL ES 3 oder ES 2 mit OES_depth_texture) |
QOpenGLTexture::AlphaFormat | 0x1906 | Entspricht GL_ALPHA (nur OpenGL ES 2) |
QOpenGLTexture::RGBFormat | 0x1907 | Entspricht GL_RGB (nur OpenGL ES 2) |
QOpenGLTexture::RGBAFormat | 0x1908 | Entspricht GL_RGBA (nur OpenGL ES 2) |
QOpenGLTexture::LuminanceFormat | 0x1909 | Entspricht GL_LUMINANCE (nur OpenGL ES 2) |
QOpenGLTexture::LuminanceAlphaFormat | 0x190A | Entspricht GL_LUMINANCE_ALPHA (nur OpenGL ES 2) |
enum QOpenGLTexture::TextureUnitReset
Diese Enumeration definiert Optionen zur Steuerung der Aktivierung der Textur-Einheit.
| Konstante | Wert | Beschreibung |
|---|---|---|
QOpenGLTexture::ResetTextureUnit | 0 | Die zuvor aktive Textur-Einheit wird zurückgesetzt |
QOpenGLTexture::DontResetTextureUnit | 1 | Die zuvor aktive Textur-Einheit wird nicht zurückgesetzt |
enum QOpenGLTexture::WrapMode
Diese Enumeration definiert die möglichen Umschaltmodi für Texturkoordinaten.
| Konstante | Wert | Beschreibung |
|---|---|---|
QOpenGLTexture::Repeat | 0x2901 | Die Texturkoordinate wird wiederholt. Entspricht GL_REPEAT |
QOpenGLTexture::MirroredRepeat | 0x8370 | Die Texturkoordinaten werden um 0 und 1 gespiegelt. Entspricht GL_MIRRORED_REPEAT |
QOpenGLTexture::ClampToEdge | 0x812F | Begrenzt die Texturkoordinaten auf [0,1]. Entspricht GL_CLAMP_TO_EDGE |
QOpenGLTexture::ClampToBorder | 0x812D | Wie bei ClampToEdge, blendet jedoch zusätzlich die Samples bei 0 und 1 mit einer festen Randfarbe ein. Entspricht GL_CLAMP_TO_BORDER |
Dokumentation der Member-Funktionen
[explicit] QOpenGLTexture::QOpenGLTexture(QOpenGLTexture::Target target)
Erstellt ein `QOpenGLTexture`-Objekt, das später an ` target` gebunden werden kann.
Dabei wird das zugrunde liegende OpenGL-Texturobjekt nicht erstellt. Daher ist für die Erstellung mit diesem Konstruktor kein gültiger aktueller OpenGL-Kontext erforderlich.
[explicit] QOpenGLTexture::QOpenGLTexture(const QImage &image, QOpenGLTexture::MipMapGeneration genMipMaps = GenerateMipMaps)
Erstellt ein QOpenGLTexture-Objekt, das später an das 2D-Texturziel gebunden werden kann und die in ` image` enthaltenen Pixeldaten enthält. Wenn Sie eine Kette von Mipmaps generieren möchten, setzen Sie ` genMipMaps ` auf ` true ` (dies ist die Standardeinstellung).
Hierbei wird das zugrunde liegende OpenGL-Texturobjekt erstellt. Daher erfordert die Erstellung mit diesem Konstruktor einen gültigen aktuellen OpenGL-Kontext.
Hinweis: image wird automatisch in QImage::Format_RGBA8888 konvertiert, was bei großen Bildern mit einem anderen Format Auswirkungen auf die Leistung haben kann.
void QOpenGLTexture::allocateStorage()
Weist diesem Texturobjekt serverseitigen Speicherplatz zu, wobei das Format, die Abmessungen, die Mipmap-Ebenen, die Array-Ebenen und die Cubemap-Flächen berücksichtigt werden.
Sobald Speicherplatz zugewiesen wurde, können diese Eigenschaften nicht mehr geändert werden.
Sofern unterstützt, nutzt ` QOpenGLTexture ` unveränderlichen Texturspeicher.
Sobald Speicherplatz für die Textur zugewiesen wurde, können Pixeldaten über eine der Überladungen von ` setData()` hochgeladen werden.
Hinweis: Wenn kein unveränderlicher Texturspeicher verfügbar ist, werden ein Standard-Pixelformat und ein Standard-Pixeltyp verwendet, um den veränderbaren Speicher zu erstellen. Sie können die andere Überladung von `allocateStorage()` verwenden, um das Pixelformat und den Pixeltyp, die bei der Zuweisung von veränderbarem Speicher verwendet werden sollen, genau anzugeben; dies ist besonders nützlich bei bestimmten OpenGL ES-Implementierungen (insbesondere OpenGL ES 2), bei denen das zum Zeitpunkt der Zuweisung verwendete Pixelformat und der Pixeltyp exakt mit dem Format und dem Typ übereinstimmen müssen, die an jeden nachfolgenden Aufruf von ` setData()` übergeben werden.
Siehe auch ` isStorageAllocated()` und ` setData()`.
void QOpenGLTexture::allocateStorage(QOpenGLTexture::PixelFormat pixelFormat, QOpenGLTexture::PixelType pixelType)
Weist diesem Texturobjekt serverseitigen Speicherplatz zu, wobei das Format, die Abmessungen, die Mipmap-Ebenen, die Array-Ebenen und die Cubemap-Flächen berücksichtigt werden.
Sobald Speicherplatz zugewiesen wurde, können diese Eigenschaften nicht mehr geändert werden.
Sofern unterstützt, nutzt ` QOpenGLTexture ` unveränderlichen Texturspeicher. Ist jedoch kein unveränderlicher Texturspeicher verfügbar, werden die angegebenen ` pixelFormat ` und ` pixelType ` zur Zuweisung von veränderlichem Speicher verwendet; beachten Sie, dass diese in bestimmten OpenGL-Implementierungen (insbesondere OpenGL ES 2) exakt mit dem Format und dem Typ übereinstimmen müssen, die an einen nachfolgenden Aufruf von ` setData()` übergeben werden.
Sobald Speicher für die Textur zugewiesen wurde, können Pixeldaten über eine der Überladungen von ` setData()` hochgeladen werden.
Siehe auch „ isStorageAllocated()“ und „ setData()“.
void QOpenGLTexture::bind()
Bindet diese Textur an die derzeit aktive Textureinheit, sodass sie für das Rendering bereit ist. Beachten Sie, dass Sie Objekte vom Typ „ QOpenGLTexture “ nicht binden müssen, um sie zu ändern, da die Implementierung die Erweiterung „EXT_direct_state_access“ nutzt, sofern diese verfügbar ist, und sie simuliert, falls dies nicht der Fall ist.
Siehe auch „ release()“.
void QOpenGLTexture::bind(uint unit, QOpenGLTexture::TextureUnitReset reset = DontResetTextureUnit)
Bindet diese Textur an die Textureinheit „ unit “, sodass sie für das Rendering bereit ist. Beachten Sie, dass Sie Objekte vom Typ „ QOpenGLTexture “ nicht binden müssen, um sie zu ändern, da die Implementierung die Erweiterung „EXT_direct_state_access“ nutzt, sofern diese verfügbar ist, und sie simuliert, falls dies nicht der Fall ist.
Wenn der Parameter ` reset ` den Wert ` true ` hat, setzt diese Funktion die aktive Einheit auf die Textur-Einheit zurück, die beim Aufruf aktiv war.
Siehe auch release().
QColor QOpenGLTexture::borderColor() const
Gibt die Rahmenfarbe dieser Textur zurück.
Siehe auch „ setBorderColor()“.
void QOpenGLTexture::borderColor(float *border) const
Schreibt die Farbe des Texturrandes in die ersten vier Elemente des Arrays, auf das border verweist.
Siehe auch setBorderColor().
void QOpenGLTexture::borderColor(int *border) const
Schreibt die Farbe des Texturrandes in die ersten vier Elemente des Arrays, auf das border verweist.
Dies ist eine überladene Funktion.
void QOpenGLTexture::borderColor(unsigned int *border) const
Schreibt die Farbe des Texturrandes in die ersten vier Elemente des Arrays, auf das border verweist.
Dies ist eine überladene Funktion.
[static] GLuint QOpenGLTexture::boundTextureId(QOpenGLTexture::BindingTarget target)
Gibt den „ textureId “ der Textur zurück, die an den „ target “ der derzeit aktiven Textureinheit gebunden ist.
[static] GLuint QOpenGLTexture::boundTextureId(uint unit, QOpenGLTexture::BindingTarget target)
Gibt den „ textureId “ der Textur zurück, die an den „ target “ der Textureinheit „ unit “ gebunden ist.
QOpenGLTexture::ComparisonFunction QOpenGLTexture::comparisonFunction() const
Gibt den für diese Textur festgelegten Texturvergleichsoperator zurück. Standardmäßig verfügt eine Textur über eine Vergleichsfunktion vom Typ „ CompareLessEqual “.
Siehe auch ` setComparisonFunction()`.
QOpenGLTexture::ComparisonMode QOpenGLTexture::comparisonMode() const
Gibt den für diese Textur festgelegten Texturvergleichsmodus zurück. Standardmäßig ist für eine Textur der Vergleichsmodus „ CompareNone “ (d. h., Vergleiche sind deaktiviert) eingestellt.
Siehe auch „ setComparisonMode()“.
bool QOpenGLTexture::create()
Erstellt das zugrunde liegende OpenGL-Texturobjekt. Dazu ist ein aktuell gültiger OpenGL-Kontext erforderlich. Falls das Texturobjekt bereits existiert, führt diese Funktion keine Aktion aus.
Sobald das Texturobjekt erstellt ist, können Sie den Objektnamen über die Funktion ` textureId()` abrufen. Dies kann nützlich sein, wenn Sie einige direkte OpenGL-Aufrufe im Zusammenhang mit dieser Textur ausführen möchten.
Normalerweise sollte es nicht notwendig sein, diese Funktion direkt aufzurufen, da alle Funktionen, die Eigenschaften des Texturobjekts festlegen, implizit create() für Sie 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 für diese Textur zu erstellen. Eine Texturansicht ist insofern mit einer Ansicht in SQL vergleichbar, als sie eine eingeschränkte oder neu interpretierte Ansicht der Originaldaten darstellt. Texturansichten belegen keinen zusätzlichen serverseitigen Speicherplatz, sondern nutzen stattdessen den Speicherpuffer der Quelltextur.
Texturansichten sind nur bei Verwendung von unveränderlichem Speicher verfügbar. Weitere Informationen zu Texturansichten finden Sie unter http://www.opengl.org/wiki/Texture_Storage#Texture_views.
Das Argument „ target “ gibt das für die Ansicht zu verwendende Ziel an. Je nach dem Ziel der ursprünglichen Textur können nur bestimmte Ziele verwendet werden. Beispielsweise kann eine Ansicht auf eine „ Target1DArray “-Textur entweder „ Target1DArray “ oder „ Target1D “ angeben; im letzteren Fall muss die Anzahl der Array-Ebenen, die mit „ minimumLayer “ und „ maximumLayer “ angegeben werden, jedoch genau 1 betragen.
Ähnliche Einschränkungen gelten für die „ viewFormat “. Weitere Details finden Sie unter dem obigen Link und in der Spezifikation.
Die Argumente „ minimumMipmapLevel “, „ maximumMipmapLevel “, „ minimumLayer “ und „ maximumLayer “ dienen dazu, die Teile der Textur einzuschränken, auf die die Texturansicht zugreifen kann.
Schlägt die Erstellung der Texturansicht fehl, gibt diese Funktion 0 zurück. Bei erfolgreicher Ausführung gibt die Funktion einen Zeiger auf ein neues ` QOpenGLTexture `-Objekt zurück, das über seine Funktion ` isTextureView()` den Wert ` true ` 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 Tiefen-Stencil-Modus für Texturen zurück, die ein kombiniertes Tiefen-/Stencil-Format verwenden.
Siehe auch „ setDepthStencilMode()“.
void QOpenGLTexture::destroy()
Löscht das zugrunde liegende OpenGL-Texturobjekt. Dazu ist ein aktuell gültiger OpenGL-Kontext erforderlich.
Siehe auch create(), isCreated() und textureId().
int QOpenGLTexture::faces() const
Gibt die Anzahl der Flächen dieser Textur zurück. Bei Zielen vom Typ „Cubemap“ und „Cubemap-Array“ ist dieser Wert 6.
Bei Zielen, die nicht vom Typ „Cubemap“ sind, wird der Wert 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, beginnend mit Mipmap-Ebene 0. Wenn Sie ein Texturziel und eine Filteroption verwenden, die Mipmaps erfordern, und Sie die automatische Mipmap-Erzeugung deaktiviert haben, müssen Sie diese Funktion oder die Überladung aufrufen, um die Mipmap-Kette zu erstellen.
Hinweis: DieMipmap -Erzeugung 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 ausgehend von der Mipmap-Stufe baseLevel. Wenn Sie ein Texturziel und eine Filteroption verwenden, die Mipmaps erfordern, und Sie die automatische Mipmap-Erzeugung deaktiviert haben, müssen Sie diese Funktion oder die Überladung aufrufen, um die Mipmap-Kette zu erstellen.
Die Erzeugung von Mipmaps oberhalb von „ baseLevel “ erfolgt durch Setzen der Mipmap-Basisstufe auf „ baseLevel “ und anschließendes Erzeugen der Mipmap-Kette. Wenn „ resetBaseLevel “ den Wert „ true “ annimmt, wird die „baseLevel“-Einstellung der Textur auf ihren 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 Textur-Funktion „ 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 Mipmap-Erstellung 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 Speicher zugewiesen wurde, gibt diese Funktion die angeforderte Einstellung für die feste Sample-Position zurück.
Bei Texturzielen, die Multisampling nicht unterstützen, gibt diese Funktion „ true “ zurück.
Siehe auch „ setFixedSamplePositions()“ und „ isStorageAllocated()“.
bool QOpenGLTexture::isStorageAllocated() const
Gibt „ true “ zurück, wenn serverseitiger Speicherplatz für diese Textur zugewiesen wurde.
Das Texturformat, die Abmessungen, die Mipmap-Ebenen und die Array-Ebenen können nach der Zuweisung des Speicherplatzes nicht mehr geändert werden.
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 Speicher zugewiesen wurde, gibt diese Funktion die angeforderte Anzahl von Array-Ebenen zurück.
Bei Texturzielen, die keine Array-Ebenen unterstützen, wird hier 1 zurückgegeben.
Siehe auch setLayers() und isStorageAllocated().
std::pair<float, float> QOpenGLTexture::levelOfDetailRange() const
Gibt den minimalen und maximalen Detaillierungsgrad zurück.
Siehe auch setLevelOfDetailRange(), minimumLevelOfDetail() und maximumLevelOfDetail().
float QOpenGLTexture::levelofDetailBias() const
Gibt den Parameter für die Detailgenauigkeitsverzerrung 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 Anisotropiegrad zurück, der bei der Texturabfrage berücksichtigt werden soll. Hierfür ist die Erweiterung GL_EXT_texture_filter_anisotropic erforderlich.
Siehe auch ` setMaximumAnisotropy()`.
float QOpenGLTexture::maximumLevelOfDetail() const
Gibt den Parameter für die maximale Detailstufe zurück.
Siehe auch setMaximumLevelOfDetail(), minimumLevelOfDetail() und levelOfDetailRange().
int QOpenGLTexture::maximumMipLevels() const
Gibt die maximale Anzahl an Mipmap-Ebenen zurück, die diese Textur bei den aktuellen Abmessungen haben kann.
Siehe auch setMipLevels(), mipLevels() und setSize().
std::pair<QOpenGLTexture::Filter, QOpenGLTexture::Filter> QOpenGLTexture::minMagFilters() const
Gibt die aktuellen Filter für Verkleinerung und Vergrößerung 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 minimale Detailstufe zurück.
Siehe auch setMinimumLevelOfDetail(), maximumLevelOfDetail() und levelOfDetailRange().
int QOpenGLTexture::mipBaseLevel() const
Gibt die Mipmap-Basisstufe zurück, die für alle Texturabfragen mit dieser Textur verwendet wird. Der Standardwert ist 0.
Siehe auch setMipBaseLevel(), mipMaxLevel() und mipLevelRange().
std::pair<int, int> QOpenGLTexture::mipLevelRange() const
Gibt den Bereich der Mipmap-Ebenen zurück, die für Textur-Lookups mit dieser Textur verwendet werden können.
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 Speicher zugewiesen wurde, wird die angeforderte Anzahl von Mipmap-Ebenen zurückgegeben.
Siehe auch setMipLevels(), maximumMipLevels() und isStorageAllocated().
int QOpenGLTexture::mipMaxLevel() const
Gibt die maximale Mipmap-Stufe zurück, die für alle Texturabrufe mit dieser Textur verwendet wird.
Siehe auch setMipMaxLevel(), mipBaseLevel() und mipLevelRange().
void QOpenGLTexture::release()
Löst die Verknüpfung dieser Textur mit der derzeit aktiven Textureinheit.
Siehe auch „ bind()“.
void QOpenGLTexture::release(uint unit, QOpenGLTexture::TextureUnitReset reset = DontResetTextureUnit)
Löst die Verknüpfung dieser Textur mit der Textureinheit „ unit “.
Wenn der Parameter „ reset “ den Wert „ true “ hat, setzt diese Funktion die aktive Einheit auf die Textureinheit zurück, die beim Aufruf aktiv war.
int QOpenGLTexture::samples() const
Gibt die Anzahl der Multisample-Abtastpunkte für diese Textur zurück. Wenn für diese Textur noch kein Speicher zugewiesen wurde, gibt diese Funktion die angeforderte Anzahl von Abtastpunkten zurück.
Bei Texturzielen, die Multisampling nicht unterstützen, wird hier 0 zurückgegeben.
Siehe auch setSamples() und isStorageAllocated().
void QOpenGLTexture::setAutoMipMapGenerationEnabled(bool enabled)
Wenn „ enabled “ auf „ true “ gesetzt ist, wird die automatische Mipmap-Erstellung für dieses Texturobjekt aktiviert, sobald die Mipmap-Daten der Stufe 0 über „ setData()“ festgelegt werden.
Die automatische Mipmap-Erzeugung ist standardmäßig aktiviert.
Hinweis: DieMipmap -Erzeugung wird für komprimierte Texturen mit OpenGL ES 2.0 nicht unterstützt.
Siehe auch „ isAutoMipMapGenerationEnabled “ () und „ generateMipMaps “ ().
void QOpenGLTexture::setBorderColor(const QColor &color)
Legt die Rahmenfarbe der Textur auf „ color “ fest.
Hinweis: Diese Funktion hat auf Mac und bei Qt-Versionen, die für OpenGL ES 2 kompiliert wurden, keine Wirkung.
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 Alpha-Wert 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 Alpha-Wert 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 Schatten-Samplern beim Abtasten einer Tiefentextur verwendet.
Siehe auch „ comparisonFunction()“.
void QOpenGLTexture::setComparisonMode(QOpenGLTexture::ComparisonMode mode)
Legt den Texturvergleichsmodus für diese Textur auf „ mode “ fest. Der Texturvergleichsmodus wird von Schatten-Samplern beim Abtasten einer Tiefentextur verwendet.
Siehe auch ` comparisonMode()`.
void QOpenGLTexture::setCompressedData(int mipLevel, int layer, QOpenGLTexture::CubeMapFace cubeFace, int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
mipLevelLädt das komprimierte Pixel- data, das Array layer sowie cubeFace hoch. Die Pixelübertragung 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 anstelle dieser Funktion ` setData()` verwenden.
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)
Der Parameter „ layerCount “ gibt die Anzahl der Ebenen in einem Textur-Array an, die durch diesen Aufruf hochgeladen bzw. gefüllt werden.
Dies ist eine überladene Funktion.
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 die Pixel data für dieses Texturobjekt mipLevel, das Array layer und cubeFace hoch. Der Speicherplatz muss vor dem Hochladen der Pixeldaten zugewiesen worden sein. Einige Überladungen von setData() legen die entsprechenden Abmessungen, Mipmap-Ebenen und Array-Ebenen fest und weisen anschließend Speicherplatz für Sie zu, sofern sie über ausreichende Informationen dafür verfügen. Dies wird in der Funktionsdokumentation vermerkt.
Die Struktur der Pixeldaten, auf die data verweist, wird durch sourceFormat und sourceType festgelegt. Das Hochladen der Pixeldaten kann optional über options gesteuert werden.
Wenn Sie ein komprimiertes ` format()` verwenden, sollten Sie anstelle dieser Funktion ` setCompressedData()` nutzen.
Siehe auch setCompressedData().
void QOpenGLTexture::setData(const QImage &image, QOpenGLTexture::MipMapGeneration genMipMaps = GenerateMipMaps)
Diese Überladung von setData() reserviert Speicherplatz für Sie. Die Pixeldaten sind in „ image “ enthalten. Mipmaps werden standardmäßig generiert. Setzen Sie „ genMipMaps “ auf „ DontGenerateMipMaps “, um die Mipmap-Generierung zu deaktivieren.
Hinweis: ` image ` wird automatisch in ` QImage::Format_RGBA8888 ` konvertiert, was bei großen Bildern mit einem anderen Format Auswirkungen auf die Leistung haben 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)
Der Parameter „ layerCount “ gibt die Anzahl der Ebenen in einem Textur-Array an, die durch diesen Aufruf hochgeladen bzw. gefüllt werden.
Dies ist eine überladene Funktion.
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)
Diese Überladung dient dazu, einen Teil der Textur zu aktualisieren. Die Parameter xOffset, yOffset und zOffset geben die Texel-Offsets innerhalb der Textur an. Die Parameter width, height und depth geben die Abmessungen des Teilbildes an.
Die Struktur der Pixeldaten, auf die „ data “ verweist, wird durch „ sourceFormat “ und „ sourceType “ festgelegt. Das Hochladen der Pixeldaten kann optional durch „ options “ gesteuert werden.
Dies ist eine überladene Funktion.
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)
Diese Überladung dient dazu, einen Teil der Textur zu aktualisieren. Die Parameter xOffset, yOffset und zOffset geben die Texel-Offsets innerhalb der Textur an. Die Parameter width, height und depth geben die Abmessungen des Teilbildes an. Die Mipmap-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. Das Hochladen der Pixeldaten kann optional über options gesteuert werden.
Dies ist eine überladene Funktion.
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)
Diese Überladung dient dazu, einen Teil der Textur zu aktualisieren. Die Parameter xOffset, yOffset und zOffset geben die Texel-Offsets innerhalb der Textur an. Die Parameter width, height und depth legen die Abmessungen des Teilbildes fest. Die Mipmap-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. Das Hochladen der Pixeldaten kann optional über options gesteuert werden.
Dies ist eine überladene Funktion.
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)
Diese Überladung dient dazu, einen Teil der Textur zu aktualisieren. Die Parameter xOffset, yOffset und zOffset geben die Texel-Offsets innerhalb der Textur an. Die Parameter width, height und depth geben die Abmessungen des Teilbildes an. Die Mipmap-Ebene, die Ebene und die Cube-Map-Fläche des Teilbildes, das aktualisiert werden soll, werden mit mipLevel, layer und face angegeben.
Die Struktur der Pixeldaten, auf die „ data “ verweist, wird durch „ sourceFormat “ und „ sourceType “ festgelegt. Das Hochladen der Pixeldaten kann optional durch „ options “ gesteuert werden.
Dies ist eine überladene Funktion.
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)
Diese Überladung dient dazu, einen Teil der Textur zu aktualisieren. Die Parameter xOffset, yOffset und zOffset geben die Texel-Offsets innerhalb der Textur an. Die Parameter width, height und depth geben die Abmessungen des Teilbildes an. Die Mipmap-Ebene, die Startschicht, die Cube-Map-Fläche und die Anzahl der Schichten des Teilbildes, das aktualisiert werden soll, werden mit mipLevel, layer, face und layerCount festgelegt.
Die Struktur der Pixeldaten, auf die data verweist, wird durch sourceFormat und sourceType festgelegt. Das Hochladen der Pixeldaten kann optional durch options gesteuert werden.
Dies ist eine überladene Funktion.
void QOpenGLTexture::setDepthStencilMode(QOpenGLTexture::DepthStencilMode mode)
Bei Verwendung einer Textur mit einem kombinierten Tiefen-/Stencil-Format legt diese Funktion fest, auf welche Komponente der Textur zugegriffen wird: „ mode “.
Ist der Parameter auf „ DepthMode “ gesetzt, greift der Shader wie gewohnt auf die Tiefenkomponente als einzelnes Float-Wert zu. Ist der Parameter hingegen auf „ StencilMode “ gesetzt, greift der Shader auf die Stencil-Komponente zu.
Hinweis: Diese Funktion hat keine Auswirkungen auf Mac und Qt-Versionen, die für OpenGL ES 2 kompiliert wurden.
Siehe auch ` depthStencilMode()`.
void QOpenGLTexture::setFixedSamplePositions(bool fixed)
Legt fest, ob die Abtastpositionen und die Anzahl der Abtastungen bei einem Multisampling-fähigen Texturziel auf „ fixed “ gesetzt werden. Bei der Einstellung „ true “ sind die Abtastpositionen und die Anzahl der Abtastungen für alle Texel im Bild identisch 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 Auswirkung.
Der Standardwert ist „ true “.
Siehe auch ` isFixedSamplePositions()` und ` isStorageAllocated()`.
void QOpenGLTexture::setFormat(QOpenGLTexture::TextureFormat format)
Legt das Format dieses Texturobjekts auf „ format “ fest. Diese Funktion muss aufgerufen werden, bevor Speicherplatz für die Textur zugewiesen wird.
Beachten Sie, dass möglicherweise nicht alle Formate unterstützt werden. Die genauen unterstützten Formate hängen von Ihrer OpenGL-Implementierung und -Version ab.
Siehe auch „ format()“ und „ allocateStorage()“.
void QOpenGLTexture::setLayers(int layers)
Legt die Anzahl der Array- layers n fest, für die Speicherplatz zugewiesen werden soll. Diese Funktion sollte aufgerufen werden, bevor Speicherplatz für die Textur zugewiesen wird.
Bei Zielen, die Array-Ebenen nicht unterstützen, hat diese Funktion keine Auswirkung.
Siehe auch ` layers()` und ` isStorageAllocated()`.
void QOpenGLTexture::setLevelOfDetailRange(float min, float max)
Setzt die Parameter für die minimale Detailstufe auf „ min “ und für die maximale Detailstufe auf „ max “.
Hinweis: Diese Funktion hat keine Auswirkungen auf Qt OpenGL, das für OpenGL ES 2 kompiliert wurde.
Siehe auch levelOfDetailRange(), setMinimumLevelOfDetail() und setMaximumLevelOfDetail().
void QOpenGLTexture::setLevelofDetailBias(float bias)
Legt den Detailgrad-Versatz auf „ bias “ fest. Der Detailgrad-Versatz beeinflusst den Punkt, an dem sich die Mipmapping-Stufen ändern. Durch Erhöhen des Werts für den Detailgrad-Versatz werden die Bilder insgesamt unschärfer oder glatter. Durch Verringern des Werts werden die Bilder insgesamt schärfer.
Hinweis: Diese Funktion hat keine Auswirkungen auf Qt-Versionen, die für OpenGL ES 2 kompiliert wurden.
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 die maximale Detailstufe auf „ value “ fest. Dadurch wird die Auswahl der Mipmap mit der niedrigsten Auflösung (höchste Mipmap-Stufe) eingeschränkt. Der Standardwert ist 1000.
Hinweis: Diese Funktion hat keine Auswirkungen auf Qt-Versionen, die für OpenGL ES 2 kompiliert wurden.
Siehe auch „ maximumLevelOfDetail()“, „ setMinimumLevelOfDetail()“ und „ setLevelOfDetailRange()“.
void QOpenGLTexture::setMinMagFilters(QOpenGLTexture::Filter minificationFilter, QOpenGLTexture::Filter magnificationFilter)
Setzt den Minifizierungsfilter auf minificationFilter und den Vergrößerungsfilter auf magnificationFilter.
Siehe auch minMagFilters(), setMinificationFilter() und setMagnificationFilter().
void QOpenGLTexture::setMinificationFilter(QOpenGLTexture::Filter filter)
Legt den für die Minifizierung verwendeten Filter auf „ filter “ fest.
Siehe auch „ minificationFilter()“, „ setMagnificationFilter()“ und „ setMinMagFilters()“.
void QOpenGLTexture::setMinimumLevelOfDetail(float value)
Legt die minimale Detailstufe auf „ value “ fest. Dadurch wird die Auswahl der Mipmap mit der höchsten Auflösung (niedrigste Mipmap-Stufe) eingeschränkt. Der Standardwert ist -1000.
Hinweis: Diese Funktion hat keine Auswirkungen auf Qt-Versionen, die für OpenGL ES 2 kompiliert wurden.
Siehe auch „ minimumLevelOfDetail()“, „ setMaximumLevelOfDetail()“ und „ setLevelOfDetailRange()“.
void QOpenGLTexture::setMipBaseLevel(int baseLevel)
Setzt die Basis-Mipmap-Stufe, die für alle Texturabrufe mit dieser Textur verwendet wird, auf „ baseLevel “.
Hinweis: Diese Funktion hat keine Auswirkungen auf Qt OpenGL, das für OpenGL ES 2 kompiliert wurde.
Siehe auch mipBaseLevel(), setMipMaxLevel() und setMipLevelRange().
void QOpenGLTexture::setMipLevelRange(int baseLevel, int maxLevel)
Legt den Bereich der Mipmap-Ebenen fest, die für Texturabfragen mit dieser Textur verwendet werden können, und zwar von baseLevel bis maxLevel.
Hinweis: Diese Funktion hat keine Auswirkungen auf Qt OpenGL, das für OpenGL ES 2 kompiliert wurde.
Siehe auch setMipBaseLevel(), setMipMaxLevel() und mipLevelRange().
void QOpenGLTexture::setMipLevels(int levels)
Bei Texturzielen, die Mipmaps unterstützen, legt diese Funktion die gewünschte Anzahl von Mipmap- levels n fest, für die Speicherplatz zugewiesen werden soll. Diese Funktion sollte aufgerufen werden, bevor Speicherplatz für die Textur zugewiesen wird.
Wenn das Texturziel keine Mipmaps unterstützt, hat diese Funktion keine Auswirkung.
Siehe auch ` mipLevels()`, ` maximumMipLevels()` und ` isStorageAllocated()`.
void QOpenGLTexture::setMipMaxLevel(int maxLevel)
Legt die maximale Mipmap-Stufe fest, die für alle Texturabfragen mit dieser Textur verwendet wird, auf „ maxLevel “.
Hinweis: Diese Funktion hat keine Auswirkungen auf Qt-Versionen, die für OpenGL ES 2 kompiliert wurden.
Siehe auch „ mipMaxLevel()“, „ setMipBaseLevel()“ und „ setMipLevelRange()“.
void QOpenGLTexture::setSamples(int samples)
Legt die Anzahl der „ samples “ fest, für die Speicherplatz zugewiesen werden soll, wenn auf ein Multisampling-fähiges Texturziel gerendert wird. Diese Funktion sollte aufgerufen werden, bevor Speicherplatz für die Textur zugewiesen wird.
Bei Zielen, die kein Multisampling unterstützen, hat diese Funktion keine Auswirkung.
Siehe auch „ samples()“ und „ isStorageAllocated()“.
void QOpenGLTexture::setSize(int width, int height = 1, int depth = 1)
Legt die Abmessungen dieses Texturobjekts auf width, height und depth fest. Der Standardwert für jede Abmessung beträgt 1. Die maximal zulässige Texturgröße hängt von Ihrer OpenGL-Implementierung ab. Die Zuweisung von Speicherplatz für eine Textur, die kleiner als die maximale Größe ist, kann dennoch fehlschlagen, wenn Ihr System über zu wenige Ressourcen verfügt.
Wenn ein Wert für ` width`, ` height ` oder ` depth ` angegeben wird, der keine Zweierpotenz ist, und Ihre OpenGL-Implementierung keine Unterstützung für sich wiederholende Texturen bietet, die keine Zweierpotenz sind, 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 können die Komponenten des von Texturfunktionen zurückgegebenen vec4 neu anordnen. Es ist zudem wünschenswert, diese Neuanordnung über Code auf der CPU-Seite steuern zu können. Dies wird seit OpenGL 3.3 durch Swizzle-Masken ermöglicht.
Jede Komponente der Textur kann einer der Optionen „ SwizzleValue “ zugeordnet werden.
Diese Funktion ordnet „ component “ der Ausgabe „ value “ zu.
Hinweis: Diese Funktion hat auf Mac-Systemen und bei Qt-Versionen, die für OpenGL ES 2 kompiliert wurden, keine Wirkung.
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 zur Einstellung der Farben Rot, Grün, Blau und des Alpha-Werts verwendet werden.
Dies ist eine überladene Funktion.
void QOpenGLTexture::setWrapMode(QOpenGLTexture::WrapMode mode)
Legt den Wrap-Modus (oder Wiederholungsmodus) für alle Texturdimensionen auf „ mode “ fest.
Siehe auch ` wrapMode()`.
void QOpenGLTexture::setWrapMode(QOpenGLTexture::CoordinateDirection direction, QOpenGLTexture::WrapMode mode)
Legt den Wrap-Modus (oder Wiederholungsmodus) für die Textur-Dimension „ direction “ auf „ mode “ fest.
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, falls dieses 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 Wrap-Modus für die Texturdimension „ direction “ zurück.
Siehe auch 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.