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
Ö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 |
Verwandte Nicht-Mitglieder
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.
Konstante | Wert | Beschreibung |
---|---|---|
QShaderVersion::GlslEs | 0x01 | Zeigt 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.