Qt3DRender::QParameter Class
class Qt3DRender::QParameterPermet de stocker une paire nom-valeur. Cela correspond à une variable uniforme de shader. En savoir plus...
| En-tête : | #include <Qt3DRender/QParameter> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
| qmake : | QT += 3drender |
| En QML : | Parameter |
| Hérite de : | Qt3DCore::QNode |
| Statut : | Obsolète |
Cette classe est obsolète. Nous déconseillons fortement de l'utiliser dans du nouveau code.
Propriétés
Fonctions publiques
| 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 |
Emplacements publics
Signaux
| void | nameChanged(const QString &name) |
| void | valueChanged(const QVariant &value) |
Description détaillée
Un QParameter peut être référencé par un QRenderPass, QTechnique, QEffect, QMaterial, QTechniqueFilter, QRenderPassFilter. Lors de l’exécution, selon le shader sélectionné pour une étape donnée du rendu, la valeur contenue dans un QParameter sera convertie et chargée si le shader contient un uniforme dont le nom correspond à celui du QParameter.
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;Remarque : il convient de veiller à ce que la valeur contenue dans un QParameter puisse effectivement être convertie en ce qu’attend réellement l’uniform. Attribuer une valeur stockée sous forme d’entier (int) alors que l’uniform du shader est de type flottant (float) pourrait entraîner des comportements indéfini.
Remarque : lorsque l’uniform cible est un tableau, le nom doit être celui de l’uniform suivi de [0].
Remarque : le nœudQParameter ne peut pas être désactivé.
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];En ce qui concerne la prise en charge des textures, la valeur de QParameter doit être définie sur la sous-classe appropriée de ` QAbstractTexture ` correspondant au type d'échantillonneur de l'uniforme du shader.
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 diffuseTextureVoir également QAbstractTexture.
Documentation sur les propriétés
name : QString
Spécifie le nom du paramètre
Fonctions d'accès :
| QString | name() const |
| void | setName(const QString &name) |
Signal de notification :
| void | nameChanged(const QString &name) |
value : QVariant
Spécifie la valeur du paramètre
Fonctions d’accès :
| QVariant | value() const |
| void | setValue(const QVariant &dv) |
Signal de notification :
| void | valueChanged(const QVariant &value) |
Documentation des fonctions membres
[explicit] QParameter::QParameter(Qt3DCore::QNode *parent = nullptr)
Crée un nouveau QParameter avec l'parent spécifiée.
[explicit] QParameter::QParameter(const QString &name, Qt3DRender::QAbstractTexture *texture, Qt3DCore::QNode *parent = nullptr)
Crée un nouveau QParameter avec l'parent spécifiée name et récupère sa valeur à partir de texture.
[explicit] QParameter::QParameter(const QString &name, const QVariant &value, Qt3DCore::QNode *parent = nullptr)
Crée un nouveau QParameter avec les paramètres spécifiés : parent, name et 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.