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.
Konstante | Wert | Beschreibung |
---|---|---|
QOpenGLTexture::BindingTarget1D | 0x8068 | Äquivalent zu GL_TEXTURE_BINDING_1D |
QOpenGLTexture::BindingTarget1DArray | 0x8C1C | Äquivalent zu GL_TEXTURE_BINDING_1D_ARRAY |
QOpenGLTexture::BindingTarget2D | 0x8069 | Äquivalent zu GL_TEXTURE_BINDING_2D |
QOpenGLTexture::BindingTarget2DArray | 0x8C1D | Äquivalent zu GL_TEXTURE_BINDING_2D_ARRAY |
QOpenGLTexture::BindingTarget3D | 0x806A | Äquivalent zu GL_TEXTURE_BINDING_3D |
QOpenGLTexture::BindingTargetCubeMap | 0x8514 | Äquivalent zu GL_TEXTURE_BINDING_CUBE_MAP |
QOpenGLTexture::BindingTargetCubeMapArray | 0x900A | Äquivalent zu GL_TEXTURE_BINDING_CUBE_MAP_ARRAY |
QOpenGLTexture::BindingTarget2DMultisample | 0x9104 | Äquivalent zu GL_TEXTURE_BINDING_2D_MULTISAMPLE |
QOpenGLTexture::BindingTarget2DMultisampleArray | 0x9105 | Äquivalent zu GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY |
QOpenGLTexture::BindingTargetRectangle | 0x84F6 | Äquivalent zu GL_TEXTURE_BINDING_RECTANGLE |
QOpenGLTexture::BindingTargetBuffer | 0x8C2C | Ä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.
Konstante | Wert | Beschreibung |
---|---|---|
QOpenGLTexture::CompareLessEqual | 0x0203 | Äquivalent zu GL_LEQUAL. |
QOpenGLTexture::CompareGreaterEqual | 0x0206 | Äquivalent zu GL_GEQUAL. |
QOpenGLTexture::CompareLess | 0x0201 | Äquivalent zu GL_LESS. |
QOpenGLTexture::CompareGreater | 0x0204 | Äquivalent zu GL_GREATER. |
QOpenGLTexture::CompareEqual | 0x0202 | Äquivalent zu GL_EQUAL. |
QOpenGLTexture::CompareNotEqual | 0x0205 | Äquivalent zu GL_NOTEQUAL. |
QOpenGLTexture::CompareAlways | 0x0207 | Äquivalent zu GL_ALWAYS. |
QOpenGLTexture::CompareNever | 0x0200 | Äquivalent zu GL_NEVER. |
enum QOpenGLTexture::ComparisonMode
Diese Aufzählung gibt an, welcher Vergleichsmodus beim Abtasten dieser Textur verwendet wird.
Konstante | Wert | Beschreibung |
---|---|---|
QOpenGLTexture::CompareRefToTexture | 0x884E | Äquivalent zu GL_COMPARE_REF_TO_TEXTURE. |
QOpenGLTexture::CompareNone | 0x0000 | Äquivalent zu GL_NONE. |
enum QOpenGLTexture::CoordinateDirection
Diese Aufzählung definiert die möglichen Texturkoordinatenrichtungen
Konstante | Wert | Beschreibung |
---|---|---|
QOpenGLTexture::DirectionS | 0x2802 | Die horizontale Richtung. Äquivalent zu GL_TEXTURE_WRAP_S |
QOpenGLTexture::DirectionT | 0x2803 | Die vertikale Richtung. Äquivalent zu GL_TEXTURE_WRAP_T |
QOpenGLTexture::DirectionR | 0x8072 | Die Tiefenrichtung. Äquivalent zu GL_TEXTURE_WRAP_R |
enum QOpenGLTexture::CubeMapFace
Diese Aufzählung definiert die möglichen CubeMap-Flächen.
Konstante | Wert | Beschreibung |
---|---|---|
QOpenGLTexture::CubeMapPositiveX | 0x8515 | Äquivalent zu GL_TEXTURE_CUBE_MAP_POSITIVE_X |
QOpenGLTexture::CubeMapNegativeX | 0x8516 | Äquivalent zu GL_TEXTURE_CUBE_MAP_NEGATIVE_X |
QOpenGLTexture::CubeMapPositiveY | 0x8517 | Äquivalent zu GL_TEXTURE_CUBE_MAP_POSITIVE_Y |
QOpenGLTexture::CubeMapNegativeY | 0x8518 | Äquivalent zu GL_TEXTURE_CUBE_MAP_NEGATIVE_Y |
QOpenGLTexture::CubeMapPositiveZ | 0x8519 | Äquivalent zu GL_TEXTURE_CUBE_MAP_POSITIVE_Z |
QOpenGLTexture::CubeMapNegativeZ | 0x851A | Ä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.
Konstante | Wert | Beschreibung |
---|---|---|
QOpenGLTexture::DepthMode | 0x1902 | Äquivalent zu GL_DEPTH_COMPONENT. |
QOpenGLTexture::StencilMode | 0x1901 | Ä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.
Konstante | Wert | Beschreibung |
---|---|---|
QOpenGLTexture::ImmutableStorage | 0x00000001 | Unterstützung für unveränderliche Texturspeicherung |
QOpenGLTexture::ImmutableMultisampleStorage | 0x00000002 | Unterstützung für unveränderliche Texturspeicherung mit Multisample-Zielen |
QOpenGLTexture::TextureRectangle | 0x00000004 | Unterstützung für das Ziel GL_TEXTURE_RECTANGLE |
QOpenGLTexture::TextureArrays | 0x00000008 | Unterstützung für Texturziele mit Array-Ebenen |
QOpenGLTexture::Texture3D | 0x00000010 | Unterstützung für das 3-dimensionale 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 Texturkomponenten-Swizzle-Masken |
QOpenGLTexture::StencilTexturing | 0x00000200 | Unterstützung für Stencil-Texturierung (d.h. Suche nach Tiefen- oder Stencil-Komponenten einer kombinierten Tiefen-/Stencil-Format-Textur in GLSL-Shadern). |
QOpenGLTexture::AnisotropicFiltering | 0x00000400 | Unterstützung für anisotrope Texturfilterung |
QOpenGLTexture::NPOTTextures | 0x00000800 | Grundlegende Unterstützung für Nicht-Power-of-Two-Texturen |
QOpenGLTexture::NPOTTextureRepeat | 0x00001000 | Volle Unterstützung für Nicht-Power-of-Two-Texturen, einschließlich Texturwiederholungsmodi |
QOpenGLTexture::Texture1D | 0x00002000 | Unterstützung für das 1-dimensionale Texturziel |
QOpenGLTexture::TextureComparisonOperators | 0x00004000 | Unterstützung für Texturvergleichsoperatoren |
QOpenGLTexture::TextureMipMapLevel | 0x00008000 | Unterstü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.
Konstante | Wert | Beschreibung |
---|---|---|
QOpenGLTexture::Nearest | 0x2600 | Äquivalent zu GL_NEAREST |
QOpenGLTexture::Linear | 0x2601 | Äquivalent zu GL_LINEAR |
QOpenGLTexture::NearestMipMapNearest | 0x2700 | Äquivalent zu GL_NEAREST_MIPMAP_NEAREST |
QOpenGLTexture::NearestMipMapLinear | 0x2702 | Äquivalent zu GL_NEAREST_MIPMAP_LINEAR |
QOpenGLTexture::LinearMipMapNearest | 0x2701 | Äquivalent zu GL_LINEAR_MIPMAP_NEAREST |
QOpenGLTexture::LinearMipMapLinear | 0x2703 | Äquivalent zu GL_LINEAR_MIPMAP_LINEAR |
enum QOpenGLTexture::MipMapGeneration
Diese Aufzählung definiert die Optionen zur Steuerung der Mipmap-Erzeugung.
Konstante | Wert | Beschreibung |
---|---|---|
QOpenGLTexture::GenerateMipMaps | 0 | Mipmaps sollen erzeugt werden |
QOpenGLTexture::DontGenerateMipMaps | 1 | Mipmaps sollen nicht generiert werden |
enum QOpenGLTexture::PixelFormat
Diese Aufzählung definiert die möglichen clientseitigen Pixelformate für eine Pixelübertragungsoperation.
Konstante | Wert | Beschreibung |
---|---|---|
QOpenGLTexture::NoSourceFormat | 0 | Äquivalent zu GL_NONE |
QOpenGLTexture::Red | 0x1903 | Äquivalent zu GL_RED |
QOpenGLTexture::RG | 0x8227 | Äquivalent zu GL_RG |
QOpenGLTexture::RGB | 0x1907 | Äquivalent zu GL_RGB |
QOpenGLTexture::BGR | 0x80E0 | Äquivalent zu GL_BGR |
QOpenGLTexture::RGBA | 0x1908 | Äquivalent zu GL_RGBA |
QOpenGLTexture::BGRA | 0x80E1 | Äquivalent zu GL_BGRA |
QOpenGLTexture::Red_Integer | 0x8D94 | Äquivalent zu GL_RED_INTEGER |
QOpenGLTexture::RG_Integer | 0x8228 | Äquivalent zu GL_RG_INTEGER |
QOpenGLTexture::RGB_Integer | 0x8D98 | Äquivalent zu GL_RGB_INTEGER |
QOpenGLTexture::BGR_Integer | 0x8D9A | Äquivalent zu GL_BGR_INTEGER |
QOpenGLTexture::RGBA_Integer | 0x8D99 | Äquivalent zu GL_RGBA_INTEGER |
QOpenGLTexture::BGRA_Integer | 0x8D9B | Äquivalent zu GL_BGRA_INTEGER |
QOpenGLTexture::Stencil | 0x1901 | Äquivalent zu GL_STENCIL_INDEX. Eingeführt in Qt 5.4 |
QOpenGLTexture::Depth | 0x1902 | Äquivalent zu GL_DEPTH_COMPONENT |
QOpenGLTexture::DepthStencil | 0x84F9 | Äquivalent zu GL_DEPTH_STENCIL |
QOpenGLTexture::Alpha | 0x1906 | Äquivalent zu GL_ALPHA (nur OpenGL ES 2) |
QOpenGLTexture::Luminance | 0x1909 | Äquivalent zu GL_LUMINANCE (nur OpenGL ES 2) |
QOpenGLTexture::LuminanceAlpha | 0x190A | Ä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
Konstante | Wert | Beschreibung |
---|---|---|
QOpenGLTexture::NoPixelType | 0 | Äquivalent zu GL_NONE |
QOpenGLTexture::Int8 | 0x1400 | Äquivalent zu GL_BYTE |
QOpenGLTexture::UInt8 | 0x1401 | Äquivalent zu GL_UNSIGNED_BYTE |
QOpenGLTexture::Int16 | 0x1402 | Äquivalent zu GL_SHORT |
QOpenGLTexture::UInt16 | 0x1403 | Äquivalent zu GL_UNSIGNED_SHORT |
QOpenGLTexture::Int32 | 0x1404 | Äquivalent zu GL_INT |
QOpenGLTexture::UInt32 | 0x1405 | Äquivalent zu GL_UNSIGNED_INT |
QOpenGLTexture::Float16 | 0x140B | Äquivalent zu GL_HALF_FLOAT |
QOpenGLTexture::Float16OES | 0x8D61 | Äquivalent zu GL_HALF_FLOAT_OES |
QOpenGLTexture::Float32 | 0x1406 | Äquivalent zu GL_FLOAT |
QOpenGLTexture::UInt32_RGB9_E5 | 0x8C3E | Äquivalent zu GL_UNSIGNED_INT_5_9_9_9_REV |
QOpenGLTexture::UInt32_RG11B10F | 0x8C3B | Äquivalent zu GL_UNSIGNED_INT_10F_11F_11F_REV |
QOpenGLTexture::UInt8_RG3B2 | 0x8032 | Äquivalent zu GL_UNSIGNED_BYTE_3_3_2 |
QOpenGLTexture::UInt8_RG3B2_Rev | 0x8362 | Äquivalent zu GL_UNSIGNED_BYTE_2_3_3_REV |
QOpenGLTexture::UInt16_RGB5A1 | 0x8034 | Äquivalent zu GL_UNSIGNED_SHORT_5_5_5_1 |
QOpenGLTexture::UInt16_RGB5A1_Rev | 0x8366 | Äquivalent zu GL_UNSIGNED_SHORT_1_5_5_5_REV |
QOpenGLTexture::UInt16_R5G6B5 | 0x8363 | Äquivalent zu GL_UNSIGNED_SHORT_5_6_5 |
QOpenGLTexture::UInt16_R5G6B5_Rev | 0x8364 | Äquivalent zu GL_UNSIGNED_SHORT_5_6_5_REV |
QOpenGLTexture::UInt16_RGBA4 | 0x8033 | Äquivalent zu GL_UNSIGNED_SHORT_4_4_4 |
QOpenGLTexture::UInt16_RGBA4_Rev | 0x8365 | Äquivalent zu GL_UNSIGNED_SHORT_4_4_4_REV |
QOpenGLTexture::UInt32_RGBA8 | 0x8035 | Äquivalent zu GL_UNSIGNED_INT_8_8_8 |
QOpenGLTexture::UInt32_RGBA8_Rev | 0x8367 | Äquivalent zu GL_UNSIGNED_INT_8_8_8_REV |
QOpenGLTexture::UInt32_RGB10A2 | 0x8036 | Äquivalent zu GL_UNSIGNED_INT_10_10_10_2 |
QOpenGLTexture::UInt32_RGB10A2_Rev | 0x8368 | Äquivalent zu GL_UNSIGNED_INT_2_10_10_10_REV |
QOpenGLTexture::UInt32_D24S8 | 0x84FA | Äquivalent zu GL_UNSIGNED_INT_24_8. Eingeführt in Qt 5.4 |
QOpenGLTexture::Float32_D32_UInt32_S8_X24 | 0x8DAD | Ä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.
Konstante | Wert | Beschreibung |
---|---|---|
QOpenGLTexture::SwizzleRed | 0x8E42 | Die rote Komponente. Äquivalent zu GL_TEXTURE_SWIZZLE_R |
QOpenGLTexture::SwizzleGreen | 0x8E43 | Die grüne Komponente. Äquivalent zu GL_TEXTURE_SWIZZLE_G |
QOpenGLTexture::SwizzleBlue | 0x8E44 | Die blaue Komponente. Äquivalent zu GL_TEXTURE_SWIZZLE_B |
QOpenGLTexture::SwizzleAlpha | 0x8E45 | Die Alphakomponente. Äquivalent zu GL_TEXTURE_SWIZZLE_A |
enum QOpenGLTexture::SwizzleValue
Diese Aufzählung definiert die möglichen Maskenwerte für Texture Swizzling.
Konstante | Wert | Beschreibung |
---|---|---|
QOpenGLTexture::RedValue | 0x1903 | Ordnet die Komponente dem Rotkanal zu. Äquivalent zu GL_RED |
QOpenGLTexture::GreenValue | 0x1904 | Ordnet die Komponente dem Grün-Kanal zu. Äquivalent zu GL_GREEN |
QOpenGLTexture::BlueValue | 0x1905 | Überträgt die Komponente auf den Blaukanal. Äquivalent zu GL_BLUE |
QOpenGLTexture::AlphaValue | 0x1906 | Überträgt die Komponente auf den Alphakanal. Äquivalent zu GL_ALPHA |
QOpenGLTexture::ZeroValue | 0 | Stellt die Komponente auf einen festen Wert von 0 ein. Entspricht GL_ZERO |
QOpenGLTexture::OneValue | 1 | Ü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.
Konstante | Wert | Beschreibung |
---|---|---|
QOpenGLTexture::Target1D | 0x0DE0 | Eine 1-dimensionale Textur. Äquivalent zu GL_TEXTURE_1D. |
QOpenGLTexture::Target1DArray | 0x8C18 | Ein Array von 1-dimensionalen Texturen. Äquivalent zu GL_TEXTURE_1D_ARRAY |
QOpenGLTexture::Target2D | 0x0DE1 | Eine 2-dimensionale Textur. Äquivalent zu GL_TEXTURE_2D |
QOpenGLTexture::Target2DArray | 0x8C1A | Ein Array von 2-dimensionalen Texturen. Äquivalent zu GL_TEXTURE_2D_ARRAY |
QOpenGLTexture::Target3D | 0x806F | Eine 3-dimensionale Textur. Äquivalent zu GL_TEXTURE_3D |
QOpenGLTexture::TargetCubeMap | 0x8513 | Eine Cubemap-Textur. Äquivalent zu GL_TEXTURE_CUBE_MAP |
QOpenGLTexture::TargetCubeMapArray | 0x9009 | Ein Array von Cubemap-Texturen. Äquivalent zu GL_TEXTURE_CUBE_MAP_ARRAY |
QOpenGLTexture::Target2DMultisample | 0x9100 | Eine 2-dimensionale Textur mit Multisample-Unterstützung. Äquivalent zu GL_TEXTURE_2D_MULTISAMPLE |
QOpenGLTexture::Target2DMultisampleArray | 0x9102 | Ein Array von 2-dimensionalen Texturen mit Multisample-Unterstützung. Äquivalent zu GL_TEXTURE_2D_MULTISAMPLE_ARRAY |
QOpenGLTexture::TargetRectangle | 0x84F5 | Eine rechteckige 2-dimensionale Textur. Äquivalent zu GL_TEXTURE_RECTANGLE |
QOpenGLTexture::TargetBuffer | 0x8C2A | Eine 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.
Konstante | Wert | Beschreibung |
---|---|---|
QOpenGLTexture::NoFormat | 0 | Äquivalent zu GL_NONE |
QOpenGLTexture::R8_UNorm | 0x8229 | Äquivalent zu GL_R8 |
QOpenGLTexture::RG8_UNorm | 0x822B | Äquivalent zu GL_RG8 |
QOpenGLTexture::RGB8_UNorm | 0x8051 | Äquivalent zu GL_RGB8 |
QOpenGLTexture::RGBA8_UNorm | 0x8058 | Äquivalent zu GL_RGBA8 |
QOpenGLTexture::R16_UNorm | 0x822A | Äquivalent zu GL_R16 |
QOpenGLTexture::RG16_UNorm | 0x822C | Äquivalent zu GL_RG16 |
QOpenGLTexture::RGB16_UNorm | 0x8054 | Äquivalent zu GL_RGB16 |
QOpenGLTexture::RGBA16_UNorm | 0x805B | Äquivalent zu GL_RGBA16 |
QOpenGLTexture::R8_SNorm | 0x8F94 | Äquivalent zu GL_R8_SNORM |
QOpenGLTexture::RG8_SNorm | 0x8F95 | Äquivalent zu GL_RG8_SNORM |
QOpenGLTexture::RGB8_SNorm | 0x8F96 | Äquivalent zu GL_RGB8_SNORM |
QOpenGLTexture::RGBA8_SNorm | 0x8F97 | Äquivalent zu GL_RGBA8_SNORM |
QOpenGLTexture::R16_SNorm | 0x8F98 | Äquivalent zu GL_R16_SNORM |
QOpenGLTexture::RG16_SNorm | 0x8F99 | Äquivalent zu GL_RG16_SNORM |
QOpenGLTexture::RGB16_SNorm | 0x8F9A | Äquivalent zu GL_RGB16_SNORM |
QOpenGLTexture::RGBA16_SNorm | 0x8F9B | Äquivalent zu GL_RGBA16_SNORM |
QOpenGLTexture::R8U | 0x8232 | Äquivalent zu GL_R8UI |
QOpenGLTexture::RG8U | 0x8238 | Äquivalent zu GL_RG8UI |
QOpenGLTexture::RGB8U | 0x8D7D | Äquivalent zu GL_RGB8UI |
QOpenGLTexture::RGBA8U | 0x8D7C | Äquivalent zu GL_RGBA8UI |
QOpenGLTexture::R16U | 0x8234 | Äquivalent zu GL_R16UI |
QOpenGLTexture::RG16U | 0x823A | Äquivalent zu GL_RG16UI |
QOpenGLTexture::RGB16U | 0x8D77 | Äquivalent zu GL_RGB16UI |
QOpenGLTexture::RGBA16U | 0x8D76 | Äquivalent zu GL_RGBA16UI |
QOpenGLTexture::R32U | 0x8236 | Äquivalent zu GL_R32UI |
QOpenGLTexture::RG32U | 0x823C | Äquivalent zu GL_RG32UI |
QOpenGLTexture::RGB32U | 0x8D71 | Äquivalent zu GL_RGB32UI |
QOpenGLTexture::RGBA32U | 0x8D70 | Äquivalent zu GL_RGBA32UI |
QOpenGLTexture::R8I | 0x8231 | Äquivalent zu GL_R8I |
QOpenGLTexture::RG8I | 0x8237 | Äquivalent zu GL_RG8I |
QOpenGLTexture::RGB8I | 0x8D8F | Äquivalent zu GL_RGB8I |
QOpenGLTexture::RGBA8I | 0x8D8E | Äquivalent zu GL_RGBA8I |
QOpenGLTexture::R16I | 0x8233 | Äquivalent zu GL_R16I |
QOpenGLTexture::RG16I | 0x8239 | Äquivalent zu GL_RG16I |
QOpenGLTexture::RGB16I | 0x8D89 | Äquivalent zu GL_RGB16I |
QOpenGLTexture::RGBA16I | 0x8D88 | Äquivalent zu GL_RGBA16I |
QOpenGLTexture::R32I | 0x8235 | Äquivalent zu GL_R32I |
QOpenGLTexture::RG32I | 0x823B | Äquivalent zu GL_RG32I |
QOpenGLTexture::RGB32I | 0x8D83 | Äquivalent zu GL_RGB32I |
QOpenGLTexture::RGBA32I | 0x8D82 | Äquivalent zu GL_RGBA32I |
QOpenGLTexture::R16F | 0x822D | Äquivalent zu GL_R16F |
QOpenGLTexture::RG16F | 0x822F | Äquivalent zu GL_RG16F |
QOpenGLTexture::RGB16F | 0x881B | Äquivalent zu GL_RGB16F |
QOpenGLTexture::RGBA16F | 0x881A | Äquivalent zu GL_RGBA16F |
QOpenGLTexture::R32F | 0x822E | Äquivalent zu GL_R32F |
QOpenGLTexture::RG32F | 0x8230 | Äquivalent zu GL_RG32F |
QOpenGLTexture::RGB32F | 0x8815 | Äquivalent zu GL_RGB32F |
QOpenGLTexture::RGBA32F | 0x8814 | Äquivalent zu GL_RGBA32F |
QOpenGLTexture::RGB9E5 | 0x8C3D | Äquivalent zu GL_RGB9_E5 |
QOpenGLTexture::RG11B10F | 0x8C3A | Äquivalent zu GL_R11F_G11F_B10F |
QOpenGLTexture::RG3B2 | 0x2A10 | Äquivalent zu GL_R3_G3_B2 |
QOpenGLTexture::R5G6B5 | 0x8D62 | Äquivalent zu GL_RGB565 |
QOpenGLTexture::RGB5A1 | 0x8057 | Äquivalent zu GL_RGB5_A1 |
QOpenGLTexture::RGBA4 | 0x8056 | Äquivalent zu GL_RGBA4 |
QOpenGLTexture::RGB10A2 | 0x906F | Äquivalent zu GL_RGB10_A2UI |
QOpenGLTexture::D16 | 0x81A5 | Äquivalent zu GL_DEPTH_COMPONENT16 |
QOpenGLTexture::D24 | 0x81A6 | Äquivalent zu GL_DEPTH_COMPONENT24 |
QOpenGLTexture::D24S8 | 0x88F0 | Äquivalent zu GL_DEPTH24_STENCIL8 |
QOpenGLTexture::D32 | 0x81A7 | Äquivalent zu GL_DEPTH_COMPONENT32 |
QOpenGLTexture::D32F | 0x8CAC | Äquivalent zu GL_DEPTH_COMPONENT32F |
QOpenGLTexture::D32FS8X24 | 0x8CAD | Äquivalent zu GL_DEPTH32F_STENCIL8 |
QOpenGLTexture::S8 | 0x8D48 | Äquivalent zu GL_STENCIL_INDEX8. Eingeführt in Qt 5.4 |
QOpenGLTexture::RGB_DXT1 | 0x83F0 | Äquivalent zu GL_COMPRESSED_RGB_S3TC_DXT1_EXT |
QOpenGLTexture::RGBA_DXT1 | 0x83F1 | Äquivalent zu GL_COMPRESSED_RGBA_S3TC_DXT1_EXT |
QOpenGLTexture::RGBA_DXT3 | 0x83F2 | Äquivalent zu GL_COMPRESSED_RGBA_S3TC_DXT3_EXT |
QOpenGLTexture::RGBA_DXT5 | 0x83F3 | Äquivalent zu GL_COMPRESSED_RGBA_S3TC_DXT5_EXT |
QOpenGLTexture::R_ATI1N_UNorm | 0x8DBB | Äquivalent zu GL_COMPRESSED_RED_RGTC1 |
QOpenGLTexture::R_ATI1N_SNorm | 0x8DBC | Äquivalent zu GL_COMPRESSED_SIGNED_RED_RGTC1 |
QOpenGLTexture::RG_ATI2N_UNorm | 0x8DBD | Äquivalent zu GL_COMPRESSED_RG_RGTC2 |
QOpenGLTexture::RG_ATI2N_SNorm | 0x8DBE | Äquivalent zu GL_COMPRESSED_SIGNED_RG_RGTC2 |
QOpenGLTexture::RGB_BP_UNSIGNED_FLOAT | 0x8E8F | Äquivalent zu GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB |
QOpenGLTexture::RGB_BP_SIGNED_FLOAT | 0x8E8E | Äquivalent zu GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB |
QOpenGLTexture::RGB_BP_UNorm | 0x8E8C | Äquivalent zu GL_COMPRESSED_RGBA_BPTC_UNORM_ARB |
QOpenGLTexture::R11_EAC_UNorm | 0x9270 | Äquivalent zu GL_COMPRESSED_R11_EAC |
QOpenGLTexture::R11_EAC_SNorm | 0x9271 | Äquivalent zu GL_COMPRESSED_SIGNED_R11_EAC |
QOpenGLTexture::RG11_EAC_UNorm | 0x9272 | Äquivalent zu GL_COMPRESSED_RG11_EAC |
QOpenGLTexture::RG11_EAC_SNorm | 0x9273 | Äquivalent zu GL_COMPRESSED_SIGNED_RG11_EAC |
QOpenGLTexture::RGB8_ETC2 | 0x9274 | Äquivalent zu GL_COMPRESSED_RGB8_ETC2 |
QOpenGLTexture::SRGB8_ETC2 | 0x9275 | Äquivalent zu GL_COMPRESSED_SRGB8_ETC2 |
QOpenGLTexture::RGB8_PunchThrough_Alpha1_ETC2 | 0x9276 | Äquivalent zu GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 |
QOpenGLTexture::SRGB8_PunchThrough_Alpha1_ETC2 | 0x9277 | Äquivalent zu GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 |
QOpenGLTexture::RGBA8_ETC2_EAC | 0x9278 | Äquivalent zu GL_COMPRESSED_RGBA8_ETC2_EAC |
QOpenGLTexture::SRGB8_Alpha8_ETC2_EAC | 0x9279 | Äquivalent zu GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC |
QOpenGLTexture::RGB8_ETC1 | 0x8D64 | Äquivalent zu GL_ETC1_RGB8_OES |
QOpenGLTexture::RGBA_ASTC_4x4 | 0x93B0 | Äquivalent zu GL_COMPRESSED_RGBA_ASTC_4x4_KHR |
QOpenGLTexture::RGBA_ASTC_5x4 | 0x93B1 | Äquivalent zu GL_COMPRESSED_RGBA_ASTC_5x4_KHR |
QOpenGLTexture::RGBA_ASTC_5x5 | 0x93B2 | Äquivalent zu GL_COMPRESSED_RGBA_ASTC_5x5_KHR |
QOpenGLTexture::RGBA_ASTC_6x5 | 0x93B3 | Äquivalent zu GL_COMPRESSED_RGBA_ASTC_6x5_KHR |
QOpenGLTexture::RGBA_ASTC_6x6 | 0x93B4 | Äquivalent zu GL_COMPRESSED_RGBA_ASTC_6x6_KHR |
QOpenGLTexture::RGBA_ASTC_8x5 | 0x93B5 | Äquivalent zu GL_COMPRESSED_RGBA_ASTC_8x5_KHR |
QOpenGLTexture::RGBA_ASTC_8x6 | 0x93B6 | Äquivalent zu GL_COMPRESSED_RGBA_ASTC_8x6_KHR |
QOpenGLTexture::RGBA_ASTC_8x8 | 0x93B7 | Äquivalent zu GL_COMPRESSED_RGBA_ASTC_8x8_KHR |
QOpenGLTexture::RGBA_ASTC_10x5 | 0x93B8 | Äquivalent zu GL_COMPRESSED_RGBA_ASTC_10x5_KHR |
QOpenGLTexture::RGBA_ASTC_10x6 | 0x93B9 | Äquivalent zu GL_COMPRESSED_RGBA_ASTC_10x6_KHR |
QOpenGLTexture::RGBA_ASTC_10x8 | 0x93BA | Äquivalent zu GL_COMPRESSED_RGBA_ASTC_10x8_KHR |
QOpenGLTexture::RGBA_ASTC_10x10 | 0x93BB | Äquivalent zu GL_COMPRESSED_RGBA_ASTC_10x10_KHR |
QOpenGLTexture::RGBA_ASTC_12x10 | 0x93BC | Äquivalent zu GL_COMPRESSED_RGBA_ASTC_12x10_KHR |
QOpenGLTexture::RGBA_ASTC_12x12 | 0x93BD | Äquivalent zu GL_COMPRESSED_RGBA_ASTC_12x12_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_4x4 | 0x93D0 | Äquivalent zu GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_5x4 | 0x93D1 | Äquivalent zu GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_5x5 | 0x93D2 | Äquivalent zu GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_6x5 | 0x93D3 | Äquivalent zu GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_6x6 | 0x93D4 | Äquivalent zu GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_8x5 | 0x93D5 | Äquivalent zu GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_8x6 | 0x93D6 | Äquivalent zu GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_8x8 | 0x93D7 | Äquivalent zu GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x5 | 0x93D8 | Äquivalent zu GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x6 | 0x93D9 | Äquivalent zu GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x8 | 0x93DA | Äquivalent zu GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x10 | 0x93DB | Äquivalent zu GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_12x10 | 0x93DC | Äquivalent zu GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_12x12 | 0x93DD | Äquivalent zu GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR |
QOpenGLTexture::SRGB8 | 0x8C41 | Äquivalent zu GL_SRGB8 |
QOpenGLTexture::SRGB8_Alpha8 | 0x8C43 | Äquivalent zu GL_SRGB8_ALPHA8 |
QOpenGLTexture::SRGB_DXT1 | 0x8C4C | Äquivalent zu GL_COMPRESSED_SRGB_S3TC_DXT1_EXT |
QOpenGLTexture::SRGB_Alpha_DXT1 | 0x8C4D | Äquivalent zu GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT |
QOpenGLTexture::SRGB_Alpha_DXT3 | 0x8C4E | Äquivalent zu GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT |
QOpenGLTexture::SRGB_Alpha_DXT5 | 0x8C4F | Äquivalent zu GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT |
QOpenGLTexture::SRGB_BP_UNorm | 0x8E8D | Äquivalent zu GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB |
QOpenGLTexture::DepthFormat | 0x1902 | Äquivalent zu GL_DEPTH_COMPONENT (nur OpenGL ES 3 oder ES 2 mit OES_depth_texture) |
QOpenGLTexture::AlphaFormat | 0x1906 | Äquivalent zu GL_ALPHA (nur OpenGL ES 2) |
QOpenGLTexture::RGBFormat | 0x1907 | Äquivalent zu GL_RGB (nur OpenGL ES 2) |
QOpenGLTexture::RGBAFormat | 0x1908 | Äquivalent zu GL_RGBA (nur OpenGL ES 2) |
QOpenGLTexture::LuminanceFormat | 0x1909 | Äquivalent zu GL_LUMINANCE (nur OpenGL ES 2) |
QOpenGLTexture::LuminanceAlphaFormat | 0x190A | Äquivalent zu GL_LUMINANCE_ALPHA (nur OpenGL ES 2) |
enum QOpenGLTexture::TextureUnitReset
Diese Aufzählung definiert Optionen zur Steuerung der Aktivierung der Textureinheit.
Konstante | Wert | Beschreibung |
---|---|---|
QOpenGLTexture::ResetTextureUnit | 0 | Die vorher aktive Textureinheit wird zurückgesetzt |
QOpenGLTexture::DontResetTextureUnit | 1 | Die zuvor aktive Textureinheit wird nicht zurückgesetzt |
enum QOpenGLTexture::WrapMode
Diese Aufzählung definiert die möglichen Texturkoordinaten-Wrapping-Modi.
Konstante | Wert | Beschreibung |
---|---|---|
QOpenGLTexture::Repeat | 0x2901 | Texturkoordinate wird wiederholt. Äquivalent zu GL_REPEAT |
QOpenGLTexture::MirroredRepeat | 0x8370 | Texturkoordinate wird um 0 und 1 gespiegelt. Äquivalent zu GL_MIRRORED_REPEAT |
QOpenGLTexture::ClampToEdge | 0x812F | Klemmt die Texturkoordinaten auf [0,1]. Äquivalent zu GL_CLAMP_TO_EDGE |
QOpenGLTexture::ClampToBorder | 0x812D | Wie 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.