QOpenGLDebugMessage Class

QOpenGLDebugMessageクラスは、OpenGLデバッグメッセージをラップします。詳細...

Header: #include <QOpenGLDebugMessage>
CMake: find_package(Qt6 REQUIRED COMPONENTS OpenGL)
target_link_libraries(mytarget PRIVATE Qt6::OpenGL)
qmake: QT += opengl

注意:このクラスの関数はすべてリエントラントです。

パブリック・タイプ

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::InvalidSeverity0x00000000メッセージの重大度は無効です。これは、デフォルトで構築されたQOpenGLDebugMessage オブジェクトの重大度です。
QOpenGLDebugMessage::HighSeverity0x00000001メッセージの重大度は高い。
QOpenGLDebugMessage::MediumSeverity0x00000002メッセージの重大度は中である。
QOpenGLDebugMessage::LowSeverity0x00000004メッセージの重大度は低い。
QOpenGLDebugMessage::NotificationSeverity0x00000008メッセージは通知である。
QOpenGLDebugMessage::AnySeverity0xffffffffこの値は、可能なすべてのメッセージの重大度のマスクに対応します。

Severities 型はQFlags<Severity> の typedef です。Severity 値の OR の組み合わせを格納します。

enum QOpenGLDebugMessage::Source
flags QOpenGLDebugMessage::Sources

Source enum は、デバッグメッセージのソースを定義します。

定数説明
QOpenGLDebugMessage::InvalidSource0x00000000メッセージのソースは無効です。これは、デフォルトで構成されたQOpenGLDebugMessage オブジェクトのソースです。
QOpenGLDebugMessage::APISource0x00000001メッセージは OpenGL API 呼び出しに応答して生成されました。
QOpenGLDebugMessage::WindowSystemSource0x00000002メッセージはウィンドウシステムによって生成されました。
QOpenGLDebugMessage::ShaderCompilerSource0x00000004メッセージはシェーダー・コンパイラーによって生成されました。
QOpenGLDebugMessage::ThirdPartySource0x00000008メッセージはサードパーティ(たとえばOpenGLフレームワークaやデバッグツールキット)によって生成された。
QOpenGLDebugMessage::ApplicationSource0x00000010メッセージがアプリケーション自身によって生成された。
QOpenGLDebugMessage::OtherSource0x00000020この列挙に含まれていないソースによって生成されたメッセージ。
QOpenGLDebugMessage::AnySource0xffffffffこの値は、すべての可能なメッセージ・ソースのマスクに対応します。

Sources 型は、QFlags<Source> の typedef です。これは、Source 値の OR の組み合わせを格納します。

enum QOpenGLDebugMessage::Type
flags QOpenGLDebugMessage::Types(QOpenGLDebugMessage::Type列挙型)

Type 列挙型は、デバッグ・メッセージのタイプを定義します。

定数説明
QOpenGLDebugMessage::InvalidType0x00000000メッセージの型は無効です。これは、デフォルトで構築されたQOpenGLDebugMessage オブジェクトの型です。
QOpenGLDebugMessage::ErrorType0x00000001メッセージはエラーを表します。
QOpenGLDebugMessage::DeprecatedBehaviorType0x00000002メッセージは非推奨の動作の使用法を表します。
QOpenGLDebugMessage::UndefinedBehaviorType0x00000004メッセージは未定義の動作の使用法を表しています。
QOpenGLDebugMessage::PortabilityType0x00000008メッセージは、移植性に問題があるかもしれない、ベンダ固有の動作の使用法を表しています。
QOpenGLDebugMessage::PerformanceType0x00000010メッセージはパフォーマンスの問題を表しています。
QOpenGLDebugMessage::OtherType0x00000020メッセージは、この列挙に含まれていない型を表します。
QOpenGLDebugMessage::MarkerType0x00000040メッセージはデバッグ・ログのマーカーを表す。
QOpenGLDebugMessage::GroupPushType0x00000080メッセージはデバッグ・グループのプッシュ操作を表しています。
QOpenGLDebugMessage::GroupPopType0x00000100メッセージはデバッグ・グループのポップ操作を表しています。
QOpenGLDebugMessage::AnyType0xffffffffこの値は、すべての可能なメッセージ・タイプのマスクに対応します。

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.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。