Auf dieser Seite

Qt3DExtras::QMorphPhongMaterial Class

class Qt3DExtras::QMorphPhongMaterial

Die Klasse „QMorphPhongMaterial“ bietet eine Standardimplementierung des Phong-Beleuchtungseffekts. Mehr...

Header: #include <qmorphphongmaterial.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

QMorphPhongMaterial(Qt3DCore::QNode *parent = nullptr)
virtual ~QMorphPhongMaterial()
QColor ambient() const
QColor diffuse() const
float interpolator() const
float shininess() const
QColor specular() const

Öffentliche Slots

void setAmbient(const QColor &ambient)
void setDiffuse(const QColor &diffuse)
void setInterpolator(float interpolator)
void setShininess(float shininess)
void setSpecular(const QColor &specular)

Signale

void ambientChanged(const QColor &ambient)
void diffuseChanged(const QColor &diffuse)
void interpolatorChanged(float interpolator)
void shininessChanged(float shininess)
void specularChanged(const QColor &specular)

Detaillierte Beschreibung

Der Phong-Beleuchtungseffekt basiert auf der Kombination von drei Beleuchtungskomponenten: Umgebungslicht, diffuses Licht und Spiegelung. Die relativen Stärken dieser Komponenten werden ü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 ausgestrahlt wird.
  • „Specular“ ist die Farbe, die bei Reflexionen an 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 zu den 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)

interpolator : float

Enthält die Interpolationsmethode des Phong-Beleuchtungseffekts.

Zugriffsfunktionen:

float interpolator() const
void setInterpolator(float interpolator)

Benachrichtigungssignal:

void interpolatorChanged(float interpolator)

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 Member-Funktionen

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

Erstellt eine neue Instanz von `QMorphPhongMaterial` mit dem übergeordneten Objekt ` parent`.

[virtual noexcept] QMorphPhongMaterial::~QMorphPhongMaterial()

Zerstört die „ QMorphPhongMaterial “.

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