QOpenGLFramebufferObjectFormat Class

Die Klasse QOpenGLFramebufferObjectFormat spezifiziert das Format eines OpenGL-Framebuffer-Objekts. Mehr...

Kopfzeile: #include <QOpenGLFramebufferObjectFormat>
CMake: find_package(Qt6 REQUIRED COMPONENTS OpenGL)
target_link_libraries(mytarget PRIVATE Qt6::OpenGL)
qmake: QT += opengl

Öffentliche Funktionen

QOpenGLFramebufferObjectFormat()
QOpenGLFramebufferObjectFormat(const QOpenGLFramebufferObjectFormat &other)
~QOpenGLFramebufferObjectFormat()
QOpenGLFramebufferObject::Attachment attachment() const
GLenum internalTextureFormat() const
bool mipmap() const
int samples() const
void setAttachment(QOpenGLFramebufferObject::Attachment attachment)
void setInternalTextureFormat(GLenum internalTextureFormat)
void setMipmap(bool enabled)
void setSamples(int samples)
void setTextureTarget(GLenum target)
GLenum textureTarget() const
bool operator!=(const QOpenGLFramebufferObjectFormat &other) const
QOpenGLFramebufferObjectFormat &operator=(const QOpenGLFramebufferObjectFormat &other)
bool operator==(const QOpenGLFramebufferObjectFormat &other) const

Detaillierte Beschreibung

Ein Framebuffer-Objekt hat mehrere Eigenschaften:

Beachten Sie, dass die gewünschten Anhänge oder die Anzahl der Samples pro Pixel möglicherweise nicht vom Hardwaretreiber unterstützt werden. Rufen Sie QOpenGLFramebufferObject::format() nach der Erstellung eines QOpenGLFramebufferObject auf, um das genaue Format zu ermitteln, das zur Erstellung des Framebuffer-Objekts verwendet wurde.

Siehe auch QOpenGLFramebufferObject.

Dokumentation der Mitgliedsfunktionen

QOpenGLFramebufferObjectFormat::QOpenGLFramebufferObjectFormat()

Erzeugt ein QOpenGLFramebufferObjectFormat-Objekt zur Angabe des Formats eines OpenGL-Framebuffer-Objekts.

Standardmäßig spezifiziert das Format ein Non-Multisample-Framebuffer-Objekt ohne Tiefen-/Schablonenanhänge, Texturziel GL_TEXTURE_2D und internes Format GL_RGBA8. Auf OpenGL/ES-Systemen ist das standardmäßige interne Format GL_RGBA.

Siehe auch samples(), attachment(), und internalTextureFormat().

QOpenGLFramebufferObjectFormat::QOpenGLFramebufferObjectFormat(const QOpenGLFramebufferObjectFormat &other)

Konstruiert eine Kopie von other.

[noexcept] QOpenGLFramebufferObjectFormat::~QOpenGLFramebufferObjectFormat()

Zerstört die QOpenGLFramebufferObjectFormat.

QOpenGLFramebufferObject::Attachment QOpenGLFramebufferObjectFormat::attachment() const

Gibt die Konfiguration der Tiefen- und Schablonenpuffer zurück, die an ein Framebuffer-Objekt angehängt sind. Die Vorgabe ist QOpenGLFramebufferObject::NoAttachment.

Siehe auch setAttachment().

GLenum QOpenGLFramebufferObjectFormat::internalTextureFormat() const

Gibt das interne Format der Textur eines Framebuffer-Objekts oder des Farbpuffers eines Multisample-Framebuffer-Objekts zurück. Die Vorgabe ist GL_RGBA8 auf Desktop-OpenGL-Systemen und GL_RGBA auf OpenGL/ES-Systemen.

Siehe auch setInternalTextureFormat().

bool QOpenGLFramebufferObjectFormat::mipmap() const

Gibt true zurück, wenn Mipmapping aktiviert ist.

Siehe auch setMipmap().

int QOpenGLFramebufferObjectFormat::samples() const

Gibt die Anzahl der Samples pro Pixel zurück, wenn ein Framebuffer-Objekt ein Multisample-Framebuffer-Objekt ist. Andernfalls wird 0 zurückgegeben. Der Standardwert ist 0.

Siehe auch setSamples().

void QOpenGLFramebufferObjectFormat::setAttachment(QOpenGLFramebufferObject::Attachment attachment)

Setzt die Bindungskonfiguration eines Framebuffer-Objekts auf attachment.

Siehe auch attachment().

void QOpenGLFramebufferObjectFormat::setInternalTextureFormat(GLenum internalTextureFormat)

Setzt das interne Format der Textur eines Framebuffer-Objekts oder des Farbpuffers eines Multisample-Framebuffer-Objekts auf internalTextureFormat.

Siehe auch internalTextureFormat().

void QOpenGLFramebufferObjectFormat::setMipmap(bool enabled)

Aktiviert Mipmapping, wenn enabled true ist; andernfalls wird es deaktiviert.

Mipmapping ist standardmäßig deaktiviert.

Wenn Mipmapping aktiviert ist, wird zusätzlicher Speicher für die Mipmap-Ebenen zugewiesen. Die Mipmap-Ebenen können aktualisiert werden, indem die Textur gebunden und glGenerateMipmap() aufgerufen wird. Mipmapping kann nicht für multisampled Framebuffer-Objekte aktiviert werden.

Siehe auch mipmap() und QOpenGLFramebufferObject::texture().

void QOpenGLFramebufferObjectFormat::setSamples(int samples)

Setzt die Anzahl der Samples pro Pixel für ein Multisample-Framebuffer-Objekt auf samples. Die Standard-Sample-Anzahl von 0 steht für ein normales Nicht-Multisample-Framebuffer-Objekt.

Wenn die gewünschte Anzahl von Samples pro Pixel von der Hardware nicht unterstützt wird, wird die maximale Anzahl von Samples pro Pixel verwendet. Beachten Sie, dass Multisample-Framebuffer-Objekte nicht als Texturen gebunden werden können. Außerdem ist die Erweiterung GL_EXT_framebuffer_multisample erforderlich, um einen Framebuffer mit mehr als einem Sample pro Pixel zu erstellen.

Siehe auch samples().

void QOpenGLFramebufferObjectFormat::setTextureTarget(GLenum target)

Setzt das Texturziel der an ein Framebuffer-Objekt angehängten Textur auf target. Bei Multisample-Framebuffer-Objekten ignoriert.

Siehe auch textureTarget() und samples().

GLenum QOpenGLFramebufferObjectFormat::textureTarget() const

Gibt das Texturziel der Textur zurück, die an ein Framebuffer-Objekt angehängt ist. Wird bei Multisample-Framebuffer-Objekten ignoriert. Die Vorgabe ist GL_TEXTURE_2D.

Siehe auch setTextureTarget() und samples().

bool QOpenGLFramebufferObjectFormat::operator!=(const QOpenGLFramebufferObjectFormat &other) const

Gibt false zurück, wenn alle Optionen dieses Framebuffer-Objektformats mit other übereinstimmen; andernfalls wird true zurückgegeben.

QOpenGLFramebufferObjectFormat &QOpenGLFramebufferObjectFormat::operator=(const QOpenGLFramebufferObjectFormat &other)

Weist diesem Objekt other zu.

bool QOpenGLFramebufferObjectFormat::operator==(const QOpenGLFramebufferObjectFormat &other) const

Gibt true zurück, wenn alle Optionen dieses Framebuffer-Objektformats mit other übereinstimmen; andernfalls wird false zurückgegeben.

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