Custom3DVolume QML Type
Ajoute un objet à rendu volumétrique à un graphique. En savoir plus…
| Import Statement: | import QtGraphs |
| In C++: | QCustom3DVolume |
| Inherits: |
- Liste de tous les membres, y compris les membres hérités
- Custom3DVolume fait partie des types QML 3D d'Qt Graphs .
Propriétés
- alphaMultiplier : real
- drawSliceFrames : bool
- drawSlices : bool
- preserveOpacity : bool
- sliceFrameColor : color
- sliceFrameGaps : vector3d
- sliceFrameThicknesses : vector3d
- sliceFrameWidths : vector3d
- sliceIndexX : int
- sliceIndexY : int
- sliceIndexZ : int
- textureDepth : int
- textureHeight : int
- textureWidth : int
- useHighDefShader : bool
Signaux
- alphaMultiplierChanged(float mult)
- drawSliceFramesChanged(bool enabled)
- drawSlicesChanged(bool enabled)
- preserveOpacityChanged(bool enabled)
- sliceFrameColorChanged(color color)
- sliceFrameGapsChanged(vector3d values)
- sliceFrameThicknessesChanged(vector3d values)
- sliceFrameWidthsChanged(vector3d values)
- sliceIndexXChanged(int value)
- sliceIndexYChanged(int value)
- sliceIndexZChanged(int value)
- textureDepthChanged(int value)
- textureHeightChanged(int value)
- textureWidthChanged(int value)
- useHighDefShaderChanged(bool enabled)
Description détaillée
Un objet à rendu volumique est une boîte dotée d’une texture 3D. Trois plans de coupe sont pris en charge pour le volume, un le long de chaque axe principal du volume.
Le rendu des objets volumétriques est très gourmand en ressources, en particulier lorsque le volume est largement transparent, car le contenu du volume fait l’objet d’un traçage de rayons. Les performances évoluent de manière quasi linéaire avec le nombre de pixels que le volume occupe à l’écran ; afficher le volume dans une vue plus petite ou limiter le niveau de zoom du graphique constituent donc des moyens simples d’améliorer les performances. De même, les dimensions de la texture du volume ont un impact important sur les performances. Si la fréquence d’images est plus importante que le rendu au pixel près du contenu du volume, envisagez de désactiver le shader haute définition en définissant la propriété ` useHighDefShader ` sur ` false`.
Remarque : le remplissage des données de volume n’est généralement ni efficace ni pratique à partir de QML pur ; par conséquent, les propriétés directement liées à cette fonctionnalité ne sont pas entièrement prises en charge par QML. Créez une application hybride QML/C++ si vous souhaitez utiliser des objets volumétriques avec une interface utilisateur de type « Qt Quick ».
Remarque : les objetsvolumétriques utilisent des textures 3D, qui ne sont pas prises en charge dans les environnements OpenGL ES2.
Voir également useHighDefShader.
Documentation sur les propriétés
alphaMultiplier : real
La valeur alpha de chaque texel de la texture volumique est multipliée par cette valeur au moment du rendu. Cela permet d’introduire une transparence uniforme dans le volume. Si preserveOpacity est défini sur true, seuls les texels présentant au départ au moins un certain degré de transparence sont affectés, tandis que les texels entièrement opaques ne le sont pas. La valeur ne doit pas être négative. La valeur par défaut est 1.0.
Voir également preserveOpacity.
drawSliceFrames : bool
Si la valeur de cette propriété est « true », les cadres des coupes indiquées par les propriétés d’index de coupe seront dessinés autour du volume. Si elle est « false », aucun cadre de coupe ne sera dessiné. Le dessin des cadres de coupe est indépendant de celui des coupes ; vous pouvez donc afficher le volume complet tout en dessinant les cadres de coupe autour de celui-ci. La valeur par défaut est « false ».
Voir également sliceIndexX, sliceIndexY, sliceIndexZ et drawSlices.
drawSlices : bool
Si la valeur de cette propriété est « true », les tranches indiquées par les propriétés d'index de tranche seront dessinées à la place du volume complet. Si elle est « false », le volume complet sera toujours dessiné. La valeur par défaut est « false ».
Remarque : les tranches sont toujours dessinées selon les axes de l'élément ; ainsi, si l'élément est pivoté, les tranches le sont également.
Voir également sliceIndexX, sliceIndexY et sliceIndexZ.
preserveOpacity : bool
Si la valeur de cette propriété est « true », l’opération « alphaMultiplier » n’est appliquée qu’aux texels présentant déjà une certaine transparence. Si elle est « false », le multiplicateur est appliqué à la valeur alpha de tous les texels. La valeur par défaut est « true ».
Voir également alphaMultiplier.
sliceFrameColor : color
Couleur du cadre de la tranche. Les cadres de tranche transparents ne sont pas pris en charge.
La valeur par défaut est le noir.
Voir également drawSliceFrames.
sliceFrameGaps : vector3d
La taille de l'espace d'air laissé entre le volume lui-même et le cadre dans chaque dimension. Cet espace peut varier d'une dimension à l'autre. Les valeurs sont exprimées en fractions de l'épaisseur du volume dans la même dimension. Les valeurs ne peuvent pas être négatives.
Valeur par défaut : vector3d(0.01, 0.01, 0.01).
Voir également drawSliceFrames.
sliceFrameThicknesses : vector3d
Épaisseur des cadres de coupe pour chaque dimension. Les valeurs correspondent à des fractions de l'épaisseur volumique dans la même dimension. Les valeurs ne peuvent pas être négatives.
Valeur par défaut : vector3d(0.01, 0.01, 0.01).
Voir également drawSliceFrames.
sliceFrameWidths : vector3d
Largeurs des cadres de coupe. La largeur peut varier selon les dimensions ; vous pouvez ainsi, par exemple, omettre l'affichage des cadres sur certains côtés du volume en définissant la valeur de cette dimension à zéro. Les valeurs correspondent à des fractions de l'épaisseur du volume dans la même dimension. Les valeurs ne peuvent pas être négatives.
Valeur par défaut : vector3d(0.01, 0.01, 0.01).
Voir également drawSliceFrames.
sliceIndexX : int
Indice de la dimension x dans les données de texture, indiquant quelle coupe verticale afficher. Si une dimension est définie sur une valeur négative, cela signifie qu’aucune coupe ni aucun cadre de coupe ne sera dessiné pour cette dimension. Si toutes les dimensions sont négatives, aucune coupe ni aucun cadre de coupe n’est dessiné et le volume est affiché normalement. La valeur par défaut est -1.
Voir également QCustom3DVolume::textureData, drawSlices et drawSliceFrames.
sliceIndexY : int
Indice de la dimension y dans les données de texture indiquant quelle coupe horizontale afficher. Si une dimension est définie sur une valeur négative, cela signifie qu’aucune coupe ni aucun cadre de coupe ne sera dessiné pour cette dimension. Si toutes les dimensions sont négatives, aucune coupe ni aucun cadre de coupe ne sera dessiné et le volume sera affiché normalement. La valeur par défaut est -1.
Voir également QCustom3DVolume::textureData, drawSlices et drawSliceFrames.
sliceIndexZ : int
Indice de la dimension z dans les données de texture indiquant quelle coupe verticale afficher. La valeur négative d’une dimension signifie qu’aucune coupe ni aucun cadre de coupe ne sera dessiné pour cette dimension. Si toutes les dimensions sont négatives, aucune coupe ni aucun cadre de coupe n’est dessiné et le volume s’affiche normalement. La valeur par défaut est « -1 ».
Voir également QCustom3DVolume::textureData, drawSlices et drawSliceFrames.
textureDepth : int
Profondeur de la texture 3D définissant le contenu volumétrique en pixels. La valeur par défaut est « 0 ».
Remarque : la modification de cette propriété depuis QML n’est pas prise en charge, car les données de texture ne peuvent pas être redimensionnées en conséquence.
textureHeight : int
Hauteur de la texture 3D définissant le contenu volumétrique en pixels. Valeur par défaut : 0.
Remarque : la modification de cette propriété depuis QML n'est pas prise en charge, car les données de texture ne peuvent pas être redimensionnées en conséquence.
textureWidth : int
Largeur, en pixels, de la texture 3D définissant le contenu du volume. Valeur par défaut : 0.
Remarque : la modification de cette propriété depuis QML n'est pas prise en charge, car les données de texture ne peuvent pas être redimensionnées en conséquence.
useHighDefShader : bool
Si la valeur de cette propriété est « true », un shader haute définition est utilisé pour le rendu du volume. Si elle est « false », un shader basse définition est utilisé.
Le shader haute définition garantit que chaque texel visible de la texture du volume est échantillonné lors du rendu du volume. Le shader basse définition ne rend qu’une approximation grossière du contenu du volume, mais à une fréquence d’images bien plus élevée. Le shader basse définition ne garantit pas que chaque texel de la texture du volume soit échantillonné ; il peut donc y avoir un scintillement si le volume contient des éléments fins bien distincts.
Remarque : cette valeur n’affecte pas le niveau de détail lors du rendu des tranches du volume.
La valeur par défaut est « true ».
Documentation sur les signaux
alphaMultiplierChanged(float mult)
Ce signal est émis lorsque alphaMultiplier devient mult.
Remarque : le gestionnaire correspondant est onAlphaMultiplierChanged.
drawSliceFramesChanged(bool enabled)
Ce signal est émis lorsque drawSliceFrames devient enabled.
Remarque : le gestionnaire correspondant est onDrawSliceFramesChanged.
drawSlicesChanged(bool enabled)
Ce signal est émis lorsque drawSlices devient enabled.
Remarque : le gestionnaire correspondant est onDrawSlicesChanged.
preserveOpacityChanged(bool enabled)
Ce signal est émis lorsque preserveOpacity devient enabled.
Remarque : le gestionnaire correspondant est onPreserveOpacityChanged.
sliceFrameColorChanged(color color)
Ce signal est émis lorsque l'adresse sliceFrameColor devient color.
Remarque : le gestionnaire correspondant est onSliceFrameColorChanged.
sliceFrameGapsChanged(vector3d values)
Ce signal est émis lorsque sliceFrameGaps devient values.
Remarque : le gestionnaire correspondant est onSliceFrameGapsChanged.
sliceFrameThicknessesChanged(vector3d values)
Ce signal est émis lorsque sliceFrameThicknesses devient values.
Remarque : le gestionnaire correspondant est onSliceFrameThicknessesChanged.
sliceFrameWidthsChanged(vector3d values)
Ce signal est émis lorsque sliceFrameWidths devient values.
Remarque : le gestionnaire correspondant est onSliceFrameWidthsChanged.
sliceIndexXChanged(int value)
Ce signal est émis lorsque sliceIndexX devient value.
Remarque : le gestionnaire correspondant est onSliceIndexXChanged.
sliceIndexYChanged(int value)
Ce signal est émis lorsque sliceIndexY devient value.
Remarque : le gestionnaire correspondant est onSliceIndexYChanged.
sliceIndexZChanged(int value)
Ce signal est émis lorsque sliceIndexZ devient value.
Remarque : le gestionnaire correspondant est onSliceIndexZChanged.
textureDepthChanged(int value)
Ce signal est émis lorsque textureDepth devient value.
Remarque : le gestionnaire correspondant est onTextureDepthChanged.
textureHeightChanged(int value)
Ce signal est émis lorsque textureHeight devient value.
Remarque : le gestionnaire correspondant est onTextureHeightChanged.
textureWidthChanged(int value)
Ce signal est émis lorsque textureWidth devient value.
Remarque : le gestionnaire correspondant est onTextureWidthChanged.
useHighDefShaderChanged(bool enabled)
Ce signal est émis lorsque useHighDefShader devient enabled.
Remarque : le gestionnaire correspondant est onUseHighDefShaderChanged.
© 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.