En esta página

QRhiD3D12InitParams Struct

Parámetros de inicialización específicos de Direct3D 12. Más...

Cabecera: #include <rhi/qrhi.h>
CMake: find_package(Qt6 REQUIRED COMPONENTS GuiPrivate)
target_link_libraries(mytarget PRIVATE Qt6::GuiPrivate)
qmake: QT += gui-private
Hereda: QRhiInitParams

Variables públicas

Descripción detallada

Nota: Se trata de una API RHI con garantías de compatibilidad limitadas, véase QRhi para más detalles.

Un QRhi basado en D3D12 no necesita parámetros especiales para su inicialización. Si se desea, enableDebugLayer puede establecerse en true para habilitar la capa de depuración de Direct3D. Esto puede ser útil durante el desarrollo, pero debe evitarse en compilaciones de producción.

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

Nota: QRhiSwapChain sólo debe utilizarse en combinación con instancias de QWindow que tengan su tipo de superficie establecido en QSurface::Direct3DSurface.

Trabajo con dispositivos Direct3D 12 existentes

Al interoperar con otro motor gráfico, puede ser necesario obtener una instancia de QRhi que utilice el mismo dispositivo Direct3D. Esto se puede conseguir pasando un puntero a un QRhiD3D12NativeHandles a QRhi::create(). QRhi no toma propiedad de ninguno de los objetos externos.

A veces, por ejemplo cuando se usa QRhi en combinación con OpenXR, se querrá especificar qué adaptador usar, y opcionalmente, qué nivel de característica solicitar en el dispositivo, mientras se deja la creación del dispositivo a QRhi. Esto se consigue dejando el puntero del dispositivo a null, mientras se especifica el LUID del adaptador y el nivel de característica.

Opcionalmente, también se puede especificar la ID3D12CommandQueue, estableciendo commandQueue en un valor no nulo.

Documentación de variables de miembro

bool QRhiD3D12InitParams::enableDebugLayer

Cuando se establece en true, la capa de depuración está habilitada, si está instalada y disponible. El valor por defecto es false.

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