Qt3DExtras::QNormalDiffuseSpecularMapMaterial Class
class Qt3DExtras::QNormalDiffuseSpecularMapMaterialLe matériau QNormalDiffuseSpecularMapMaterial fournit une implémentation par défaut de l'éclairage phong et de l'effet de bosse où les composantes de lumière diffuse et spéculaire sont lues à partir de cartes de texture et les normales du maillage rendues à partir d'une carte de texture normale. Plus d'informations...
| En-tête : | #include <QNormalDiffuseSpecularMapMaterial> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS 3dextras)target_link_libraries(mytarget PRIVATE Qt6::3dextras) |
| qmake : | QT += 3dextras |
| Hérite : | Qt3DRender::QMaterial |
| Statut : | Déclassé |
Cette classe est obsolète. Il est fortement déconseillé de l'utiliser dans un nouveau code.
Propriétés
|
Fonctions publiques
| QNormalDiffuseSpecularMapMaterial(Qt3DCore::QNode *parent = nullptr) | |
| virtual | ~QNormalDiffuseSpecularMapMaterial() |
| QColor | ambient() const |
| Qt3DRender::QAbstractTexture * | diffuse() const |
| Qt3DRender::QAbstractTexture * | normal() const |
| float | shininess() const |
| Qt3DRender::QAbstractTexture * | specular() const |
| float | textureScale() const |
Emplacements publics
| void | setAmbient(const QColor &ambient) |
| void | setDiffuse(Qt3DRender::QAbstractTexture *diffuse) |
| void | setNormal(Qt3DRender::QAbstractTexture *normal) |
| void | setShininess(float shininess) |
| void | setSpecular(Qt3DRender::QAbstractTexture *specular) |
| void | setTextureScale(float textureScale) |
Signaux
| void | ambientChanged(const QColor &ambient) |
| void | diffuseChanged(Qt3DRender::QAbstractTexture *diffuse) |
| void | normalChanged(Qt3DRender::QAbstractTexture *normal) |
| void | shininessChanged(float shininess) |
| void | specularChanged(Qt3DRender::QAbstractTexture *specular) |
| void | textureScaleChanged(float textureScale) |
Description détaillée
Cette classe est obsolète ; utilisez plutôt QDiffuseSpecularMaterial.
L'effet d'éclairage spéculaire 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
ambient : QColor
Maintient la couleur ambiante actuelle.
Fonctions d'accès :
| QColor | ambient() const |
| void | setAmbient(const QColor &ambient) |
Signal de notification :
| void | ambientChanged(const QColor &ambient) |
diffuse : Qt3DRender::QAbstractTexture*
Contient la texture de la carte de diffusion actuelle.
Par défaut, la texture diffuse a les propriétés suivantes :
- Filtres de minimisation et d'agrandissement linéaires
- Mipmap linéaire avec mipmapping activé
- Mode de répétition de l'enveloppement
- 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) |
normal : Qt3DRender::QAbstractTexture*
Contient la texture de la carte de normalité actuelle.
Par défaut, la texture normale possède les propriétés suivantes :
- Filtres de minimisation et d'agrandissement linéaires
- Mode de répétition de l'enveloppement
- Anisotropie maximale de 16,0
Fonctions d'accès :
| Qt3DRender::QAbstractTexture * | normal() const |
| void | setNormal(Qt3DRender::QAbstractTexture *normal) |
Signal de notification :
| void | normalChanged(Qt3DRender::QAbstractTexture *normal) |
shininess : float
Détient la brillance actuelle sous la forme d'une valeur flottante.
Fonctions d'accès :
| float | shininess() const |
| void | setShininess(float shininess) |
Signal de notification :
| void | shininessChanged(float shininess) |
specular : Qt3DRender::QAbstractTexture*
Contient la texture de la carte spéculaire actuelle.
Par défaut, la texture spéculaire possède les propriétés suivantes :
- Filtres de minimisation et d'agrandissement linéaires
- Mipmap linéaire avec mipmapping activé
- Mode de répétition de l'enveloppement
- Anisotropie maximale de 16,0
Fonctions d'accès :
| Qt3DRender::QAbstractTexture * | specular() const |
| void | setSpecular(Qt3DRender::QAbstractTexture *specular) |
Signal de notification :
| void | specularChanged(Qt3DRender::QAbstractTexture *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] QNormalDiffuseSpecularMapMaterial::QNormalDiffuseSpecularMapMaterial(Qt3DCore::QNode *parent = nullptr)
Construit une nouvelle instance de QNormalDiffuseSpecularMapMaterial avec l'objet parent parent.
[virtual noexcept] QNormalDiffuseSpecularMapMaterial::~QNormalDiffuseSpecularMapMaterial()
Détruit l'instance QNormalDiffuseSpecularMapMaterial.
© 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.