Auf dieser Seite

Qt3DExtras::QPhongAlphaMaterial Class

class Qt3DExtras::QPhongAlphaMaterial

Die Klasse „QPhongAlphaMaterial“ bietet eine Standardimplementierung des Phong-Beleuchtungseffekts mit Alpha-Kanal. Mehr...

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

QPhongAlphaMaterial(Qt3DCore::QNode *parent = nullptr)
virtual ~QPhongAlphaMaterial()
float alpha() const
QColor ambient() const
Qt3DRender::QBlendEquation::BlendFunction blendFunctionArg() const
Qt3DRender::QBlendEquationArguments::Blending destinationAlphaArg() const
Qt3DRender::QBlendEquationArguments::Blending destinationRgbArg() const
QColor diffuse() const
float shininess() const
Qt3DRender::QBlendEquationArguments::Blending sourceAlphaArg() const
Qt3DRender::QBlendEquationArguments::Blending sourceRgbArg() const
QColor specular() const

Öffentliche Slots

void setAlpha(float alpha)
void setAmbient(const QColor &ambient)
void setBlendFunctionArg(Qt3DRender::QBlendEquation::BlendFunction blendFunctionArg)
void setDestinationAlphaArg(Qt3DRender::QBlendEquationArguments::Blending destinationAlphaArg)
void setDestinationRgbArg(Qt3DRender::QBlendEquationArguments::Blending destinationRgbArg)
void setDiffuse(const QColor &diffuse)
void setShininess(float shininess)
void setSourceAlphaArg(Qt3DRender::QBlendEquationArguments::Blending sourceAlphaArg)
void setSourceRgbArg(Qt3DRender::QBlendEquationArguments::Blending sourceRgbArg)
void setSpecular(const QColor &specular)

Signale

void alphaChanged(float alpha)
void ambientChanged(const QColor &ambient)
void blendFunctionArgChanged(Qt3DRender::QBlendEquation::BlendFunction blendFunctionArg)
void destinationAlphaArgChanged(Qt3DRender::QBlendEquationArguments::Blending destinationAlphaArg)
void destinationRgbArgChanged(Qt3DRender::QBlendEquationArguments::Blending destinationRgbArg)
void diffuseChanged(const QColor &diffuse)
void shininessChanged(float shininess)
void sourceAlphaArgChanged(Qt3DRender::QBlendEquationArguments::Blending sourceAlphaArg)
void sourceRgbArgChanged(Qt3DRender::QBlendEquationArguments::Blending sourceRgbArg)
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 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.
  • „Alpha“ ist die Transparenz der Oberfläche zwischen 0 (vollständig transparent) und 1 (undurchsichtig).

Dieses Material verwendet einen Effekt mit einem einzigen Render-Pass und führt eine Beleuchtung pro Fragment durch. Es werden Techniken für OpenGL 2, OpenGL 3 oder höher sowie für OpenGL ES 2 bereitgestellt.

Dokumentation der Eigenschaften

alpha : float

Enthält die Alpha-Komponente des Objekts, die zwischen 0 und 1 variiert.

Der Standardwert ist 0,5f.

Zugriffsfunktionen:

float alpha() const
void setAlpha(float alpha)

Notifier-Signal:

void alphaChanged(float alpha)

ambient : QColor

Enthält die Umgebungsfarbe.

Zugriffsfunktionen:

QColor ambient() const
void setAmbient(const QColor &ambient)

Benachrichtigungssignal:

void ambientChanged(const QColor &ambient)

blendFunctionArg : Qt3DRender::QBlendEquation::BlendFunction

Enthält das Argument der Mischungsgleichungsfunktion.

Zugriffsfunktionen:

Qt3DRender::QBlendEquation::BlendFunction blendFunctionArg() const
void setBlendFunctionArg(Qt3DRender::QBlendEquation::BlendFunction blendFunctionArg)

Benachrichtigungssignal:

void blendFunctionArgChanged(Qt3DRender::QBlendEquation::BlendFunction blendFunctionArg)

Siehe auch „ Qt3DRender::QBlendEquation::BlendFunction “.

destinationAlphaArg : Qt3DRender::QBlendEquationArguments::Blending

Enthält das Argument „Destination“ für die Alpha-Überblendung in der Überblendungsgleichung.

Zugriffsfunktionen:

Qt3DRender::QBlendEquationArguments::Blending destinationAlphaArg() const
void setDestinationAlphaArg(Qt3DRender::QBlendEquationArguments::Blending destinationAlphaArg)

Benachrichtigungssignal:

void destinationAlphaArgChanged(Qt3DRender::QBlendEquationArguments::Blending destinationAlphaArg)

Siehe auch „ Qt3DRender::QBlendEquationArguments::Blending “.

destinationRgbArg : Qt3DRender::QBlendEquationArguments::Blending

Enthält das RGB-Mischungsargument für die Mischungsgleichung.

Zugriffsfunktionen:

Qt3DRender::QBlendEquationArguments::Blending destinationRgbArg() const
void setDestinationRgbArg(Qt3DRender::QBlendEquationArguments::Blending destinationRgbArg)

Benachrichtigungssignal:

void destinationRgbArgChanged(Qt3DRender::QBlendEquationArguments::Blending destinationRgbArg)

Siehe auch „ Qt3DRender::QBlendEquationArguments::Blending “.

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)

sourceAlphaArg : Qt3DRender::QBlendEquationArguments::Blending

Enthält das Argument „Source Alpha Blending“ der Blend-Gleichung.

Zugriffsfunktionen:

Qt3DRender::QBlendEquationArguments::Blending sourceAlphaArg() const
void setSourceAlphaArg(Qt3DRender::QBlendEquationArguments::Blending sourceAlphaArg)

Benachrichtigungssignal:

void sourceAlphaArgChanged(Qt3DRender::QBlendEquationArguments::Blending sourceAlphaArg)

Siehe auch „ Qt3DRender::QBlendEquationArguments::Blending “.

sourceRgbArg : Qt3DRender::QBlendEquationArguments::Blending

Enthält das RGB-Mischungsargument der Mischungsgleichung.

Zugriffsfunktionen:

Qt3DRender::QBlendEquationArguments::Blending sourceRgbArg() const
void setSourceRgbArg(Qt3DRender::QBlendEquationArguments::Blending sourceRgbArg)

Benachrichtigungssignal:

void sourceRgbArgChanged(Qt3DRender::QBlendEquationArguments::Blending sourceRgbArg)

Siehe auch „ Qt3DRender::QBlendEquationArguments::Blending “.

specular : QColor

Enthält die Spiegelungsfarbe.

Zugriffsfunktionen:

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

Benachrichtigungssignal:

void specularChanged(const QColor &specular)

Dokumentation zu den Member-Funktionen

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

Erstellt eine neue Instanz von „QPhongAlphaMaterial“ mit dem übergeordneten Objekt „ parent “.

[virtual noexcept] QPhongAlphaMaterial::~QPhongAlphaMaterial()

Zerstört die „ QPhongAlphaMaterial “.

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