QShaderVersion Class

シェーディング言語のバージョンを指定します。詳細...

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

パブリック型

enum Flag { GlslEs }
flags Flags

パブリック関数

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 Shading Languageのような言語では伝統的なバージョン番号を使用しますが、他のAPI用のシェーダではわずかに異なるバージョン管理方式を使用することができます。しかし、ここではそれらすべてが1つのバージョン番号にマッピングされています。HLSLの場合、バージョンは5.0、5.1、6.0のようにシェーダーモデルのバージョンを指します。GLSLの場合は、GLSLとGLSL/ESを選択するために追加のフラグが必要です。

以下は、異なるグラフィックスAPI用のシェーダーバージョンの最も一般的な例のリストです:

  • Vulkan (SPIR-V):100
  • OpenGL: 120、330、440など。
  • OpenGL ES: 100(GlslEs )、300(GlslEs )など。
  • Direct3D: 50、51、60
  • メタル:12、20

デフォルトの QShaderVersion は 100 で、フラグは設定されていません。

注意: これは互換性保証に制限のある RHI API です。詳細はQShader を参照してください。

メンバ型ドキュメント

enum QShaderVersion::Flag
flags QShaderVersion::Flags

設定可能なフラグを記述します。

定数説明
QShaderVersion::GlslEs0x01GLSL/ESがGlslShaderとの組み合わせを意味することを示す。

Flags 型はQFlags<Flag> の typedef である。Flag 値の OR の組み合わせを格納する。

メンバ関数ドキュメント

[constexpr noexcept] QShaderVersion::QShaderVersion()

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

バージョンv とフラグf を持つ新しい QShaderVersion を構築する。

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)

2 つのQShaderVersion オブジェクトlhsrhs の値が等しい場合はfalse を返し、そうでない場合はtrue を返します。

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

lhsrhs よりも小さい場合は真を返す。

2つのQShaderVersion lhsrhs の間のソート順を確立する。

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

2つのQShaderVersion オブジェクトlhsrhs が等しい場合はtrue を返します。

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。