Qt3DExtras::QDiffuseSpecularMapMaterial Class
class Qt3DExtras::QDiffuseSpecularMapMaterialDas `QDiffuseSpecularMapMaterial` bietet eine Standardimplementierung des Phong-Beleuchtungseffekts, bei dem die diffusen und spiegelnden Lichtkomponenten aus Textur-Maps ausgelesen werden. Mehr...
| Header: | #include <qdiffusespecularmapmaterial.h> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS 3dextras) target_link_libraries(mytarget PRIVATE Qt6::3dextras) |
| qmake: | QT += 3dextras |
| Erbt von: | Qt3DRender::QMaterial |
| Status: | Veraltet |
Diese Klasse ist veraltet. Wir raten dringend davon ab, sie in neuem Code zu verwenden.
Eigenschaften
|
Öffentliche Funktionen
| QDiffuseSpecularMapMaterial(Qt3DCore::QNode *parent = nullptr) | |
| virtual | ~QDiffuseSpecularMapMaterial() |
| QColor | ambient() const |
| Qt3DRender::QAbstractTexture * | diffuse() const |
| float | shininess() const |
| Qt3DRender::QAbstractTexture * | specular() const |
| float | textureScale() const |
Öffentliche Slots
| void | setAmbient(const QColor &ambient) |
| void | setDiffuse(Qt3DRender::QAbstractTexture *diffuse) |
| void | setShininess(float shininess) |
| void | setSpecular(Qt3DRender::QAbstractTexture *specular) |
| void | setTextureScale(float textureScale) |
Signale
| void | ambientChanged(const QColor &ambient) |
| void | diffuseChanged(Qt3DRender::QAbstractTexture *diffuse) |
| void | shininessChanged(float shininess) |
| void | specularChanged(Qt3DRender::QAbstractTexture *specular) |
| void | textureScaleChanged(float textureScale) |
Ausführliche Beschreibung
Diese Klasse ist veraltet; verwenden Sie stattdessen „ Qt3DExtras::QDiffuseSpecularMaterial “.
Der Spiegelungseffekt basiert auf der Kombination von drei Beleuchtungskomponenten: Umgebungslicht, diffuses Licht und Spiegelung. Die relative Stärke dieser Komponenten wird über ihre Reflektivitätskoeffizienten gesteuert, die als RGB-Tripletts modelliert sind:
- „Ambient“ ist die Farbe, die von einem Objekt ohne weitere Lichtquelle ausgestrahlt wird.
- „Diffuse“ ist die Farbe, die bei Reflexionen an rauen Oberflächen durch die Lichter emittiert wird.
- „Specular“ ist die Farbe, die bei Reflexionen auf glänzenden Oberflächen durch das Licht ausgestrahlt wird.
- Der Glanzgrad einer Oberfläche wird durch eine Float-Eigenschaft gesteuert.
Dieses Material verwendet einen Effekt mit einem Single-Render-Pass-Ansatz und führt eine fragmentweise Beleuchtung durch. Es werden Techniken für OpenGL 2, OpenGL 3 oder höher sowie für OpenGL ES 2 bereitgestellt.
Dokumentation der Eigenschaften
ambient : QColor
Enthält die aktuelle Umgebungsfarbe, die von einem Objekt ohne weitere Lichtquelle ausgestrahlt wird.
Zugriffsfunktionen:
| QColor | ambient() const |
| void | setAmbient(const QColor &ambient) |
Benachrichtigungssignal:
| void | ambientChanged(const QColor &ambient) |
diffuse : Qt3DRender::QAbstractTexture*
Enthält die aktuelle Diffus-Map-Textur.
Standardmäßig weist die Diffus-Textur die folgenden Eigenschaften auf:
- Lineare Verkleinerungs- und Vergrößerungsfilter
- Lineare Mipmap mit aktiviertem Mipmapping
- Wiederholungs- und Umschlagmodus
- Maximale Anisotropie von 16,0
Zugriffsfunktionen:
| Qt3DRender::QAbstractTexture * | diffuse() const |
| void | setDiffuse(Qt3DRender::QAbstractTexture *diffuse) |
Benachrichtigungssignal:
| void | diffuseChanged(Qt3DRender::QAbstractTexture *diffuse) |
shininess : float
Speichert den aktuellen Glanzgrad als Float-Wert. Höhere Glanzwerte führen zu einem kleineren und helleren Glanzpunkt.
Standardwert ist 150,0.
Zugriffsfunktionen:
| float | shininess() const |
| void | setShininess(float shininess) |
Notifier-Signal:
| void | shininessChanged(float shininess) |
specular : Qt3DRender::QAbstractTexture*
Enthält die aktuelle Spiegeltextur.
Standardmäßig weist die Specular-Textur die folgenden Eigenschaften auf:
- Lineare Verkleinerungs- und Vergrößerungsfilter
- Lineare Mipmap mit aktiviertem Mipmapping
- Wiederholungs-Wrap-Modus
- Maximale Anisotropie von 16,0
Zugriffsfunktionen:
| Qt3DRender::QAbstractTexture * | specular() const |
| void | setSpecular(Qt3DRender::QAbstractTexture *specular) |
Benachrichtigungssignal:
| void | specularChanged(Qt3DRender::QAbstractTexture *specular) |
textureScale : float
Speichert den aktuellen Textur-Maßstab. Dieser wird beim Rendern als Multiplikator auf die Texturkoordinaten angewendet. Der Standardwert ist 1,0.
In Verbindung mit QTextureWrapMode::Repeat bietet textureScale eine einfache Möglichkeit, eine Textur über eine Oberfläche zu kacheln. Beispielsweise würde ein Texturskalierungsfaktor von 4.0 zu 16 (4x4) Kacheln führen.
Zugriffsfunktionen:
| float | textureScale() const |
| void | setTextureScale(float textureScale) |
Notifier-Signal:
| void | textureScaleChanged(float textureScale) |
Dokumentation der Mitgliedsfunktionen
[explicit] QDiffuseSpecularMapMaterial::QDiffuseSpecularMapMaterial(Qt3DCore::QNode *parent = nullptr)
Erstellt eine neue Instanz von `QDiffuseSpecularMapMaterial` mit dem übergeordneten Objekt ` parent`.
[virtual noexcept] QDiffuseSpecularMapMaterial::~QDiffuseSpecularMapMaterial()
Löscht die „ QDiffuseSpecularMapMaterial “-Instanz.
© 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.