// Copyright (C) 2022 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause #include #include #include int main(int argc, char **argv) { QGuiApplication app(argc, argv); // On macOS, request a core profile context in the unlikely case of using OpenGL. #ifdef Q_OS_MACOS QSurfaceFormat format = QSurfaceFormat::defaultFormat(); format.setMajorVersion(4); format.setMinorVersion(1); format.setProfile(QSurfaceFormat::CoreProfile); QSurfaceFormat::setDefaultFormat(format); #endif QQuickView view; view.setResizeMode(QQuickView::SizeRootObjectToView); view.setSource(QUrl("qrc:///scenegraph/customrendernode/main.qml")); view.setColor(Qt::black); view.show(); QString api; switch (view.graphicsApi()) { case QSGRendererInterface::OpenGL: api = "RHI OpenGL"; break; case QSGRendererInterface::Direct3D11: api = "RHI Direct 3D 11"; break; case QSGRendererInterface::Direct3D12: api = "RHI Direct 3D 12"; break; case QSGRendererInterface::Vulkan: api = "RHI Vulkan"; break; case QSGRendererInterface::Metal: api = "RHI Metal"; break; case QSGRendererInterface::Null: api = "RHI Null"; break; default: api = "unknown"; break; } view.setTitle(QStringLiteral("Custom QSGRenderNode - ") + api); return app.exec(); }