Sur cette page

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

Qt3DRender

Contient des classes qui permettent le rendu 2D et 3D.

Qt3DRender::Render

Espace de noms utilisé pour accéder aux classes Renderer et QRenderPlugin

Classes

Qt3DRender::QAbstractLight

Encapsulent un objet QAbstractLight dans une scène Qt 3D

Qt3DRender::QAbstractRayCaster

Classe de base abstraite pour le lancer de rayons dans les scènes 3D

Qt3DRender::QAbstractTexture

Une classe de base à utiliser pour fournir des textures

Qt3DRender::QAbstractTextureImage

Encapsule les informations nécessaires à la création d'une image de texture OpenGL

Qt3DRender::QAlphaCoverage

Activer le mode multi-échantillonnage alpha-to-coverage

Qt3DRender::QAlphaTest

Spécifie le test de référence alpha

Qt3DRender::QBlendEquation

Spécifie l'équation utilisée pour l'équation de mélange RVB et l'équation de mélange alpha.

Qt3DRender::QBlendEquationArguments

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é).

Qt3DRender::QBlitFramebuffer

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.

Qt3DRender::QBufferCapture

Échange des données de la mémoire tampon entre le GPU et le CPU

Qt3DRender::QCamera

Définit un point de vue à travers lequel la scène sera rendue

Qt3DRender::QCameraLens

Qt3DRender::QCameraLens spécifie la matrice de projection qui sera utilisée pour définir une caméra pour une scène 3D

Qt3DRender::QCameraSelector

Classe permettant de sélectionner la caméra à utiliser

Qt3DRender::QClearBuffers

Classe permettant d'effacer les tampons

Qt3DRender::QClipPlane

Active un plan d'écrêtage OpenGL supplémentaire qui peut être dans les shaders en utilisant gl_ClipDistance

Qt3DRender::QColorMask

Permet de spécifier quelles composantes de couleur doivent être écrites dans le frame buffer actuellement lié

Qt3DRender::QComputeCommand

QComponent to issue work for the compute shader on GPU (Composant QC pour émettre du travail pour le shader de calcul sur le GPU)

Qt3DRender::QCullFace

Spécifie si l'élimination des faces avant ou arrière est activée

Qt3DRender::QDebugOverlay

Active une superposition visuelle avec les détails de la scène

Qt3DRender::QDepthRange

Active le remappage des valeurs de profondeur écrites dans le tampon de profondeur

Qt3DRender::QDepthTest

Teste la valeur de profondeur du nuanceur de fragment par rapport à la profondeur d'un échantillon en cours d'écriture.

Qt3DRender::QDirectionalLight

Encapsuler un objet Lumière directionnelle dans une scène Qt 3D

Qt3DRender::QDispatchCompute

Nœud FrameGraph pour émettre du travail pour le shader de calcul sur le GPU

Qt3DRender::QDithering

Activer le tramage

Qt3DRender::QEffect

Classe de base pour les effets dans une scène Qt 3D

Qt3DRender::QEnvironmentLight

Encapsuler un objet de lumière environnementale dans une scène Qt 3D

Qt3DRender::QFilterKey

Stockage des clés de filtre et de leurs valeurs

Qt3DRender::QFrameGraphNode

Classe de base de tous les nœuds de configuration de FrameGraph

Qt3DRender::QFrontFace

Définit les polygones orientés vers l'avant et l'arrière

Qt3DRender::QFrustumCulling

Active l'élimination des frustes pour le FrameGraph

Qt3DRender::QGeometryRenderer

Encapsule le rendu de la géométrie

Qt3DRender::QGraphicsApiFilter

Identifie l'API requise pour la QTechnique attachée

Qt3DRender::QLayer

Permet de filtrer les entités qui seront rendues

Qt3DRender::QLayerFilter

Contrôle les couches dessinées dans une branche du FrameGraph

Qt3DRender::QLevelOfDetail

Moyen de contrôler la complexité des entités rendues en fonction de leur taille à l'écran

Qt3DRender::QLevelOfDetailBoundingSphere

Volume sphérique simple, défini par son centre et son rayon

Qt3DRender::QLevelOfDetailSwitch

Permet d'activer les entités enfants en fonction de la distance ou de la taille de l'écran

Qt3DRender::QLineWidth

Spécifie la largeur des lignes tramées

Qt3DRender::QMaterial

Fournit une classe abstraite qui devrait être la base de toutes les classes de composants matériels dans une scène

Qt3DRender::QMemoryBarrier

Une classe pour placer une barrière mémoire

Qt3DRender::QMesh

Un chargeur de maillage personnalisé

Qt3DRender::QMultiSampleAntiAliasing

Activer l'anti-crénelage multi-échantillon

Qt3DRender::QNoDepthMask

Désactiver l'écriture de la profondeur

Qt3DRender::QNoDraw

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.

Qt3DRender::QNoPicking

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.

Qt3DRender::QObjectPicker

Instancie un composant qui peut être utilisé pour interagir avec une QEntity par un processus connu sous le nom de picking.

Qt3DRender::QPaintedTextureImage

Une image QAbstractTextureImage qui peut être écrite par l'intermédiaire d'un QPainter.

Qt3DRender::QParameter

Fournit un stockage pour une paire de nom et de valeur. Cela correspond à un uniforme de shader

Qt3DRender::QPickEvent

Contient des informations lorsqu'un objet est prélevé

Qt3DRender::QPickLineEvent

Contient des informations lorsqu'un segment d'une ligne est prélevé

Qt3DRender::QPickPointEvent

Détient des informations lorsqu'un segment d'un nuage de points est prélevé

Qt3DRender::QPickTriangleEvent

Détient des informations lorsqu'un triangle est sélectionné

Qt3DRender::QPickingProxy

Peut être utilisé pour fournir un QGeometryView alternatif utilisé uniquement pour le prélèvement

Qt3DRender::QPickingSettings

Spécifie comment le prélèvement d'entités est géré

Qt3DRender::QPointLight

Encapsule un objet Point Light dans une scène Qt 3D

Qt3DRender::QPointSize

Spécifie la taille des points tramés. Elle peut être définie de manière statique ou par des programmes de shaders.

Qt3DRender::QPolygonOffset

Définit l'échelle et les étapes de calcul des valeurs de profondeur pour les décalages de polygones.

Qt3DRender::QProximityFilter

Sélectionne les entités qui se trouvent dans un certain seuil de distance par rapport à une entité cible.

Qt3DRender::QRasterMode

L'état de rendu permet de contrôler le type de rastérisation à effectuer.

Qt3DRender::QRayCaster

Qt3DRender::QRayCaster est utilisé pour effectuer des tests de lancer de rayon dans les coordonnées du monde 3D

Qt3DRender::QRayCasterHit

Détails d'un impact lors de la projection d'un rayon à travers un modèle

Qt3DRender::QRenderAspect

Classe

Qt3DRender::QRenderCapabilities

Contient les paramètres relatifs aux moteurs de rendu disponibles

Qt3DRender::QRenderCapture

Nœud du graphe des images pour la capture du rendu

Qt3DRender::QRenderCaptureReply

Reçoit le résultat de la demande de capture de rendu

Qt3DRender::QRenderPass

Encapsule une passe de rendu

Qt3DRender::QRenderPassFilter

Stocke les vecteurs de clés et de paramètres de filtre

Qt3DRender::QRenderSettings

Contient les paramètres relatifs au processus de rendu et héberge le FrameGraph actif

Qt3DRender::QRenderState

Classe de base abstraite pour tous les états de rendu

Qt3DRender::QRenderStateSet

Le nœud FrameGraph permet de spécifier un ensemble d'objets QRenderState à appliquer lors de l'exécution d'une branche FrameGraph.

Qt3DRender::QRenderSurfaceSelector

Permet de spécifier la surface de rendu

Qt3DRender::QRenderTarget

Encapsule une cible (généralement un objet de tampon d'image) dans laquelle le moteur de rendu peut effectuer le rendu

Qt3DRender::QRenderTargetOutput

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

Qt3DRender::QRenderTargetSelector

Fournit un moyen de spécifier une cible de rendu

Qt3DRender::QSceneLoader

permet de charger une scène existante

Qt3DRender::QScissorTest

Élimine les fragments qui tombent en dehors d'une certaine partie rectangulaire de l'écran.

Qt3DRender::QScreenRayCaster

Effectue un test de lancer de rayon basé sur les coordonnées de l'écran

Qt3DRender::QSeamlessCubemap

Permet le filtrage des textures cubemap en continu

Qt3DRender::QSetFence

FrameGraphNode utilisé pour insérer une clôture dans le flux de commandes graphiques

Qt3DRender::QShaderData

Permet de spécifier les valeurs d'un bloc uniforme ou d'une structure de nuanceur.

Qt3DRender::QShaderImage

Fournit un accès d'image aux programmes de shaders

Qt3DRender::QShaderProgram

Encapsule un programme de nuanceurs

Qt3DRender::QShaderProgramBuilder

génère le contenu d'un programme de nuanceurs à partir de graphiques chargés

Qt3DRender::QSharedGLTexture

Permet d'utiliser un textureId d'un contexte OpenGL séparé dans une scène Qt 3D

Qt3DRender::QSortPolicy

Fournit un espace de stockage pour les types de tri à utiliser

Qt3DRender::QSpotLight

Encapsule un objet Spot Light dans une scène Qt 3D

Qt3DRender::QStencilMask

Contrôle l'écriture avant et arrière des bits individuels dans les plans du pochoir

Qt3DRender::QStencilOperation

Spécifie le fonctionnement du pochoir

Qt3DRender::QStencilOperationArguments

Définit les actions à entreprendre lorsque les tests de stencil et de profondeur échouent

Qt3DRender::QStencilTest

Spécifie les arguments pour le test du pochoir

Qt3DRender::QStencilTestArguments

Spécifie les arguments pour le test du pochoir

Qt3DRender::QSubtreeEnabler

Active ou désactive des sous-arbres entiers de nœuds de graphe de cadre

Qt3DRender::QTechnique

Encapsule une technique

Qt3DRender::QTechniqueFilter

Un QFrameGraphNode utilisé pour sélectionner les QTechniques à utiliser

Qt3DRender::QTexture1D

Une QAbstractTexture avec un format cible Target1D

Qt3DRender::QTexture1DArray

Une QAbstractTexture avec un format cible Target1DArray

Qt3DRender::QTexture2D

Une QAbstractTexture avec un format cible Target2D

Qt3DRender::QTexture2DArray

Une QAbstractTexture avec un format cible Target2DArray

Qt3DRender::QTexture2DMultisample

Une QAbstractTexture avec un format cible Target2DMultisample

Qt3DRender::QTexture2DMultisampleArray

A QAbstractTexture avec le format cible Target2DMultisampleArray

Qt3DRender::QTexture3D

Une QAbstractTexture avec un format cible Target3D

Qt3DRender::QTextureBuffer

A QAbstractTexture avec le format cible TargetBuffer

Qt3DRender::QTextureCubeMap

A QAbstractTexture avec le format de cible TargetCubeMap

Qt3DRender::QTextureCubeMapArray

Une QAbstractTexture avec un format de cible TargetCubeMapArray

Qt3DRender::QTextureData

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.

Qt3DRender::QTextureDataUpdate

Contient le contenu et les informations nécessaires pour effectuer des mises à jour partielles du contenu d'une texture.

Qt3DRender::QTextureImage

Encapsule les informations nécessaires à la création d'une image de texture OpenGL à partir d'une source d'image

Qt3DRender::QTextureImageData

Stocke les données représentant une texture

Qt3DRender::QTextureImageDataGenerator

Fournit les données de l'image de texture pour QAbstractTextureImage

Qt3DRender::QTextureLoader

gère le chargement de la texture et la définition de ses propriétés.

Qt3DRender::QTextureRectangle

Une QAbstractTexture avec un format cible TargetRectangle

Qt3DRender::QTextureWrapMode

Définit le mode d'enveloppement qu'un Qt3DRender::QAbstractTexture doit appliquer à une texture

Qt3DRender::QViewport

Un viewport sur la scène Qt3D

Qt3DRender::QWaitFence

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.