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を使用する際に利用できる機能が制限されてしまうため、より高機能なコンテキストを要求するための特別なステップが必要になります。

正しい使用パターンは、QQuick3D::idealSurfaceFormat によって返されたQSurfaceFormat を設定するためにQSurfaceFormat::setDefaultFormat を呼び出すことです。このメソッドは、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();
}

メンバ関数ドキュメント

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

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

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。