QShaderVersion Class

Gibt die Version der Schattierungssprache an. Mehr...

Kopfzeile: #include <QShaderVersion>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
Since: Qt 6.6

Öffentliche Typen

enum Flag { GlslEs }
flags Flags

Öffentliche Funktionen

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)

Detaillierte Beschreibung

Während Sprachen wie SPIR-V oder die Metal Shading Language traditionelle Versionsnummern verwenden, können Shader für andere APIs leicht unterschiedliche Versionsschemata verwenden. Diese werden hier jedoch alle auf eine einzige Versionsnummer abgebildet. Für HLSL bezieht sich die Version auf die Shader Model Version, wie 5.0, 5.1 oder 6.0. Für GLSL wird ein zusätzliches Flag benötigt, um zwischen GLSL und GLSL/ES zu wählen.

Im Folgenden finden Sie eine Liste mit den gängigsten Beispielen von Shader-Versionen für verschiedene Grafik-APIs:

  • Vulkan (SPIR-V): 100
  • OpenGL: 120, 330, 440, usw.
  • OpenGL ES: 100 mit GlslEs, 300 mit GlslEs, usw.
  • Direct3D: 50, 51, 60
  • Metall: 12, 20

Eine standardmäßig konstruierte QShaderVersion enthält eine Version von 100 und keine gesetzten Flags.

Hinweis: Dies ist eine RHI-API mit eingeschränkten Kompatibilitätsgarantien, siehe QShader für Details.

Dokumentation der Mitgliedstypen

enum QShaderVersion::Flag
flags QShaderVersion::Flags

Beschreibt die Flags, die gesetzt werden können.

KonstanteWertBeschreibung
QShaderVersion::GlslEs0x01Zeigt an, dass GLSL/ES in Kombination mit GlslShader gemeint ist

Der Typ Flags ist ein Typedef für QFlags<Flag>. Er speichert eine OR-Kombination von Flag-Werten.

Dokumentation der Mitgliedsfunktionen

[constexpr noexcept] QShaderVersion::QShaderVersion()

QShaderVersion::QShaderVersion(int v, QShaderVersion::Flags f = Flags())

Konstruiert eine neue QShaderVersion mit Version v und Flags f.

QShaderVersion::Flags QShaderVersion::flags() const

Gibt die Flaggen zurück.

Siehe auch setFlags().

void QShaderVersion::setFlags(QShaderVersion::Flags f)

Setzt die Flags f.

Siehe auch flags().

void QShaderVersion::setVersion(int v)

Setzt die Version der Schattierungssprache auf v.

Siehe auch version().

int QShaderVersion::version() const

Gibt die Version zurück.

Siehe auch setVersion().

Verwandte Nicht-Mitglieder

[noexcept] bool operator!=(const QShaderVersion &lhs, const QShaderVersion &rhs)

Gibt false zurück, wenn die Werte in den beiden Objekten QShaderVersion lhs und rhs gleich sind; andernfalls wird true zurückgegeben.

[noexcept] bool operator<(const QShaderVersion &lhs, const QShaderVersion &rhs)

Gibt true zurück, wenn lhs kleiner als rhs ist.

Stellt eine Sortierreihenfolge zwischen den beiden QShaderVersion lhs und rhs her.

[noexcept] bool operator==(const QShaderVersion &lhs, const QShaderVersion &rhs)

Gibt true zurück, wenn die beiden Objekte QShaderVersion lhs und rhs gleich sind.

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