En esta página

QRhiMetalInitParams Struct

Parámetros de inicialización específicos del metal. 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
Desde: Qt 6.6
Hereda: QRhiInitParams

Descripción detallada

Nota: Esta es una API RHI con garantías de compatibilidad limitadas, ver QRhi para más detalles.

Un QRhi basado en Metal no necesita parámetros especiales para su inicialización.

QRhiMetalInitParams params;
rhi = QRhi::create(QRhi::Metal, &params);

Nota: La validación de la API Metal no puede activarse mediante programación en QRhi. En su lugar, ejecute la compilación de depuración de la aplicación en XCode, generando un archivo .xcodeproj a través de cmake -G Xcode, o establezca la variable de entorno METAL_DEVICE_WRAPPER_TYPE=1. La variable debe establecerse al principio del entorno, preferiblemente antes de iniciar el proceso; intentar establecerla en el momento de la creación de QRhi no es funcional en la práctica. (probablemente demasiado tarde)

Nota: QRhiSwapChain sólo puede apuntar a instancias de QWindow que tengan su tipo de superficie establecido en QSurface::MetalSurface.

Trabajar con dispositivos Metal existentes

Al interoperar con otro motor gráfico, puede ser necesario obtener una instancia de QRhi que utilice el mismo dispositivo Metal. Esto se puede conseguir pasando un puntero a QRhiMetalNativeHandles a QRhi::create(). En ese caso, el dispositivo debe tener un valor no nulo. Opcionalmente, también se puede especificar un objeto de cola de comandos.

El QRhi no toma propiedad de ninguno de los objetos externos.

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