このページでは

QShaderVersion Class

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

ヘッダー: #include <qshader.h>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
以下のように: 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
(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)

詳細な説明

SPIR-V や Metal Shading Language などの言語では従来のバージョン番号が使用されていますが、他の API 用のシェーダーでは、若干異なるバージョン管理方式が採用されている場合があります。ただし、ここではそれらすべてが単一のバージョン番号にマッピングされています。 HLSLの場合、バージョンはShader Modelのバージョン(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::GlslEs0x01GlslShader と組み合わせて GLSL/ES を指すことを示します

Flags 型は、QFlags<Flag> の typedef です。Flag 値の OR 結合を格納します。

メンバ関数のドキュメント

[constexpr noexcept default] 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, since 6.12] size_t qHash(QShaderVersion key, size_t seed)

key のハッシュ値を返します。計算のシードにはseed を使用します。

注: INTEGRITYでは 、この関数は 6.2 以降で利用可能です。

この関数は Qt 6.12 で導入されました。

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

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

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

lhs がrhs より小さい場合、true を返します。

QShaderVersion 、lhs 、およびrhs の 3 つの値の間にソート順序を確立します。

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

2つのQShaderVersion オブジェクトlhs とrhs が等しい場合、true を返します。

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