Auf dieser Seite

Qt3DRender::QSharedGLTexture Class

class Qt3DRender::QSharedGLTexture

Ermöglicht die Verwendung eines „ textureId “ aus einem separaten OpenGL-Kontext in einer „ Qt 3D “-Szene. Mehr...

Header: #include <Qt3DRender/QTexture>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: QT += 3drender
In QML: SharedGLTexture
Erbt von: Qt3DRender::QAbstractTexture
Status: Veraltet

Diese Klasse ist veraltet. Wir raten dringend davon ab, sie in neuem Code zu verwenden.

Eigenschaften

Öffentliche Funktionen

int textureId() const

Öffentliche Slots

void setTextureId(int id)

Signale

void textureIdChanged(int textureId)

Detaillierte Beschreibung

Je nach dem von Qt 3D verwendeten Rendering-Modus ist der gemeinsam genutzte Kontext entweder:

  • qt_gl_global_share_context, wenn „ Qt 3D “ die Darstellung steuert. Wenn das Attribut „ Qt::AA_ShareOpenGLContexts “ für die Klasse „QApplication“ gesetzt wird, führt dies automatisch dazu, dass die Kontexte von „QOpenGLWidget“-Instanzen mit „qt_gl_global_share_context“ geteilt werden.
  • der gemeinsam genutzte Kontext aus der „ QtQuick “-Szene. Möglicherweise müssen Sie jedoch eine Unterklasse von ` QWindow ` erstellen oder `QtQuickRenderControl` verwenden, um die Kontrolle darüber zu haben, um welchen gemeinsam genutzten Kontext es sich handelt – ab Version 5.13 ist dies jedoch `qt_gl_global_share_context`.

Jede Engine eines Drittanbieters, die ihren Kontext mit dem „ Qt 3D “-Renderer teilt, kann nun Textur-IDs bereitstellen, auf die von der „ Qt 3D “-Textur verwiesen wird.

Sie können auf die Angabe der Textureigenschaften verzichten; „ Qt 3D “ versucht zur Laufzeit, diese zu ermitteln. Wenn Sie sie kennen, können Sie sie natürlich angeben, um „ Qt 3D “ zusätzliche Arbeit zu ersparen.

Beachten Sie, dass Sie bei der Verwendung benutzerdefinierter Materialien und Shader den richtigen Sampler-Typ angeben müssen.

Dokumentation zu den Eigenschaften

textureId : int

Der Wert der OpenGL-Textur-ID, auf die Qt3D zugreifen soll.

Zugriffsfunktionen:

int textureId() const
void setTextureId(int id)

Notifier-Signal:

void textureIdChanged(int textureId)

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