QOpenGLDebugMessage Class
QOpenGLDebugMessageクラスは、OpenGLデバッグメッセージをラップします。詳細...
Header: | #include <QOpenGLDebugMessage> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS OpenGL) target_link_libraries(mytarget PRIVATE Qt6::OpenGL) |
qmake: | QT += opengl |
- 継承メンバを含む全メンバのリスト
- QOpenGLDebugMessageは、暗黙的に共有されるクラスと 3Dのレンダリングに属しています。
注意:このクラスの関数はすべてリエントラントです。
パブリック・タイプ
flags | Severities |
enum | Severity { InvalidSeverity, HighSeverity, MediumSeverity, LowSeverity, NotificationSeverity, AnySeverity } |
enum | Source { InvalidSource, APISource, WindowSystemSource, ShaderCompilerSource, ThirdPartySource, …, AnySource } |
flags | Sources |
enum | Type { InvalidType, ErrorType, DeprecatedBehaviorType, UndefinedBehaviorType, PortabilityType, …, AnyType } |
flags | Types |
パブリック関数
QOpenGLDebugMessage() | |
QOpenGLDebugMessage(const QOpenGLDebugMessage &debugMessage) | |
~QOpenGLDebugMessage() | |
GLuint | id() const |
QString | message() const |
QOpenGLDebugMessage::Severity | severity() const |
QOpenGLDebugMessage::Source | source() const |
void | swap(QOpenGLDebugMessage &debugMessage) |
QOpenGLDebugMessage::Type | type() const |
bool | operator!=(const QOpenGLDebugMessage &debugMessage) const |
QOpenGLDebugMessage & | operator=(QOpenGLDebugMessage &&debugMessage) |
QOpenGLDebugMessage & | operator=(const QOpenGLDebugMessage &debugMessage) |
bool | operator==(const QOpenGLDebugMessage &debugMessage) const |
静的パブリック・メンバー
QOpenGLDebugMessage | createApplicationMessage(const QString &text, GLuint id = 0, QOpenGLDebugMessage::Severity severity = NotificationSeverity, QOpenGLDebugMessage::Type type = OtherType) |
QOpenGLDebugMessage | createThirdPartyMessage(const QString &text, GLuint id = 0, QOpenGLDebugMessage::Severity severity = NotificationSeverity, QOpenGLDebugMessage::Type type = OtherType) |
関連する非メンバー
QDebug | operator<<(QDebug debug, QOpenGLDebugMessage::Severity severity) |
QDebug | operator<<(QDebug debug, QOpenGLDebugMessage::Source source) |
QDebug | operator<<(QDebug debug, QOpenGLDebugMessage::Type type) |
QDebug | operator<<(QDebug debug, const QOpenGLDebugMessage &message) |
詳しい説明
デバッグメッセージは通常、OpenGLサーバーによって作成され、OpenGLクライアントによって読み込まれます(OpenGL内部のデバッグログから、またはリアルタイムで記録されます)。デバッグメッセージは、テキスト表現、ベンダー固有の数値ID、ソース、タイプ、重大度を持ちます。
アプリケーションやサードパーティのライブラリやツールキットがデバッグログにメッセージを作成し、挿入することも可能です。そのためには、createApplicationMessage() またはcreateThirdPartyMessage() 静的関数を使用します。
QOpenGLDebugLoggerも参照して ください。
メンバ型ドキュメント
enum QOpenGLDebugMessage::Severity
flags QOpenGLDebugMessage::Severities
Severity enum は、デバッグメッセージの重大度を定義します。
定数 | 値 | 説明 |
---|---|---|
QOpenGLDebugMessage::InvalidSeverity | 0x00000000 | メッセージの重大度は無効です。これは、デフォルトで構築されたQOpenGLDebugMessage オブジェクトの重大度です。 |
QOpenGLDebugMessage::HighSeverity | 0x00000001 | メッセージの重大度は高い。 |
QOpenGLDebugMessage::MediumSeverity | 0x00000002 | メッセージの重大度は中である。 |
QOpenGLDebugMessage::LowSeverity | 0x00000004 | メッセージの重大度は低い。 |
QOpenGLDebugMessage::NotificationSeverity | 0x00000008 | メッセージは通知である。 |
QOpenGLDebugMessage::AnySeverity | 0xffffffff | この値は、可能なすべてのメッセージの重大度のマスクに対応します。 |
Severities 型はQFlags<Severity> の typedef です。Severity 値の OR の組み合わせを格納します。
enum QOpenGLDebugMessage::Source
flags QOpenGLDebugMessage::Sources
Source enum は、デバッグメッセージのソースを定義します。
定数 | 値 | 説明 |
---|---|---|
QOpenGLDebugMessage::InvalidSource | 0x00000000 | メッセージのソースは無効です。これは、デフォルトで構成されたQOpenGLDebugMessage オブジェクトのソースです。 |
QOpenGLDebugMessage::APISource | 0x00000001 | メッセージは OpenGL API 呼び出しに応答して生成されました。 |
QOpenGLDebugMessage::WindowSystemSource | 0x00000002 | メッセージはウィンドウシステムによって生成されました。 |
QOpenGLDebugMessage::ShaderCompilerSource | 0x00000004 | メッセージはシェーダー・コンパイラーによって生成されました。 |
QOpenGLDebugMessage::ThirdPartySource | 0x00000008 | メッセージはサードパーティ(たとえばOpenGLフレームワークaやデバッグツールキット)によって生成された。 |
QOpenGLDebugMessage::ApplicationSource | 0x00000010 | メッセージがアプリケーション自身によって生成された。 |
QOpenGLDebugMessage::OtherSource | 0x00000020 | この列挙に含まれていないソースによって生成されたメッセージ。 |
QOpenGLDebugMessage::AnySource | 0xffffffff | この値は、すべての可能なメッセージ・ソースのマスクに対応します。 |
Sources 型は、QFlags<Source> の typedef です。これは、Source 値の OR の組み合わせを格納します。
enum QOpenGLDebugMessage::Type
flags QOpenGLDebugMessage::Types(QOpenGLDebugMessage::Type列挙型)
Type 列挙型は、デバッグ・メッセージのタイプを定義します。
定数 | 値 | 説明 |
---|---|---|
QOpenGLDebugMessage::InvalidType | 0x00000000 | メッセージの型は無効です。これは、デフォルトで構築されたQOpenGLDebugMessage オブジェクトの型です。 |
QOpenGLDebugMessage::ErrorType | 0x00000001 | メッセージはエラーを表します。 |
QOpenGLDebugMessage::DeprecatedBehaviorType | 0x00000002 | メッセージは非推奨の動作の使用法を表します。 |
QOpenGLDebugMessage::UndefinedBehaviorType | 0x00000004 | メッセージは未定義の動作の使用法を表しています。 |
QOpenGLDebugMessage::PortabilityType | 0x00000008 | メッセージは、移植性に問題があるかもしれない、ベンダ固有の動作の使用法を表しています。 |
QOpenGLDebugMessage::PerformanceType | 0x00000010 | メッセージはパフォーマンスの問題を表しています。 |
QOpenGLDebugMessage::OtherType | 0x00000020 | メッセージは、この列挙に含まれていない型を表します。 |
QOpenGLDebugMessage::MarkerType | 0x00000040 | メッセージはデバッグ・ログのマーカーを表す。 |
QOpenGLDebugMessage::GroupPushType | 0x00000080 | メッセージはデバッグ・グループのプッシュ操作を表しています。 |
QOpenGLDebugMessage::GroupPopType | 0x00000100 | メッセージはデバッグ・グループのポップ操作を表しています。 |
QOpenGLDebugMessage::AnyType | 0xffffffff | この値は、すべての可能なメッセージ・タイプのマスクに対応します。 |
Types 型はQFlags<Type> の typedef です。これは、Type 値の OR の組み合わせを格納します。
メンバ関数ドキュメント
QOpenGLDebugMessage::QOpenGLDebugMessage()
空のメッセージ文字列、id に 0、source にInvalidSource 、type にInvalidType 、severity にInvalidSeverity を設定したデバッグ・メッセージを構築します。
代わりに、createApplicationMessage() またはcreateThirdPartyMessage() 静的関数を使用してください。
createApplicationMessage() およびcreateThirdPartyMessage()も参照して ください。
QOpenGLDebugMessage::QOpenGLDebugMessage(const QOpenGLDebugMessage &debugMessage)
debugMessage のコピーとしてデバッグ・メッセージを構築します。
operator=()も参照して ください。
[noexcept]
QOpenGLDebugMessage::~QOpenGLDebugMessage()
このデバッグ・メッセージを破棄します。
[static]
QOpenGLDebugMessage QOpenGLDebugMessage::createApplicationMessage(const QString &text, GLuint id = 0, QOpenGLDebugMessage::Severity severity = NotificationSeverity, QOpenGLDebugMessage::Type type = OtherType)
text をテキスト、id を id、severity を severity、type を type としてデバッグ・メッセージを構築して返します。メッセージ・ソースはApplicationSource に設定されます。
QOpenGLDebugLogger::logMessage() およびcreateThirdPartyMessage()も参照して ください。
[static]
QOpenGLDebugMessage QOpenGLDebugMessage::createThirdPartyMessage(const QString &text, GLuint id = 0, QOpenGLDebugMessage::Severity severity = NotificationSeverity, QOpenGLDebugMessage::Type type = OtherType)
text をテキスト、id を ID、severity を重大度、type をタイプとしてデバッグ・メッセージを構築して返します。メッセージ・ソースはThirdPartySource に設定されます。
QOpenGLDebugLogger::logMessage() およびcreateApplicationMessage()も参照して ください。
GLuint QOpenGLDebugMessage::id() const
デバッグ・メッセージの ID を返します。ID は一般にベンダー固有です。
QString QOpenGLDebugMessage::message() const
このデバッグ・メッセージに含まれるテキスト・メッセージを返します。
QOpenGLDebugMessage::Severity QOpenGLDebugMessage::severity() const
デバッグ・メッセージの重大度を返します。
QOpenGLDebugMessage::Source QOpenGLDebugMessage::source() const
デバッグメッセージのソースを返します。
[noexcept]
void QOpenGLDebugMessage::swap(QOpenGLDebugMessage &debugMessage)
メッセージdebugMessage をこのメッセージと交換します。この操作は非常に速く、失敗することはない。
QOpenGLDebugMessage::Type QOpenGLDebugMessage::type() const
デバッグ・メッセージのタイプを返します。
bool QOpenGLDebugMessage::operator!=(const QOpenGLDebugMessage &debugMessage) const
このメッセージがdebugMessage と異なる場合はtrue
を返し、そうでない場合は false を返します。
operator==()も参照してください 。
[noexcept]
QOpenGLDebugMessage &QOpenGLDebugMessage::operator=(QOpenGLDebugMessage &&debugMessage)
Move-このオブジェクトにdebugMessage を割り当てます。
QOpenGLDebugMessage &QOpenGLDebugMessage::operator=(const QOpenGLDebugMessage &debugMessage)
メッセージdebugMessage をこのオブジェクトに割り当て、そのコピーへの参照を返します。
bool QOpenGLDebugMessage::operator==(const QOpenGLDebugMessage &debugMessage) const
このデバッグ・メッセージがdebugMessage と等しい場合はtrue
を返し、そうでない場合は false を返します。2 つのデバッグ・メッセージは、同じテキスト・メッセージ、同じ ID、同じソース、同じタイプ、同じ重大度を持つ場合、等しくなります。
operator!=()も参照 。
関連する非メンバー
QDebug operator<<(QDebug debug, QOpenGLDebugMessage::Severity severity)
デバッグのために、デバッグ・オブジェクトdebug に深刻度severity を書き込みます。
QDebug operator<<(QDebug debug, QOpenGLDebugMessage::Source source)
デバッグ目的で、ソースsource をデバッグ・オブジェクトdebug に書き込みます。
QDebug operator<<(QDebug debug, QOpenGLDebugMessage::Type type)
デバッグ目的で、デバッグ・オブジェクトdebug にタイプtype を書き込みます。
QDebug operator<<(QDebug debug, const QOpenGLDebugMessage &message)
デバッグのために、メッセージmessage をデバッグオブジェクトdebug に書き込みます。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。