Qt3DRender::QParameter Class
class Qt3DRender::QParameterBietet Speicherplatz für ein Name-Wert-Paar. Dies entspricht einer Shader-Uniform. Mehr...
| Header: | #include <Qt3DRender/QParameter> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
| qmake: | QT += 3drender |
| In QML: | Parameter |
| Erbt von: | Qt3DCore::QNode |
| Status: | Veraltet |
Diese Klasse ist veraltet. Wir raten dringend davon ab, sie in neuem Code zu verwenden.
Eigenschaften
Öffentliche Funktionen
| QParameter(Qt3DCore::QNode *parent = nullptr) | |
| QParameter(const QString &name, Qt3DRender::QAbstractTexture *texture, Qt3DCore::QNode *parent = nullptr) | |
| QParameter(const QString &name, const QVariant &value, Qt3DCore::QNode *parent = nullptr) | |
| QString | name() const |
| QVariant | value() const |
Öffentliche Slots
Signale
| void | nameChanged(const QString &name) |
| void | valueChanged(const QVariant &value) |
Detaillierte Beschreibung
Auf einen QParameter kann über QRenderPass, QTechnique, QEffect, QMaterial, QTechniqueFilter oder QRenderPassFilter verwiesen werden. Zur Laufzeit wird der in einem QParameter enthaltene Wert – je nachdem, welcher Shader für einen bestimmten Schritt des Renderings ausgewählt ist – konvertiert und hochgeladen, sofern der Shader ein Uniform enthält, dessen Name mit dem des QParameters übereinstimmt.
QParameter *param = new QParameter();
param->setName(QStringLiteral("diffuseColor"));
param->setValue(QColor::fromRgbF(0.0f, 0.0f, 1.0f, 1.0f));
// Alternatively you can create and set a QParameter this way
QParameter *param2 = new QParameter(QStringLiteral("diffuseColor"), QColor::fromRgbF(0.0f, 0.0f, 1.0f, 1.0f));
// Such QParameters will work with the following GLSL uniform shader declarations
// uniform vec4 diffuseColor;
// uniform vec3 diffuseColor;
// uniform vec2 diffuseColor;
// uniform float diffuseColor;Hinweis: Es muss darauf geachtet werden, dass der von einem QParameter umschlossene Wert tatsächlich in das Format konvertiert werden kann, das das eigentliche Uniform erwartet. Die Übergabe eines als int gespeicherten Werts, wenn das tatsächliche Shader-Uniform vom Typ float ist, kann zu undefiniertem Verhalten führen.
Hinweis: Wenn es sich bei der Ziel-Uniform um ein Array handelt, sollte der Name der Uniform mit dem angehängten [0] lauten.
Hinweis: DerQParameter -Knoten kann nicht deaktiviert werden.
QParameter *param = new QParameter();
QVariantList values = QVariantList() << 0.0f << 1.0f << 2.0f << 3.0f << 4.0f << 883.0f << 1340.0f << 1584.0f;
param->setName(QStringLiteral("diffuseValues[0]"));
param->setValue(values);
// Matching GLSL shader uniform declaration
// uniform float diffuseValues[8];Was die Texturunterstützung betrifft, sollte der QParameter-Wert auf die entsprechende Unterklasse von „ QAbstractTexture “ gesetzt werden, die dem Sampler-Typ der Shader-Uniform entspricht.
QTexture2D *texture = new QTexture2D();
...
QParameter *param = new QParameter();
param->setName(QStringLiteral("diffuseTexture"));
param->setValue(QVariant::fromValue(texture));
// Works with the following GLSL uniform shader declaration
// uniform sampler2D diffuseTextureSiehe auch „ QAbstractTexture “.
Dokumentation zu den Eigenschaften
name : QString
Gibt den Namen des Parameters an
Zugriffsfunktionen:
| QString | name() const |
| void | setName(const QString &name) |
Benachrichtigungssignal:
| void | nameChanged(const QString &name) |
value : QVariant
Legt den Wert des Parameters fest
Zugriffsfunktionen:
| QVariant | value() const |
| void | setValue(const QVariant &dv) |
Benachrichtigungssignal:
| void | valueChanged(const QVariant &value) |
Dokumentation der Mitgliedsfunktionen
[explicit] QParameter::QParameter(Qt3DCore::QNode *parent = nullptr)
Erstellt einen neuen QParameter mit dem angegebenen „ parent “.
[explicit] QParameter::QParameter(const QString &name, Qt3DRender::QAbstractTexture *texture, Qt3DCore::QNode *parent = nullptr)
Erstellt einen neuen QParameter mit den angegebenen Werten für „ parent “ und „ name “ und übernimmt dessen Wert aus „ texture “.
[explicit] QParameter::QParameter(const QString &name, const QVariant &value, Qt3DCore::QNode *parent = nullptr)
Erstellt einen neuen QParameter mit den angegebenen Werten „ parent “, „ name “ und „ value “.
© 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.