Qt3DRender::QSharedGLTexture Class
class Qt3DRender::QSharedGLTextureErmö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
- textureId : int
Ö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.
© 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.