QQuickGraphicsDevice Class
QQuickGraphicsDevice クラスは、グラフィック・デバイスまたはコンテキストを表すネイティブ・グラフィック・オブジェクト用の不透明なコンテナを提供します。詳細...
Header: | #include <QQuickGraphicsDevice> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Quick) target_link_libraries(mytarget PRIVATE Qt6::Quick) |
qmake: | QT += quick |
Since: | Qt 6.0 |
パブリック関数
QQuickGraphicsDevice() | |
~QQuickGraphicsDevice() | |
bool | isNull() const |
静的パブリック・メンバー
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 との組み合わせに適しています。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 を返します。
このファクトリー関数はメタルに適しています。
注意: 結果のQQuickGraphicsDevice はネイティブリソースを所有しません。ネイティブリソースが必要なだけ存在するようにするのは、呼び出し元の責任です。
[static]
QQuickGraphicsDevice QQuickGraphicsDevice::fromDeviceAndContext(void *device, void *context)
ネイティブデバイスとコンテキストオブジェクトを参照する新しいQQuickGraphicsDevice を返します。
このファクトリー関数は Direct3D 11 に適しています。device はID3D11Device*
であることが期待され、context はID3D11DeviceContext*
であることが期待されます。
また、実行時に使用される 3D API が Direct 3D 12 の場合は、Direct 3D 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)
既存のOpenGLcontext を参照する新しい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 (およびその下にあるグラフィック コンテキストまたはデバイス) を共有するように注意する必要があります。
この関数は Qt 6.6 で導入されました。
bool QQuickGraphicsDevice::isNull() const
この関数は Qt 6.6 で導入されました。ネイティブオブジェクトを参照しないデフォルトのグラフィックデバイスであれば true を返します。
©2024 The Qt Company Ltd. 本文書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。