QQuick3D Class
Clase auxiliar para seleccionar el formato de superficie correcto. Más...
| Header: | #include <QQuick3D> |
Miembros públicos estáticos
| QSurfaceFormat | idealSurfaceFormat(int samples = -1) |
Descripción detallada
Cuando se utiliza Qt Quick 3D con OpenGL es necesario tomar medidas adicionales para definir qué tipo de surface format se utiliza al inicializar Qt Quick. Esto se debe a que en el momento en que Qt Quick es consciente de que se está utilizando contenido 3D, el contexto OpenGL y la superficie de la ventana ya han sido inicializados. Así que esta clase helper se proporciona para solicitar el formato de superficie ideal de Qt Quick 3D para que pueda establecerse como la superficie por defecto para Qt Quick antes de la inicialización.
Si este ayudante se ejecuta cuando se utiliza cualquier otro backend de renderizado que no sea OpenGL, entonces simplemente devuelve una copia del actual QSurfaceFormat por defecto con las muestras solicitadas.
Si este ayudante se ejecuta cuando se utiliza el backend de renderizado OpenGL, entonces comprobará si hay versiones suficientemente modernas de OpenGL y soporte para multimuestreo si se solicita. Normalmente Qt Quick solicitará un contexto OpenGL 2.0 u OpenGL ES 2.0, lo que limitaría las características disponibles cuando se utiliza Qt Quick 3D, por lo que es necesario un paso adicional para solicitar un contexto más capaz.
El patrón de uso correcto es llamar a QSurfaceFormat::setDefaultFormat para establecer el QSurfaceFormat devuelto por QQuick3D::idealSurfaceFormat. Es importante que se llame a este método después de construir QGuiApplication, pero antes de cargar el contenido de la aplicación Qt Quick. Este fragmento de código muestra el patrón de uso correcto:
#include <QGuiApplication> #include <QQmlApplicationEngine> #include <QtGui> #include <QtQuick3D/qquick3d.h> int main(int argc, char *argv[]) { QGuiApplication app(argc, argv); QSurfaceFormat::setDefaultFormat(QQuick3D::idealSurfaceFormat(4)); QQmlApplicationEngine engine; engine.load(QUrl(QStringLiteral("qrc:/main.qml"))); if (engine.rootObjects().isEmpty()) return -1; return app.exec(); }
Consulte también las especificaciones de OpenGL.
Documentación de las funciones miembro
[static] QSurfaceFormat QQuick3D::idealSurfaceFormat(int samples = -1)
Devuelve un formato de superficie ideal para la plataforma. Opcionalmente, se puede especificar samples para seleccionar el número de multimuestras para el antialiasing.
© 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.