QNormalDiffuseMapMaterial Class
class Qt3DExtras::QNormalDiffuseMapMaterialDas QNormalDiffuseMapMaterial bietet eine Standardimplementierung des Phong-Beleuchtungs- und Bump-Effekts, bei dem die diffuse Lichtkomponente aus einer Texturkarte und die Normalen des gerenderten Netzes aus einer Normalen-Texturkarte gelesen werden. Mehr...
Kopfzeile: | #include <QNormalDiffuseMapMaterial> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS 3dextras) target_link_libraries(mytarget PRIVATE Qt6::3dextras) |
qmake: | QT += 3dextras |
Vererbt: | Qt3DRender::QMaterial |
Geerbt von: | |
Status: | Veraltet |
Diese Klasse ist veraltet. Wir raten dringend davon ab, sie in neuem Code zu verwenden.
Eigenschaften
|
Öffentliche Funktionen
QNormalDiffuseMapMaterial(Qt3DCore::QNode *parent = nullptr) | |
virtual | ~QNormalDiffuseMapMaterial() |
QColor | ambient() const |
Qt3DRender::QAbstractTexture * | diffuse() const |
Qt3DRender::QAbstractTexture * | normal() const |
float | shininess() const |
QColor | specular() const |
float | textureScale() const |
Öffentliche Slots
void | setAmbient(const QColor &ambient) |
void | setDiffuse(Qt3DRender::QAbstractTexture *diffuse) |
void | setNormal(Qt3DRender::QAbstractTexture *normal) |
void | setShininess(float shininess) |
void | setSpecular(const QColor &specular) |
void | setTextureScale(float textureScale) |
Signale
void | ambientChanged(const QColor &ambient) |
void | diffuseChanged(Qt3DRender::QAbstractTexture *diffuse) |
void | normalChanged(Qt3DRender::QAbstractTexture *normal) |
void | shininessChanged(float shininess) |
void | specularChanged(const QColor &specular) |
void | textureScaleChanged(float textureScale) |
Detaillierte Beschreibung
Diese Klasse ist veraltet; verwenden Sie stattdessen QDiffuseSpecularMaterial.
Der spiegelnde Lichteffekt basiert auf der Kombination der 3 Beleuchtungskomponenten ambient, diffus und spiegelnd. Die relativen Stärken dieser Komponenten werden durch ihre Reflexionskoeffizienten gesteuert, die als RGB-Tripletts modelliert werden:
- Umgebungslicht ist die Farbe, die von einem Objekt ohne andere Lichtquelle abgestrahlt wird.
- Diffus ist die Farbe, die bei groben Oberflächenreflexionen mit den Lichtern emittiert wird.
- Specular ist die Farbe, die für glänzende Oberflächenreflexionen mit den Lichtern emittiert wird.
- Der Glanz einer Oberfläche wird durch eine Float-Eigenschaft gesteuert.
Dieses Material verwendet einen Effekt mit einem einzigen Rendering-Pass-Ansatz und führt eine Beleuchtung pro Fragment durch. Die Techniken werden für OpenGL 2, OpenGL 3 oder höher sowie OpenGL ES 2 bereitgestellt.
Dokumentation der Eigenschaft
ambient : QColor
Enthält die aktuelle Umgebungsfarbe.
Zugriffsfunktionen:
QColor | ambient() const |
void | setAmbient(const QColor &ambient) |
Melder-Signal:
void | ambientChanged(const QColor &ambient) |
diffuse : Qt3DRender::QAbstractTexture*
Enthält die aktuelle Diffuse-Map-Textur.
Standardmäßig hat die diffuse Textur diese Eigenschaften:
- Lineare Verkleinerungs- und Vergrößerungsfilter
- Lineare Mipmap mit aktiviertem Mipmapping
- Wiederholter UmbruchmodusM
- Maximale Anisotropie von 16,0
Zugriffsfunktionen:
Qt3DRender::QAbstractTexture * | diffuse() const |
void | setDiffuse(Qt3DRender::QAbstractTexture *diffuse) |
Benachrichtigungssignal:
void | diffuseChanged(Qt3DRender::QAbstractTexture *diffuse) |
normal : Qt3DRender::QAbstractTexture*
Enthält die aktuelle Normalen-Map-Textur.
Standardmäßig hat die normale Textur die folgenden Eigenschaften:
- Lineare Verkleinerungs- und Vergrößerungsfilter
- Wiederholter Umbruchmodus
- Maximale Anisotropie von 16,0
Zugriffsfunktionen:
Qt3DRender::QAbstractTexture * | normal() const |
void | setNormal(Qt3DRender::QAbstractTexture *normal) |
Benachrichtigungssignal:
void | normalChanged(Qt3DRender::QAbstractTexture *normal) |
shininess : float
Enthält den aktuellen Glanzgrad als Fließkommawert.
Zugriffsfunktionen:
float | shininess() const |
void | setShininess(float shininess) |
Benachrichtigungssignal:
void | shininessChanged(float shininess) |
specular : QColor
Enthält die aktuelle Spiegelfarbe.
Zugriffsfunktionen:
QColor | specular() const |
void | setSpecular(const QColor &specular) |
Benachrichtigungssignal:
void | specularChanged(const QColor &specular) |
textureScale : float
Enthält den aktuellen Texturmaßstab. Sie wird als Multiplikator auf die Texturkoordinaten zur Renderzeit angewendet. Der Standardwert ist 1.0.
In Verbindung mit QTextureWrapMode::Repeat bietet textureScale eine einfache Möglichkeit, eine Textur über eine Fläche zu kacheln. Zum Beispiel würde eine Texturskala von 4.0
zu 16 (4x4) Kacheln führen.
Zugriffsfunktionen:
float | textureScale() const |
void | setTextureScale(float textureScale) |
Benachrichtigungssignal:
void | textureScaleChanged(float textureScale) |
Member Function Dokumentation
[explicit]
QNormalDiffuseMapMaterial::QNormalDiffuseMapMaterial(Qt3DCore::QNode *parent = nullptr)
Konstruiert eine neue QNormalDiffuseMapMaterial-Instanz mit dem übergeordneten Objekt parent.
[virtual noexcept]
QNormalDiffuseMapMaterial::~QNormalDiffuseMapMaterial()
Zerstört die Instanz QNormalDiffuseMapMaterial.
© 2025 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.