このページでは

QRhiD3D12InitParams Struct

Direct3D 12 固有の初期化パラメータ。詳細...

ヘッダー: #include <rhi/qrhi.h>
CMake: find_package(Qt6 REQUIRED COMPONENTS GuiPrivate)
target_link_libraries(mytarget PRIVATE Qt6::GuiPrivate)
qmake: QT += gui-private
継承元: QRhiInitParams

パブリック変数

詳細な説明

注: これは 互換性の保証が限定的な RHI API です。詳細については、QRhi を参照してください。

D3D12 ベースのQRhi には、初期化のための特別なパラメータは必要ありません。必要に応じて、enableDebugLayer をtrue に設定することで、Direct3D デバッグレイヤーを有効にできます。これは開発中には有用ですが、本番ビルドでは避けるべきです。

QRhiD3D12InitParams params;
params.enableDebugLayer = true;
rhi = QRhi::create(QRhi::D3D12, &params);

注: QRhiSwapChain は 、サーフェスタイプがQSurface::Direct3DSurface に設定されているQWindow インスタンスと組み合わせてのみ使用してください。

既存の Direct3D 12 デバイスの使用

他のグラフィックスエンジンと相互運用する場合、同じ Direct3D デバイスを使用する `QRhi ` インスタンスを取得する必要がある場合があります。これは、QRhiD3D12NativeHandles へのポインタを `QRhi::create()` に渡すことで実現できます。`QRhi ` は、外部オブジェクトの所有権を取得することはありません。

場合によっては、たとえばQRhi を OpenXR と組み合わせて使用する場合など、デバイス作成をQRhi に任せたまま、使用するアダプタや、必要に応じてデバイスに要求する機能レベルを指定したいことがあります。これは、デバイスポインタを null のままにしておき、アダプタの LUID と機能レベルを指定することで実現できます。

オプションで、commandQueue をnull以外の値に設定することで、ID3D12CommandQueueを指定することも可能です。

メンバ変数のドキュメント

bool QRhiD3D12InitParams::enableDebugLayer

true に設定すると、デバッグレイヤーがインストールされ、利用可能な場合、それが有効になります。デフォルト値は false です。

デバッグレイヤーからのメッセージは、qDebug を通じて出力されます。ただし、デバッグレイヤーが古すぎてメッセージのコールバックに対応していない場合は、メッセージはデバッグ出力にのみ送信されます。

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