Sur cette page

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

enum Flag { GlslEs }
flags Flags

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

ConstanteValeurDescription
QShaderVersion::GlslEs0x01Indique 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.