このページでは

QQuickGraphicsDevice Class

QQuickGraphicsDevice クラスは、グラフィックスデバイスやコンテキストを表すネイティブのグラフィックスオブジェクトを格納するための不透明なコンテナを提供します。詳細...

ヘッダー: #include <QQuickGraphicsDevice>
CMake: find_package(Qt6 REQUIRED COMPONENTS Quick)
target_link_libraries(mytarget PRIVATE Qt6::Quick)
qmake: QT += quick
以下のように: Qt 6.0

パブリック関数

静的パブリックメンバー

QQuickGraphicsDevice fromAdapter(quint32 adapterLuidLow, qint32 adapterLuidHigh, int featureLevel = 0)
QQuickGraphicsDevice fromDeviceAndCommandQueue(MTLDevice *device, MTLCommandQueue *commandQueue)
QQuickGraphicsDevice fromDeviceAndContext(void *device, void *context)
QQuickGraphicsDevice fromDeviceObjects(VkPhysicalDevice physicalDevice, VkDevice device, int queueFamilyIndex, int queueIndex = 0)
QQuickGraphicsDevice fromOpenGLContext(QOpenGLContext *context)
QQuickGraphicsDevice fromPhysicalDevice(VkPhysicalDevice physicalDevice)
(since 6.6) QQuickGraphicsDevice fromRhi(QRhi *rhi)
(since 6.10) QQuickGraphicsDevice fromRhiAdapter(QRhiAdapter *adapter)

詳細な説明

QQuickWindow::setGraphicsDevice() およびQQuickRenderTargetも参照してください 。

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

QQuickGraphicsDevice::QQuickGraphicsDevice()

ネイティブオブジェクトを一切参照しないデフォルトの QQuickGraphicsDevice を生成します。

[noexcept] QQuickGraphicsDevice::~QQuickGraphicsDevice()

デストラクタ。

[static] QQuickGraphicsDevice QQuickGraphicsDevice::fromAdapter(quint32 adapterLuidLow, qint32 adapterLuidHigh, int featureLevel = 0)

DXGIアダプタおよびD3D機能レベルを記述する新しいQQuickGraphicsDevice を返します。

このファクトリ関数は、Direct3D 11 および 12、特に OpenXR と組み合わせて使用する場合に適しています。adapterLuidLow とadapterLuidHigh を組み合わせることで LUID を指定し、featureLevel によってD3D_FEATURE_LEVEL_ の値を指定します。featureLevel は、指定しない場合は 0 に設定できます。その場合、シーングラフのデフォルト値が使用されます。

注: Direct 3D 12では 、featureLevel は D3D12CreateDevice() に渡されるminimum 機能レベルを指定します。

[static] QQuickGraphicsDevice QQuickGraphicsDevice::fromDeviceAndCommandQueue(MTLDevice *device, MTLCommandQueue *commandQueue)

既存のdevice およびcommandQueue オブジェクトを参照する新しいQQuickGraphicsDevice を返します。

このファクトリ関数はMetalに適しています。

注: 結果として返される QQuickGraphicsDevice は 、ネイティブリソースを所有しておらず、単に参照を含んでいるだけです。ネイティブリソースが必要な期間中存在し続けることを保証するのは、呼び出し側の責任です。

[static] QQuickGraphicsDevice QQuickGraphicsDevice::fromDeviceAndContext(void *device, void *context)

ネイティブのデバイスおよびコンテキストオブジェクトを参照する新しいQQuickGraphicsDevice を返します。

このファクトリ関数は、Direct3D 11に適しています。device はID3D11Device* である必要があり、context はID3D11DeviceContext* である必要があります。

また、実行時に使用される3D APIがDirect3D 12である場合、Direct3D 12もサポートしています。D3D12では、context は使用されず、nullに設定できます。device は、ID3D12Device* である必要があります。

注: 結果として生成される QQuickGraphicsDevice は 、ネイティブリソースを所有しておらず、単に参照を含んでいるだけです。ネイティブリソースが必要な期間、存在し続けることを保証するのは、呼び出し側の責任です。

[static] QQuickGraphicsDevice QQuickGraphicsDevice::fromDeviceObjects(VkPhysicalDevice physicalDevice, VkDevice device, int queueFamilyIndex, int queueIndex = 0)

既存のdevice オブジェクトを参照する新しいQQuickGraphicsDevice を返します。

このファクトリ関数はVulkanに適しています。physicalDevice 、device 、およびqueueFamilyIndex は必ず指定する必要があります。queueIndex は、デフォルト値の0で十分な場合が多いため、省略可能です。

注:生成される ` QQuickGraphicsDevice ` は ネイティブリソースを所有しておらず、単に参照を含んでいるだけです。ネイティブリソースが必要とされる期間中、それが存在し続けることを保証するのは呼び出し側の責任です。

[static] QQuickGraphicsDevice QQuickGraphicsDevice::fromOpenGLContext(QOpenGLContext *context)

既存のOpenGLのcontext を参照する新しいQQuickGraphicsDevice を返します。

このファクトリ関数は、OpenGLに適しています。

注: `context ` が `QQuickWindow` と互換性があり、使用可能であることを確認するのは呼び出し側の責任です 。関連する `QSurfaceFormat` におけるプラットフォーム固有の不整合、または複数のスレッドで `context ` を使用しようとしたことに起因するスレッド関連の問題については、呼び出し側が回避する必要があります。

[static] QQuickGraphicsDevice QQuickGraphicsDevice::fromPhysicalDevice(VkPhysicalDevice physicalDevice)

既存のphysicalDevice を参照する新しいQQuickGraphicsDevice を返します。

このファクトリ関数は、特に OpenXR と組み合わせて使用する場合に、Vulkan に適しています。

注:返される QQuickGraphicsDevice はネイティブリソースを 所有しておらず、単に参照を含んでいるだけです。ネイティブリソースが必要な期間中存在し続けることを保証するのは、呼び出し側の責任です。

[static, since 6.6] QQuickGraphicsDevice QQuickGraphicsDevice::fromRhi(QRhi *rhi)

既存のrhi オブジェクトを参照する新しいQQuickGraphicsDevice を返します。

注: fromOpenGLContext()と同様に 、呼び出し元は、互換性が確認されているQQuickWindows間でのみQRhi (およびその基盤となるグラフィックスコンテキストやデバイス)を共有するように注意する必要があります。スレッド処理やピクセルフォーマットなどに関して、基盤となるグラフィックスAPIのルールを破らないようにしてください。

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

[static, since 6.10] QQuickGraphicsDevice QQuickGraphicsDevice::fromRhiAdapter(QRhiAdapter *adapter)

既存のadapter QRhiAdapter オブジェクトを参照する新しいQQuickGraphicsDevice を返します。

QRhiAdapter に実際の実装が存在しないQRhi バックエンドおよびグラフィックスAPIには適用されません。

Direct 3D ではfromAdapter() に、Vulkan ではfromPhysicalDevice() に相当します。

注: adapter に対しては所有権は 取得されず、少なくともシーングラフが初期化されるまで有効である必要があります。これは、関連するQQuickWindow が公開される時点で発生する可能性が最も高いです。

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

QRhi::enumerateAdapters()も参照してください 。

bool QQuickGraphicsDevice::isNull() const

これが、ネイティブオブジェクトを一切参照していない、デフォルト構築されたグラフィックスデバイスである場合、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.