Qt 3D Render C++ Classes
Le module Qt 3D Render contient des fonctionnalités permettant d'effectuer des rendus 2D et 3D à l'aide de Qt 3D. Plus...
Ce module est obsolète depuis la version 6.8. Il est fortement déconseillé de l'utiliser dans un nouveau code.
Espaces de noms
Contient des classes qui permettent le rendu 2D et 3D. | |
Espace de noms utilisé pour accéder aux classes Renderer et QRenderPlugin |
Classes
Encapsulent un objet QAbstractLight dans une scène Qt 3D | |
Classe de base abstraite pour le lancer de rayons dans les scènes 3D | |
Une classe de base à utiliser pour fournir des textures | |
Encapsule les informations nécessaires à la création d'une image de texture OpenGL | |
Activer le mode multi-échantillonnage alpha-to-coverage | |
Spécifie le test de référence alpha | |
Spécifie l'équation utilisée pour l'équation de mélange RVB et l'équation de mélange alpha. | |
Encapsule les informations de mélange : spécifie comment les valeurs entrantes (ce qui va être dessiné) vont affecter les valeurs existantes (ce qui est déjà dessiné). | |
Le nœud FrameGraph permet de transférer un rectangle de valeurs de pixels d'une région d'une cible de rendu à une autre. | |
Échange des données de la mémoire tampon entre le GPU et le CPU | |
Définit un point de vue à travers lequel la scène sera rendue | |
Qt3DRender::QCameraLens spécifie la matrice de projection qui sera utilisée pour définir une caméra pour une scène 3D | |
Classe permettant de sélectionner la caméra à utiliser | |
Classe permettant d'effacer les tampons | |
Active un plan d'écrêtage OpenGL supplémentaire qui peut être dans les shaders en utilisant gl_ClipDistance | |
Permet de spécifier quelles composantes de couleur doivent être écrites dans le frame buffer actuellement lié | |
QComponent to issue work for the compute shader on GPU (Composant QC pour émettre du travail pour le shader de calcul sur le GPU) | |
Spécifie si l'élimination des faces avant ou arrière est activée | |
Active une superposition visuelle avec les détails de la scène | |
Active le remappage des valeurs de profondeur écrites dans le tampon de profondeur | |
Teste la valeur de profondeur du nuanceur de fragment par rapport à la profondeur d'un échantillon en cours d'écriture. | |
Encapsuler un objet Lumière directionnelle dans une scène Qt 3D | |
Nœud FrameGraph pour émettre du travail pour le shader de calcul sur le GPU | |
Activer le tramage | |
Classe de base pour les effets dans une scène Qt 3D | |
Encapsuler un objet de lumière environnementale dans une scène Qt 3D | |
Stockage des clés de filtre et de leurs valeurs | |
Classe de base de tous les nœuds de configuration de FrameGraph | |
Définit les polygones orientés vers l'avant et l'arrière | |
Active l'élimination des frustes pour le FrameGraph | |
Encapsule le rendu de la géométrie | |
Identifie l'API requise pour la QTechnique attachée | |
Permet de filtrer les entités qui seront rendues | |
Contrôle les couches dessinées dans une branche du FrameGraph | |
Moyen de contrôler la complexité des entités rendues en fonction de leur taille à l'écran | |
Volume sphérique simple, défini par son centre et son rayon | |
Permet d'activer les entités enfants en fonction de la distance ou de la taille de l'écran | |
Spécifie la largeur des lignes tramées | |
Fournit une classe abstraite qui devrait être la base de toutes les classes de composants matériels dans une scène | |
Une classe pour placer une barrière mémoire | |
Un chargeur de maillage personnalisé | |
Activer l'anti-crénelage multi-échantillon | |
Désactiver l'écriture de la profondeur | |
Lorsqu'un noeud Qt3DRender::QNoDraw est présent dans une branche FrameGraph, cela empêche le moteur de rendu de rendre n'importe quelle primitive. | |
Lorsqu'un noeud Qt3DRender::QNoPicking est présent dans une branche FrameGraph, cela empêche le moteur de rendu d'effectuer une sélection pour la branche en question. | |
Instancie un composant qui peut être utilisé pour interagir avec une QEntity par un processus connu sous le nom de picking. | |
Une image QAbstractTextureImage qui peut être écrite par l'intermédiaire d'un QPainter. | |
Fournit un stockage pour une paire de nom et de valeur. Cela correspond à un uniforme de shader | |
Contient des informations lorsqu'un objet est prélevé | |
Contient des informations lorsqu'un segment d'une ligne est prélevé | |
Détient des informations lorsqu'un segment d'un nuage de points est prélevé | |
Détient des informations lorsqu'un triangle est sélectionné | |
Peut être utilisé pour fournir un QGeometryView alternatif utilisé uniquement pour le prélèvement | |
Spécifie comment le prélèvement d'entités est géré | |
Encapsule un objet Point Light dans une scène Qt 3D | |
Spécifie la taille des points tramés. Elle peut être définie de manière statique ou par des programmes de shaders. | |
Définit l'échelle et les étapes de calcul des valeurs de profondeur pour les décalages de polygones. | |
Sélectionne les entités qui se trouvent dans un certain seuil de distance par rapport à une entité cible. | |
L'état de rendu permet de contrôler le type de rastérisation à effectuer. | |
Qt3DRender::QRayCaster est utilisé pour effectuer des tests de lancer de rayon dans les coordonnées du monde 3D | |
Détails d'un impact lors de la projection d'un rayon à travers un modèle | |
Classe | |
Contient les paramètres relatifs aux moteurs de rendu disponibles | |
Nœud du graphe des images pour la capture du rendu | |
Reçoit le résultat de la demande de capture de rendu | |
Encapsule une passe de rendu | |
Stocke les vecteurs de clés et de paramètres de filtre | |
Contient les paramètres relatifs au processus de rendu et héberge le FrameGraph actif | |
Classe de base abstraite pour tous les états de rendu | |
Le nœud FrameGraph permet de spécifier un ensemble d'objets QRenderState à appliquer lors de l'exécution d'une branche FrameGraph. | |
Permet de spécifier la surface de rendu | |
Encapsule une cible (généralement un objet de tampon d'image) dans laquelle le moteur de rendu peut effectuer le rendu | |
Permet de spécifier l'attachement d'une cible de rendu (qu'il s'agisse d'une texture de couleur, d'une texture de profondeur, etc... ) | |
Fournit un moyen de spécifier une cible de rendu | |
permet de charger une scène existante | |
Élimine les fragments qui tombent en dehors d'une certaine partie rectangulaire de l'écran. | |
Effectue un test de lancer de rayon basé sur les coordonnées de l'écran | |
Permet le filtrage des textures cubemap en continu | |
FrameGraphNode utilisé pour insérer une clôture dans le flux de commandes graphiques | |
Permet de spécifier les valeurs d'un bloc uniforme ou d'une structure de nuanceur. | |
Fournit un accès d'image aux programmes de shaders | |
Encapsule un programme de nuanceurs | |
génère le contenu d'un programme de nuanceurs à partir de graphiques chargés | |
Permet d'utiliser un textureId d'un contexte OpenGL séparé dans une scène Qt 3D | |
Fournit un espace de stockage pour les types de tri à utiliser | |
Encapsule un objet Spot Light dans une scène Qt 3D | |
Contrôle l'écriture avant et arrière des bits individuels dans les plans du pochoir | |
Spécifie le fonctionnement du pochoir | |
Définit les actions à entreprendre lorsque les tests de stencil et de profondeur échouent | |
Spécifie les arguments pour le test du pochoir | |
Spécifie les arguments pour le test du pochoir | |
Active ou désactive des sous-arbres entiers de nœuds de graphe de cadre | |
Encapsule une technique | |
Un QFrameGraphNode utilisé pour sélectionner les QTechniques à utiliser | |
Une QAbstractTexture avec un format cible Target1D | |
Une QAbstractTexture avec un format cible Target1DArray | |
Une QAbstractTexture avec un format cible Target2D | |
Une QAbstractTexture avec un format cible Target2DArray | |
Une QAbstractTexture avec un format cible Target2DMultisample | |
A QAbstractTexture avec le format cible Target2DMultisampleArray | |
Une QAbstractTexture avec un format cible Target3D | |
A QAbstractTexture avec le format cible TargetBuffer | |
A QAbstractTexture avec le format de cible TargetCubeMap | |
Une QAbstractTexture avec un format de cible TargetCubeMapArray | |
Stocke des informations sur la texture telles que la cible, la hauteur, la largeur, la profondeur, les couches, l'habillage et si les mipmaps sont activés. | |
Contient le contenu et les informations nécessaires pour effectuer des mises à jour partielles du contenu d'une texture. | |
Encapsule les informations nécessaires à la création d'une image de texture OpenGL à partir d'une source d'image | |
Stocke les données représentant une texture | |
Fournit les données de l'image de texture pour QAbstractTextureImage | |
gère le chargement de la texture et la définition de ses propriétés. | |
Une QAbstractTexture avec un format cible TargetRectangle | |
Définit le mode d'enveloppement qu'un Qt3DRender::QAbstractTexture doit appliquer à une texture | |
Un viewport sur la scène Qt3D | |
FrameGraphNode utilisé pour attendre qu'une clôture dans le flux de commandes graphiques soit signalée. |
Description détaillée
Le module Qt 3D Render fournit un aspect, des composants et d'autres types nécessaires à la mise en œuvre du rendu 2D et 3D dans le cadre de Qt 3D.
Pour utiliser les classes de ce module, ajoutez cette directive dans les fichiers C++ :
#include <Qt3DRender>Pour établir un lien avec la bibliothèque C++ correspondante, ajoutez ce qui suit à votre fichier de projet qmake :
QT += 3drender
Les classes, les types et les fonctions sont déclarés dans l'espace de noms Qt3DRender.
Vue d'ensemble
L'aspect Qt 3D Render prend en charge la configuration basée sur les données, comme décrit dans Qt 3D Render Framegraph.
Sélection d'un backend de rendu
L'aspect Render est livré avec deux backends de rendu.
- Backend OpenGL (ES 2, ES 3.2, GL 2, GL 3, GL 3.2, GL 4.3)
- Le backend RHI (ES 2, GL, DirectX, Vulkan, Metal)
Si vous ciblez exclusivement OpenGL et que vous utilisez des fonctionnalités OpenGL spécifiques, il est préférable d'utiliser le backend OpenGL. C'est le backend OpenGL que Qt 3D a exclusivement utilisé dans la série Qt 5.
Dans les cas où vous n'utilisez pas de fonctionnalités OpenGL spécifiques et que vous souhaitez cibler différentes plates-formes qui pourraient avoir déprécié OpenGL, l'utilisation du backend RHI est une meilleure alternative.
Pour sélectionner votre moteur de rendu, la variable d'environnement QT3D_RENDERER doit être réglée sur "opengl" ou "rhi". La valeur par défaut est OpenGL.
Lorsque vous utilisez le backend RHI, vous pouvez forcer le backend RHI interne en définissant QSG_RHI_BACKEND à l'une des valeurs suivantes :
- opengl -> RHI OpenGL backend
- gl -> RHI OpenGL backend
- gles2 -> RHI OpenGL backend
- metal -> RHI Metal backend
- vulkan -> RHI Vulkan backend
- d3d11 -> RHI DirectX 11 backend
S'il n'est pas spécifié, RHI utilisera par défaut ce qu'il estime être le meilleur backend pour la plateforme.
Référence
© 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.