Sur cette page

Qt3DRender::QSharedGLTexture Class

class Qt3DRender::QSharedGLTexture

Permet d'utiliser un textureId provenant d'un contexte OpenGL distinct dans une scène Qt 3D. Plus...

En-tête : #include <Qt3DRender/QTexture>
CMake : find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake : QT += 3drender
En QML : SharedGLTexture
Hérite : Qt3DRender::QAbstractTexture
Statut : Déclassé

Propriétés

Fonctions publiques

int textureId() const

Emplacements publics

void setTextureId(int id)

Signaux

void textureIdChanged(int textureId)

Description détaillée

Selon le mode de rendu utilisé par Qt 3D, le contexte partagé sera soit :

  • qt_gl_global_share_context lorsque Qt 3D gère le rendu. En définissant l'attribut Qt::AA_ShareOpenGLContexts sur la classe QApplication, les instances de QOpenGLWidget auront automatiquement leur contexte partagé avec qt_gl_global_share_context.
  • le contexte partagé de la scène QtQuick. Vous devrez peut-être sous-classer QWindow ou utiliser QtQuickRenderControl pour avoir le contrôle sur le contexte partagé, mais depuis la version 5.13, il s'agit de qt_gl_global_share_context.

Tout moteur tiers qui partage son contexte avec le moteur de rendu Qt 3D peut maintenant fournir des identifiants de texture qui seront référencés par la texture Qt 3D.

Vous pouvez ne pas spécifier les propriétés de la texture, Qt 3D essaiera de les déterminer au moment de l'exécution. Si vous les connaissez, vous pouvez bien sûr les fournir, ce qui évitera du travail supplémentaire à Qt 3D.

Gardez à l'esprit que si vous utilisez des matériaux et des shaders personnalisés, vous devez spécifier le type d'échantillonneur correct à utiliser.

Documentation sur les propriétés

textureId : int

La valeur de l'identifiant de la texture OpenGL à laquelle vous voulez que Qt3D accède.

Fonctions d'accès :

int textureId() const
void setTextureId(int id)

Signal Notificateur :

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.