Qt3DExtras::QGoochMaterial Class
class Qt3DExtras::QGoochMaterialLe matériau QGoochMaterial fournit un matériau qui met en œuvre le modèle d'ombrage Gooch, populaire dans les applications de CAO et de FAO. Plus d'informations...
| En-tête : | #include <QGoochMaterial> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS 3dextras)target_link_libraries(mytarget PRIVATE Qt6::3dextras) |
| qmake : | QT += 3dextras |
| Hérite : | Qt3DRender::QMaterial |
| Statut : | Déclassé |
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 Gooch utilise à la fois la couleur et la luminosité pour aider à montrer la courbure des surfaces 3D. Ce modèle est souvent meilleur que les modèles tels que Phong qui s'appuient uniquement sur les changements de luminosité. Dans des situations telles 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 sorte d'encrage des bords de la silhouette, est une solution populaire.
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 une couleur d'objet diffuse avec une couleur froide et une couleur chaude fournies par l'utilisateur pour produire les points finaux d'une rampe de couleurs qui est utilisée pour ombrer l'objet en fonction du cosinus de l'angle entre le vecteur du fragment à la source de lumière et le vecteur normal du fragment. Une surbrillance spéculaire peut éventuellement être ajoutée. Les contributions relatives de la couleur diffuse aux couleurs froides et chaudes sont contrôlées par les propriétés alpha et bêta respectivement.
Ce matériau utilise un effet avec une approche 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 de la rampe de couleurs utilisée par le nuanceur de Gooch est calculé comme {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 de la rampe de couleurs utilisée par le nuanceur de Gooch est calculé comme {c = warm + beta * diffuse}.
Fonctions d'accès :
| float | beta() const |
| void | setBeta(float beta) |
Signal de notification :
| void | betaChanged(float beta) |
cool : QColor
Maintient 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
Maintient 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
Indique la valeur de brillance actuelle. Des valeurs de brillance plus élevées se traduisent par une surbrillance plus petite et plus brillante.
Fonctions d'accès :
| float | shininess() const |
| void | setShininess(float shininess) |
Signal de notification :
| void | shininessChanged(float shininess) |
specular : QColor
Détient 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
Maintient la couleur chaude actuelle.
Fonctions d'accès :
| QColor | warm() const |
| void | setWarm(const QColor &warm) |
Signal du notificateur :
| void | warmChanged(const QColor &warm) |
Member Function Documentation
[explicit] QGoochMaterial::QGoochMaterial(Qt3DCore::QNode *parent = nullptr)
Construit une nouvelle instance de QGoochMaterial avec l'objet parent 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.