SubRenderPass QML Type
Affiche une sous-section du travail dans la même cible de rendu que l'RenderPass. En savoir plus...
| Import Statement: | import QtQuick3D |
| Since: | Qt 6.11 |
| Inherits: |
Propriétés
- renderPass : RenderPass
Description détaillée
SubRenderPass est un sous-pass de rendu ( Command ) qui subdivise un pass de rendu ( RenderPass ) en éléments plus petits, configurés indépendamment, tout en partageant la même cible de rendu (render target). Seul le pass de rendu parent ( RenderPass ) contrôle les textures dans lesquelles le rendu est effectué (via les paramètres ColorAttachment et DepthTextureAttachment) ainsi que le moment où le pass commence (et donc le moment où la cible de rendu est effacée). Un SubRenderPass ne peut pas définir sa propre cible de rendu ni ses paramètres d’effacement — ceux-ci sont toujours hérités du pass parent.
Ce qu’un SubRenderPass peut contrôler, c’est ce qui est rendu et comment: il dispose de sa propre structure « commands », ce qui lui permet de contenir un « RenderablesFilter » pour sélectionner un sous-ensemble d’objets, un « PipelineStateOverride » pour modifier l’état de profondeur/mélange, une « materialMode » différente, etc.
Une utilisation typique est un pipeline de rendu direct où un seul passage de couleur utilise des SubRenderPasses distincts pour l’arrière-plan, les objets opaques et les objets transparents. Ces trois sous-passages écrivent dans les mêmes textures de couleur et de profondeur, mais chacun possède un état de pipeline différent :
RenderPass {
id: mainColorPass
commands: [
// Render targets are set at the parent RenderPass level only
ColorAttachment { name: "color0"; target: colorTexture },
DepthTextureAttachment { target: depthTexture },
// Sub-pass 1: render the skybox background
SubRenderPass { renderPass: skyboxSubPass },
// Sub-pass 2: opaque objects with depth testing and writing
SubRenderPass { renderPass: opaqueSubPass },
// Sub-pass 3: transparent objects with blending, no depth write
SubRenderPass { renderPass: transparentSubPass }
]
}
// Sub-passes share mainColorPass's render target
RenderPass {
id: skyboxSubPass
passMode: RenderPass.SkyboxPass
}
RenderPass {
id: opaqueSubPass
commands: [
RenderablesFilter { renderableTypes: RenderablesFilter.Opaque }
]
}
RenderPass {
id: transparentSubPass
commands: [
RenderablesFilter { renderableTypes: RenderablesFilter.Transparent },
PipelineStateOverride {
blendEnabled: true
depthWriteEnabled: false
}
]
}Voir également RenderPass, RenderablesFilter et PipelineStateOverride.
Documentation des propriétés
renderPass : RenderPass
L'RenderPass, qui sera exécutée en tant que sous-pass lors du traitement de cette commande.
© 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.