QShaderVersion 类
指定着色语言版本。 更多...
头文件 | #include <QShaderVersion> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake | QT += gui |
自 | Qt 6.6 |
公共类型
公共函数
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) |
详细介绍
虽然像 SPIR-V 或 Metal 着色语言这样的语言使用传统的版本号,但其他 API 的着色器可以使用略有不同的版本方案。但这里都映射到单个版本号。对于 HLSL,版本指的是着色器模型版本,如 5.0,5.1 或 6.0。对于 GLSL,需要一个额外的标志来选择 GLSL 或 GLSL/ES。
以下是不同图形 API 着色版本最常见示例的列表
- Vulkan (SPIR-V): 100
- OpenGL: 120, 330, 440 等。
- OpenGL ES: 带有 GlslEs 的 100,带有 GlslEs 的 300 等。
- Direct3D: 50,51,60
- Metal: 12,20
默认构造的 QShaderVersion 包含版本 100,未设置任何标志。
注意: 这是一个 RHI API,兼容性保证有限,详情请参阅 QShader。
成员类型文档
enum QShaderVersion::Flag
flags QShaderVersion::Flags
描述可以设置的标志。
常量 | 值 | 描述 |
---|---|---|
QShaderVersion::GlslEs | 0x01 | 表示 GLSL/ES 与 GlslShader 结合使用 |
Flags 类型是 QFlags
成员函数文档
[constexpr noexcept]
QShaderVersion::QShaderVersion()
QShaderVersion::QShaderVersion(int v, QShaderVersion::Flags f = Flags())
构建一个新的 QShaderVersion 对象,其版本为 v,标志为 f。
QShaderVersion::Flags QShaderVersion::flags() const
返回标志。
另请参阅setFlags。
void QShaderVersion::setFlags(QShaderVersion::Flags f)
设置标志 f。
另请参阅flags。
void QShaderVersion::setVersion(int v)
设置着色器语言版本为 v。
另请参阅version。
int QShaderVersion::version() const
返回版本。
另请参阅setVersion。
相关非成员函数
[noexcept]
bool operator!=(const QShaderVersion &lhs, const QShaderVersion &rhs)
如果两个 QShaderVersion 对象 lhs 和 rhs 中的值相等,返回 false
;否则返回 true
。
[noexcept]
bool operator<(const QShaderVersion &lhs, const QShaderVersion &rhs)
如果 lhs 小于 rhs,则返回真。
在两个 QShaderVersion lhs 和 rhs 之间建立排序顺序。
[noexcept]
bool operator==(const QShaderVersion &lhs, const QShaderVersion &rhs)
如果两个 QShaderVersion 对象 lhs 和 rhs 相等,则返回 true
。
© 2024 The Qt Company Ltd. 本文档中的文档贡献是各自所有者的版权。所提供的文档根据自由软件基金会发布的 GNU 自由文档许可证版本 1.3 条款进行许可。Qt 和相应的标志是 The Qt Company Ltd. 在芬兰和/或世界其他国家的 商标。所有其他商标均为其各自所有者的财产。