QShaderVersion Class
Spécifie la version du langage d'ombrage. Plus d'informations...
| En-tête : | #include <QShaderVersion> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Gui)target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake : | QT += gui |
| Depuis : | Qt 6.6 |
Types publics
Fonctions publiques
| QShaderVersion() | |
| QShaderVersion(int v, QShaderVersion::Flags f = Flags()) | |
| QShaderVersion::Flags | flags() const |
| void | setFlags(QShaderVersion::Flags f) |
| void | setVersion(int v) |
| int | version() const |
Non-membres apparentés
| bool | operator!=(const QShaderVersion &lhs, const QShaderVersion &rhs) |
| bool | operator<(const QShaderVersion &lhs, const QShaderVersion &rhs) |
| bool | operator==(const QShaderVersion &lhs, const QShaderVersion &rhs) |
Description détaillée
Alors que des langages comme SPIR-V ou le Metal Shading Language utilisent des numéros de version traditionnels, les shaders pour d'autres API peuvent utiliser des schémas de version légèrement différents. Tous ces schémas sont cependant associés à un seul numéro de version. Pour HLSL, la version fait référence à la version du modèle de shaders, comme 5.0, 5.1, ou 6.0. Pour GLSL, un drapeau supplémentaire est nécessaire pour choisir entre GLSL et GLSL/ES.
Vous trouverez ci-dessous une liste des exemples les plus courants de versions de shaders pour différentes API graphiques :
- Vulkan (SPIR-V) : 100
- OpenGL : 120, 330, 440, etc.
- OpenGL ES : 100 avec GlslEs, 300 avec GlslEs, etc.
- Direct3D : 50, 51, 60
- Métal : 12, 20
Un QShaderVersion construit par défaut contient une version de 100 et aucun drapeau n'est défini.
Remarque : il s'agit d'une API RHI avec des garanties de compatibilité limitées, voir QShader pour plus de détails.
Documentation sur les types de membres
enum QShaderVersion::Flag
flags QShaderVersion::Flags
Décrit les drapeaux qui peuvent être définis.
| Constante | Valeur | Description |
|---|---|---|
QShaderVersion::GlslEs | 0x01 | Indique que GLSL/ES est utilisé en combinaison avec GlslShader. |
Le type Flags est un typedef pour QFlags<Flag>. Il stocke une combinaison OU de valeurs de drapeaux.
Documentation des fonctions membres
[constexpr noexcept] QShaderVersion::QShaderVersion()
QShaderVersion::QShaderVersion(int v, QShaderVersion::Flags f = Flags())
Construit un nouveau QShaderVersion avec la version v et les drapeaux f.
QShaderVersion::Flags QShaderVersion::flags() const
Renvoie les drapeaux.
Voir aussi setFlags().
void QShaderVersion::setFlags(QShaderVersion::Flags f)
Définit les drapeaux f.
Voir aussi flags().
void QShaderVersion::setVersion(int v)
Définit la version du langage d'ombrage à v.
Voir aussi version().
int QShaderVersion::version() const
Renvoie la version.
Voir aussi setVersion().
Non-membres apparentés
[noexcept] bool operator!=(const QShaderVersion &lhs, const QShaderVersion &rhs)
Renvoie false si les valeurs des deux objets QShaderVersion lhs et rhs sont égales ; sinon, renvoie true.
[noexcept] bool operator<(const QShaderVersion &lhs, const QShaderVersion &rhs)
Retourne vrai si lhs est plus petit que rhs.
Etablit un ordre de tri entre les deux QShaderVersion lhs et rhs.
[noexcept] bool operator==(const QShaderVersion &lhs, const QShaderVersion &rhs)
Renvoie true si les deux objets QShaderVersion lhs et rhs sont égaux.
© 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.