このページでは

QQuick3D Class

適切なサーフェス形式を選択するためのヘルパークラス。詳細...

Header: #include <QQuick3D>

静的パブリックメンバー

QSurfaceFormat idealSurfaceFormat(int samples = -1)

詳細な説明

Qt Quick 3DをOpenGLで使用する場合、Qt Quick を初期化する際に、どの種類のsurface format を使用するかを定義するための追加の手順が必要となります。これは、Qt Quick が3Dコンテンツが使用されていることを認識する時点では、OpenGLコンテキストとウィンドウサーフェスがすでに初期化されているためです。 そこで、このヘルパークラスは、Qt Quick 3D から最適なサーフェスフォーマットを要求し、初期化前にそれをQt Quick のデフォルトサーフェスとして設定できるようにするために提供されています。

OpenGL 以外のレンダリングバックエンドを使用しているときにこのヘルパーが実行された場合、要求されたサンプリング設定が適用された現在のデフォルトのQSurfaceFormat のコピーが返されます。

このヘルパーが OpenGL レンダリングバックエンドの使用中に実行された場合、OpenGL のバージョンが十分に新しいかどうか、および要求された場合にマルチサンプリングがサポートされているかどうかを検証します。 通常、Qt Quick はOpenGL 2.0またはOpenGL ES 2.0のコンテキストを要求するため、Qt Quick の3D機能を使用する際に利用可能な機能が制限されてしまいます。そのため、より高性能なコンテキストを要求するには、追加の手順が必要となります。

正しい使用方法は、`QSurfaceFormat::setDefaultFormat `を呼び出して、`QQuick3D::idealSurfaceFormat`によって返された`QSurfaceFormat `を設定することです。このメソッドは、`QGuiApplication `が構築された後、かつ`Qt Quick `のアプリケーションコンテンツが読み込まれる前に呼び出すことが重要です。以下のコードスニペットは、正しい使用例を示しています:

#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();
}

OpenGLに関する詳細も参照してください 。

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

[static] QSurfaceFormat QQuick3D::idealSurfaceFormat(int samples = -1)

そのプラットフォームに適した理想的なサーフェス形式を返します。オプションで、samples を指定して、アンチエイリアシング用のマルチサンプルの数を選択することができます。

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