Qt3DExtras::QDiffuseSpecularMaterial Class
class Qt3DExtras::QDiffuseSpecularMaterialLa classe `QDiffuseSpecularMaterial` fournit une implémentation par défaut de l'effet d'éclairage de Phong. En savoir plus...
| En-tête : | #include <qdiffusespecularmaterial.h> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS 3dextras) target_link_libraries(mytarget PRIVATE Qt6::3dextras) |
| qmake : | QT += 3dextras |
| En QML : | DiffuseSpecularMaterial |
| Hérite de : | Qt3DRender::QMaterial |
| Statut : | Obsolète |
Cette classe est obsolète. Nous vous déconseillons fortement de l'utiliser dans du nouveau code.
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 repose sur la combinaison de trois composantes lumineuses : ambiante, diffuse et spéculaire. L'intensité relative de ces composantes est contrôlée par leurs coefficients de réflectivité, modélisés sous forme de triplets RVB :
- La lumière ambiante est la couleur émise par un objet en l'absence de toute autre source lumineuse.
- La couleur diffuse correspond à la couleur émise par les reflets sur une surface rugueuse sous l'effet de la lumière.
- La couleur spéculaire est celle émise par les reflets sur une surface brillante sous l'effet de la lumière.
- La brillance d’une surface est contrôlée par une propriété de type float.
Ce matériau utilise un effet avec 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
alphaBlending : bool
Indique si les informations d'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 de notification :
| void | alphaBlendingEnabledChanged(bool enabled) |
ambient : QColor
Représente la couleur ambiante émise par un objet en l'absence de toute autre source lumineuse.
Fonctions d’accès :
| QColor | ambient() const |
| void | setAmbient(const QColor &ambient) |
Signal de notification :
| void | ambientChanged(const QColor &ambient) |
diffuse : QVariant
Contient la couleur diffuse du matériau émise lors des réflexions sur des surfaces rugueuses sous l'effet de la lumière. Il peut s'agir soit d'une simple valeur de couleur, soit 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 carte normale actuelle du matériau. Il doit s'agir exclusivement 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
Définit l'exposant de brillance. Plus la valeur de brillance est élevée, plus le reflet est petit et lumineux.
Valeur par défaut : 150,0.
Fonctions d'accès :
| float | shininess() const |
| void | setShininess(float shininess) |
Signal de notification :
| void | shininessChanged(float shininess) |
specular : QVariant
Contient la couleur spéculaire du matériau émise pour les reflets sur les surfaces brillantes sous l'effet de la lumière. Il peut s'agir soit d'une simple valeur de couleur, soit 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
Stocke l'échelle actuelle de la texture. Elle est appliquée sous forme de multiplicateur aux coordonnées de texture au moment du rendu. La valeur par défaut est 1,0.
Utilisé conjointement avec QTextureWrapMode::Repeat, textureScale offre un moyen simple de répéter une texture sur une surface. Par exemple, une échelle de texture de 4.0 donnerait lieu à 16 tuiles (4x4).
Fonctions d'accès :
| float | textureScale() const |
| void | setTextureScale(float textureScale) |
Signal de notification :
| void | textureScaleChanged(float textureScale) |
Documentation des fonctions membres
[explicit] QDiffuseSpecularMaterial::QDiffuseSpecularMaterial(Qt3DCore::QNode *parent = nullptr)
Crée une nouvelle instance de QDiffuseSpecularMaterial dont l'objet parent est parent.
[virtual noexcept] QDiffuseSpecularMaterial::~QDiffuseSpecularMaterial()
Supprime l'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.