Sur cette page

Qt3DExtras::QGoochMaterial Class

class Qt3DExtras::QGoochMaterial

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