QPhongMaterial Class

class Qt3DExtras::QPhongMaterial

Die Klasse QPhongMaterial bietet eine Standardimplementierung des Phong-Lichteffekts. Mehr...

Kopfzeile: #include <QPhongMaterial>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3dextras)
target_link_libraries(mytarget PRIVATE Qt6::3dextras)
qmake: QT += 3dextras
Vererbt: 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)

Detaillierte Beschreibung

Diese Klasse ist veraltet; verwenden Sie stattdessen QDiffuseSpecularMaterial.

Der Phong-Lichteffekt basiert auf der Kombination der 3 Beleuchtungskomponenten ambient, diffus und spiegelnd. Die relativen Stärken dieser Komponenten werden über 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 Umgebungsfarbe.

Zugriff auf Funktionen:

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)

Melder-Signal:

void diffuseChanged(const QColor &diffuse)

shininess : float

Enthält den Glanzexponenten.

Zugriffsfunktionen:

float shininess() const
void setShininess(float shininess)

Melder-Signal:

void shininessChanged(float shininess)

specular : QColor

Enthält die spiegelnde Farbe.

Zugriffsfunktionen:

QColor specular() const
void setSpecular(const QColor &specular)

Benachrichtigungssignal:

void specularChanged(const QColor &specular)

Member Function Dokumentation

[explicit] QPhongMaterial::QPhongMaterial(Qt3DCore::QNode *parent = nullptr)

Konstruiert eine neue QPhongMaterial-Instanz mit dem übergeordneten Objekt parent.

[virtual noexcept] QPhongMaterial::~QPhongMaterial()

Zerstört die QPhongMaterial.

© 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.