Qt3DExtras::QDiffuseSpecularMaterial Class
class Qt3DExtras::QDiffuseSpecularMaterialLa classe QDiffuseSpecularMaterial fournit une implémentation par défaut de l'effet d'éclairage phong. Plus d'informations...
| En-tête : | #include <QDiffuseSpecularMaterial> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS 3dextras)target_link_libraries(mytarget PRIVATE Qt6::3dextras) |
| qmake : | QT += 3dextras |
| En QML : | DiffuseSpecularMaterial |
| Hérite : | Qt3DRender::QMaterial |
| Statut : | Déclassé |
Propriétés
|
|
Fonctions publiques
| QDiffuseSpecularMaterial(Qt3DCore::QNode *parent = nullptr) | |
| virtual | ~QDiffuseSpecularMaterial() |
| QColor | ambient() const |
| QVariant | diffuse() const |
| bool | isAlphaBlendingEnabled() const |
| QVariant | normal() const |
| float | shininess() const |
| QVariant | specular() const |
| float | textureScale() const |
Emplacements publics
| void | setAlphaBlendingEnabled(bool enabled) |
| void | setAmbient(const QColor &ambient) |
| void | setDiffuse(const QVariant &diffuse) |
| void | setNormal(const QVariant &normal) |
| void | setShininess(float shininess) |
| void | setSpecular(const QVariant &specular) |
| void | setTextureScale(float textureScale) |
Signaux
| void | alphaBlendingEnabledChanged(bool enabled) |
| void | ambientChanged(const QColor &ambient) |
| void | diffuseChanged(const QVariant &diffuse) |
| void | normalChanged(const QVariant &normal) |
| void | shininessChanged(float shininess) |
| void | specularChanged(const QVariant &specular) |
| void | textureScaleChanged(float textureScale) |
Description détaillée
L'effet d'éclairage phong est basé sur la combinaison de 3 composantes d'éclairage : ambiante, diffuse et spéculaire. Les forces relatives de ces composantes sont contrôlées au moyen de leurs coefficients de réflectivité qui sont modélisés sous forme de triplets RVB :
- Ambiant est la couleur émise par un objet sans autre source de lumière.
- Diffuse est la couleur émise pour les réflexions de surface brutes avec les lumières.
- La couleur spéculaire est la couleur émise pour les reflets de surface brillants avec les lumières.
- La brillance d'une surface est contrôlée par une propriété flottante.
Ce matériau utilise un effet avec une approche de passage de rendu unique et effectue un éclairage par fragment. Les techniques sont fournies pour OpenGL 2, OpenGL 3 ou supérieur ainsi que pour OpenGL ES 2.
Documentation sur les propriétés
alphaBlending : bool
Indique si les informations alpha provenant de la propriété diffuse seront prises en compte lors du rendu. La valeur par défaut est false.
Fonctions d'accès :
| bool | isAlphaBlendingEnabled() const |
| void | setAlphaBlendingEnabled(bool enabled) |
Signal du notificateur :
| void | alphaBlendingEnabledChanged(bool enabled) |
ambient : QColor
Détient la couleur ambiante émise par un objet en l'absence de toute autre source de lumière.
Fonctions d'accès :
| QColor | ambient() const |
| void | setAmbient(const QColor &ambient) |
Signal de notification :
| void | ambientChanged(const QColor &ambient) |
diffuse : QVariant
Détient la couleur diffuse du matériau qui est émise pour les reflets de surface rugueux avec les lumières. Il peut s'agir d'une valeur de couleur simple ou d'une texture.
Fonctions d'accès :
| QVariant | diffuse() const |
| void | setDiffuse(const QVariant &diffuse) |
Signal de notification :
| void | diffuseChanged(const QVariant &diffuse) |
normal : QVariant
Contient la texture de la carte de normalité actuelle du matériau. Il ne peut s'agir que d'une texture, sinon elle est ignorée. Par défaut, cette carte n'est pas définie.
Fonctions d'accès :
| QVariant | normal() const |
| void | setNormal(const QVariant &normal) |
Signal de notification :
| void | normalChanged(const QVariant &normal) |
shininess : float
Contient l'exposant de brillance. Des valeurs plus élevées de brillance se traduisent par une mise en évidence plus petite et plus brillante.
La valeur par défaut est 150.0.
Fonctions d'accès :
| float | shininess() const |
| void | setShininess(float shininess) |
Signal de notification :
| void | shininessChanged(float shininess) |
specular : QVariant
Détient la couleur spéculaire du matériau qui est émise pour les reflets de surface brillants avec les lumières. Il peut s'agir d'une valeur de couleur simple ou d'une texture.
Fonctions d'accès :
| QVariant | specular() const |
| void | setSpecular(const QVariant &specular) |
Signal de notification :
| void | specularChanged(const QVariant &specular) |
textureScale : float
Indique l'échelle actuelle de la texture. Elle est appliquée comme un multiplicateur aux coordonnées de la texture au moment du rendu. La valeur par défaut est 1.0.
Utilisée conjointement avec QTextureWrapMode::Repeat, textureScale fournit un moyen simple de répartir une texture sur une surface. Par exemple, une échelle de texture de 4.0 permet d'obtenir 16 tuiles (4x4).
Fonctions d'accès :
| float | textureScale() const |
| void | setTextureScale(float textureScale) |
Signal Notifier :
| void | textureScaleChanged(float textureScale) |
Member Function Documentation
[explicit] QDiffuseSpecularMaterial::QDiffuseSpecularMaterial(Qt3DCore::QNode *parent = nullptr)
Construit une nouvelle instance de QDiffuseSpecularMaterial avec l'objet parent parent.
[virtual noexcept] QDiffuseSpecularMaterial::~QDiffuseSpecularMaterial()
Détruit le site QDiffuseSpecularMaterial.
© 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.