QShaderVersion Class
Gibt die Version der Shading-Sprache an. Mehr...
| Header: | #include <qshader.h> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake: | QT += gui |
| Seit: | 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
(since 6.12) size_t | qHash(QShaderVersion key, size_t seed) |
| bool | operator!=(const QShaderVersion &lhs, const QShaderVersion &rhs) |
| bool | operator<(const QShaderVersion &lhs, const QShaderVersion &rhs) |
| bool | operator==(const QShaderVersion &lhs, const QShaderVersion &rhs) |
Ausführliche Beschreibung
Während Sprachen wie SPIR-V oder die Metal Shading Language traditionelle Versionsnummern verwenden, können Shader für andere APIs leicht abweichende Versionsschemata nutzen. All diese werden hier jedoch einer einzigen Versionsnummer zugeordnet. Bei HLSL bezieht sich die Version auf die Shader-Model-Version, wie beispielsweise 5.0, 5.1 oder 6.0. Bei GLSL ist ein zusätzliches Flag erforderlich, um zwischen GLSL und GLSL/ES zu unterscheiden.
Nachfolgend finden Sie eine Liste mit den gängigsten Beispielen für Shader-Versionen verschiedener Grafik-APIs:
- Vulkan (SPIR-V): 100
- OpenGL: 120, 330, 440 usw.
- OpenGL ES: 100 mit „ GlslEs “, 300 mit „ GlslEs “ usw.
- Direct3D: 50, 51, 60
- Metal: 12, 20
Ein standardmäßig konstruiertes `QShaderVersion`-Objekt enthält die Version 100 und keine gesetzten Flags.
Hinweis: Dies ist eine RHI-API mit eingeschränkten Kompatibilitätsgarantien; weitere Informationen finden Sie unter QShader.
Dokumentation zu den Mitgliedstypen
enum QShaderVersion::Flag
flags QShaderVersion::Flags
Beschreibt die Flags, die gesetzt werden können.
| Konstante | Wert | Beschreibung |
|---|---|---|
QShaderVersion::GlslEs | 0x01 | Gibt an, dass GLSL/ES in Kombination mit GlslShader verwendet werden soll |
Der Typ „Flags“ ist ein typedef für QFlags<Flag>. Er speichert eine OR-Kombination von Flag-Werten.
Dokumentation der Mitgliedsfunktionen
[constexpr noexcept default] QShaderVersion::QShaderVersion()
QShaderVersion::QShaderVersion(int v, QShaderVersion::Flags f = Flags())
Erstellt eine neue `QShaderVersion` mit der Versionsnummer ` v ` und den Flags ` f`.
QShaderVersion::Flags QShaderVersion::flags() const
Gibt die Flags 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 Shading-Sprache auf „ v “.
Siehe auch version().
int QShaderVersion::version() const
Gibt die Version zurück.
Siehe auch ` setVersion()`.
Verwandte Nicht-Mitglieder
[noexcept, since 6.12] size_t qHash(QShaderVersion key, size_t seed)
Gibt den Hash-Wert für key zurück, wobei seed als Startwert für die Berechnung verwendet wird.
Hinweis: Bei INTEGRITY ist diese Funktion seit Version 6.2 verfügbar.
Diese Funktion wurde in Qt 6.12 eingeführt.
[noexcept] bool operator!=(const QShaderVersion &lhs, const QShaderVersion &rhs)
Gibt „ false “ zurück, wenn die Werte in den beiden „ QShaderVersion “-Objekten „ lhs “ und „ rhs “ identisch sind; andernfalls wird „ true “ zurückgegeben.
[noexcept] bool operator<(const QShaderVersion &lhs, const QShaderVersion &rhs)
Gibt „true“ zurück, wenn lhs kleiner ist als rhs.
Legt eine Sortierreihenfolge zwischen den beiden Werten „ QShaderVersion “, „ lhs “ und „ rhs “ fest.
[noexcept] bool operator==(const QShaderVersion &lhs, const QShaderVersion &rhs)
Gibt „ true “ zurück, wenn die beiden Objekte „ QShaderVersion “ lhs und rhs gleich sind.
© 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.