Qt3DExtras::QPhongMaterial Class
class Qt3DExtras::QPhongMaterialDie Klasse „QPhongMaterial“ bietet eine Standardimplementierung des Phong-Beleuchtungseffekts. Mehr...
| Header: | #include <qphongmaterial.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
| QPhongMaterial(Qt3DCore::QNode *parent = nullptr) | |
| virtual | ~QPhongMaterial() |
| QColor | ambient() const |
| QColor | diffuse() const |
| float | shininess() const |
| QColor | specular() const |
Öffentliche Slots
| void | setAmbient(const QColor &ambient) |
| void | setDiffuse(const QColor &diffuse) |
| void | setShininess(float shininess) |
| void | setSpecular(const QColor &specular) |
Signale
| void | ambientChanged(const QColor &ambient) |
| void | diffuseChanged(const QColor &diffuse) |
| void | shininessChanged(float shininess) |
| void | specularChanged(const QColor &specular) |
Ausführliche Beschreibung
Diese Klasse ist veraltet; verwenden Sie stattdessen „ QDiffuseSpecularMaterial “.
Der Phong-Beleuchtungseffekt 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-Tripel 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 das Licht ausgestrahlt 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 Umgebungsfarbe.
Zugriffsfunktionen:
| QColor | ambient() const |
| void | setAmbient(const QColor &ambient) |
Benachrichtigungssignal:
| void | ambientChanged(const QColor &ambient) |
diffuse : QColor
Enthält die diffuse Farbe.
Zugriffsfunktionen:
| QColor | diffuse() const |
| void | setDiffuse(const QColor &diffuse) |
Benachrichtigungssignal:
| void | diffuseChanged(const QColor &diffuse) |
shininess : float
Enthält den Glanzexponenten.
Zugriffsfunktionen:
| float | shininess() const |
| void | setShininess(float shininess) |
Benachrichtigungssignal:
| void | shininessChanged(float shininess) |
specular : QColor
Enthält die Spiegelungsfarbe.
Zugriffsfunktionen:
| QColor | specular() const |
| void | setSpecular(const QColor &specular) |
Benachrichtigungssignal:
| void | specularChanged(const QColor &specular) |
Dokumentation der Mitgliedsfunktionen
[explicit] QPhongMaterial::QPhongMaterial(Qt3DCore::QNode *parent = nullptr)
Erstellt eine neue QPhongMaterial-Instanz mit dem übergeordneten Objekt „ parent “.
[virtual noexcept] QPhongMaterial::~QPhongMaterial()
Zerstört die „ QPhongMaterial “.
© 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.