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)

詳細な説明

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 との組み合わせに適しています。adapterLuidLowadapterLuidHigh は一緒に LUID を指定し、featureLevel はD3D_FEATURE_LEVEL_ の値を指定します。featureLevel は、指定する必要がない場合は 0 に設定できます。この場合、シーングラフのデフォルトが使用されます。

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

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

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

このファクトリー関数はメタルに適しています。

注意: 結果として得られるQQuickGraphicsDevice はネイティブリソースを所有しません。ネイティブリソースが必要なだけ存在するようにするのは、呼び出し元の責任です。

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

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

このファクトリー関数は Direct3D 11 に適しています。deviceID3D11Device* に、contextID3D11DeviceContext* になることが期待されます。

また、実行時に使用される 3D API が Direct 3D 12 の場合は、Direct 3D 12 もサポートします。D3D12では、context は未使用であり、NULLに設定することができる。deviceID3D12Device* であることが期待される。

注意: 結果として生成されるQQuickGraphicsDevice は、ネイティブ・リソースを所有しない。ネイティブリソースが必要なだけ存在するようにするのは、呼び出し側の責任です。

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

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

このファクトリー関数はVulkanに適しています。physicalDevice devicequeueFamilyIndex は常に提供されなければなりません。queueIndex はデフォルト値の 0 が適していることが多いため、オプションです。

注意: 結果として生成されるQQuickGraphicsDevice は、ネイティブリソースを所有しません。ネイティブリソースが必要なだけ存在するようにするのは、呼び出し側の責任です。

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

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

このファクトリー関数はOpenGLに適している。

注: contextQQuickWindow と互換性があり、使用可能であることを確認するのは呼び出し側です。関連するQSurfaceFormat におけるプラットフォーム固有のミスマッチや、複数のスレッドでcontext を使用しようとすることによるスレッドの問題は、呼び出し側次第で回避できます。

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

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

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

注意: 結果のQQuickGraphicsDevice は、ネイティブリソースを所有しません。ネイティブリソースが必要な限り存在するようにするのは呼び出し側の責任です。

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

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

注意: fromOpenGLContext() と同様に、呼び出し元は、互換性があることが分かっている QQuickWindows 間でのみQRhi (およびその下にあるグラフィック コンテキストまたはデバイス) を共有するように注意する必要があります。

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

bool QQuickGraphicsDevice::isNull() const

このデバイスが、ネイティブ・オブジェクトを参照しないデフォルトで構築されたグラフィック・デバイスである場合、true を返します。

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