Qt3DExtras::QDiffuseMapMaterial Class
class Qt3DExtras::QDiffuseMapMaterialLa classe `QDiffuseMapMaterial` fournit une implémentation par défaut de l'effet d'éclairage de Phong, dans laquelle la composante de lumière diffuse est lue à partir d'une texture. En savoir plus...
| En-tête : | #include <qdiffusemapmaterial.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
| QDiffuseMapMaterial(Qt3DCore::QNode *parent = nullptr) | |
| virtual | ~QDiffuseMapMaterial() |
| QColor | ambient() const |
| Qt3DRender::QAbstractTexture * | diffuse() const |
| float | shininess() const |
| QColor | specular() const |
| float | textureScale() const |
Emplacements publics
| void | setAmbient(const QColor &color) |
| void | setDiffuse(Qt3DRender::QAbstractTexture *diffuse) |
| void | setShininess(float shininess) |
| void | setSpecular(const QColor &specular) |
| void | setTextureScale(float textureScale) |
Signaux
| void | ambientChanged(const QColor &ambient) |
| void | diffuseChanged(Qt3DRender::QAbstractTexture *diffuse) |
| void | shininessChanged(float shininess) |
| void | specularChanged(const QColor &specular) |
| void | textureScaleChanged(float textureScale) |
Description détaillée
Cette classe est obsolète ; utilisez plutôt Qt3DExtras::QDiffuseSpecularMaterial.
L'effet d'éclairage spéculaire repose sur la combinaison de trois composantes d'éclairage : 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 :
- L'éclairage ambiant correspond à 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 des surfaces rugueuses en présence de lumières.
- La lumière spéculaire correspond à la couleur é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 basé sur une approche à passe 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
ambient : QColor
Contient la couleur ambiante actuelle.
Fonctions d'accès :
| QColor | ambient() const |
| void | setAmbient(const QColor &color) |
Signal de notification :
| void | ambientChanged(const QColor &ambient) |
diffuse : Qt3DRender::QAbstractTexture*
Contient la texture actuellement utilisée comme carte diffuse.
Par défaut, la texture diffuse présente les propriétés suivantes :
- Filtres de réduction et d'agrandissement linéaires
- Mipmap linéaire avec mipmapping activé
- Mode de répétition en boucle
- Anisotropie maximale de 16,0
Fonctions d'accès :
| Qt3DRender::QAbstractTexture * | diffuse() const |
| void | setDiffuse(Qt3DRender::QAbstractTexture *diffuse) |
Signal de notification :
| void | diffuseChanged(Qt3DRender::QAbstractTexture *diffuse) |
shininess : float
Stocke la valeur actuelle de brillance sous forme de nombre à virgule flottante.
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) |
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 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] QDiffuseMapMaterial::QDiffuseMapMaterial(Qt3DCore::QNode *parent = nullptr)
Crée une nouvelle instance de `QDiffuseMapMaterial` dont l'objet parent est ` parent`.
[virtual noexcept] QDiffuseMapMaterial::~QDiffuseMapMaterial()
Supprime l'instance de ` QDiffuseMapMaterial `.
© 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.