Qt3DExtras::QGoochMaterial Class
class Qt3DExtras::QGoochMaterialLe QGoochMaterial fournit un matériau qui met en œuvre le modèle d'ombrage de Gooch, très répandu dans les applications de CAO et de FAO. En savoir plus...
| En-tête : | #include <qgoochmaterial.h> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS 3dextras) target_link_libraries(mytarget PRIVATE Qt6::3dextras) |
| qmake : | QT += 3dextras |
| Hérite de : | Qt3DRender::QMaterial |
| Statut : | Obsolète |
Cette classe est obsolète. Nous déconseillons fortement de l'utiliser dans du nouveau code.
Propriétés
Fonctions publiques
| QGoochMaterial(Qt3DCore::QNode *parent = nullptr) | |
| float | alpha() const |
| float | beta() const |
| QColor | cool() const |
| QColor | diffuse() const |
| float | shininess() const |
| QColor | specular() const |
| QColor | warm() const |
Emplacements publics
| void | setAlpha(float alpha) |
| void | setBeta(float beta) |
| void | setCool(const QColor &cool) |
| void | setDiffuse(const QColor &diffuse) |
| void | setShininess(float shininess) |
| void | setSpecular(const QColor &specular) |
| void | setWarm(const QColor &warm) |
Signaux
| void | alphaChanged(float alpha) |
| void | betaChanged(float beta) |
| void | coolChanged(const QColor &cool) |
| void | diffuseChanged(const QColor &diffuse) |
| void | shininessChanged(float shininess) |
| void | specularChanged(const QColor &specular) |
| void | warmChanged(const QColor &warm) |
Description détaillée
Le modèle d'éclairage de Gooch utilise à la fois la couleur et la luminosité pour aider à mettre en évidence la courbure des surfaces 3D. Ce modèle est souvent plus performant que des modèles tels que celui de Phong, qui reposent uniquement sur les variations de luminosité. Dans des contextes tels que les applications de CAO et de FAO, où le photoréalisme n’est pas un objectif, le modèle d’ombrage de Gooch, associé à une technique de tracé des contours de silhouette, constitue une solution couramment utilisée.
Le modèle d'éclairage de Gooch est expliqué en détail dans l'article original de Gooch. Le modèle de Gooch mélange la couleur diffuse de l’objet avec une couleur froide et une couleur chaude fournies par l’utilisateur afin de définir les extrémités d’un dégradé de couleurs utilisé pour ombrer l’objet en fonction du cosinus de l’angle entre le vecteur reliant le fragment à la source lumineuse et le vecteur normal du fragment. En option, un reflet spéculaire peut être ajouté par-dessus. Les contributions relatives de la couleur diffuse aux couleurs froides et chaudes sont contrôlées respectivement par les propriétés alpha et bêta.
Ce matériau utilise un effet basé sur une approche à passage de rendu unique et effectue un éclairage par fragment. Des techniques sont fournies pour OpenGL 2, OpenGL 3 ou supérieur, ainsi que pour OpenGL ES 2.
Documentation des propriétés
alpha : float
Contient la valeur alpha actuelle. Le point de départ du dégradé de couleurs utilisé par le shader Gooch est calculé selon la formule {c = cool + alpha * diffuse}.
Fonctions d'accès :
| float | alpha() const |
| void | setAlpha(float alpha) |
Signal de notification :
| void | alphaChanged(float alpha) |
beta : float
Contient la valeur bêta actuelle. Le point de départ du dégradé de couleurs utilisé par le shader Gooch est calculé selon la formule {c = warm + bêta * diffuse}.
Fonctions d'accès :
| float | beta() const |
| void | setBeta(float beta) |
Signal de notification :
| void | betaChanged(float beta) |
cool : QColor
Contient la couleur froide actuelle.
Fonctions d'accès :
| QColor | cool() const |
| void | setCool(const QColor &cool) |
Signal de notification :
| void | coolChanged(const QColor &cool) |
diffuse : QColor
Contient la couleur diffuse actuelle.
Fonctions d'accès :
| QColor | diffuse() const |
| void | setDiffuse(const QColor &diffuse) |
Signal de notification :
| void | diffuseChanged(const QColor &diffuse) |
shininess : float
Contient la valeur actuelle de brillance. Plus la valeur de brillance est élevée, plus le reflet est petit et lumineux.
Fonctions d'accès :
| float | shininess() const |
| void | setShininess(float shininess) |
Signal de notification :
| void | shininessChanged(float shininess) |
specular : QColor
Contient la couleur spéculaire actuelle.
Fonctions d’accès :
| QColor | specular() const |
| void | setSpecular(const QColor &specular) |
Signal de notification :
| void | specularChanged(const QColor &specular) |
warm : QColor
Contient la couleur chaude actuelle.
Fonctions d'accès :
| QColor | warm() const |
| void | setWarm(const QColor &warm) |
Signal de notification :
| void | warmChanged(const QColor &warm) |
Documentation des fonctions membres
[explicit] QGoochMaterial::QGoochMaterial(Qt3DCore::QNode *parent = nullptr)
Crée une nouvelle instance de `QGoochMaterial` dont l'objet parent est ` parent`.
© 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.