QTechnique Class
class Qt3DRender::QTechniqueテクニックをカプセル化します。詳細...
Header: | #include <QTechnique> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
qmake: | QT += 3drender |
In QML: | Technique |
Inherits: | Qt3DCore::QNode |
Status: | Deprecated |
プロパティ
- graphicsApiFilter : Qt3DRender::QGraphicsApiFilter* const
パブリック関数
void | addFilterKey(Qt3DRender::QFilterKey *filterKey) |
void | addParameter(Qt3DRender::QParameter *parameter) |
void | addRenderPass(Qt3DRender::QRenderPass *pass) |
QList<Qt3DRender::QFilterKey *> | filterKeys() const |
Qt3DRender::QGraphicsApiFilter * | graphicsApiFilter() |
const Qt3DRender::QGraphicsApiFilter * | graphicsApiFilter() const |
QList<Qt3DRender::QParameter *> | parameters() const |
void | removeFilterKey(Qt3DRender::QFilterKey *filterKey) |
void | removeParameter(Qt3DRender::QParameter *parameter) |
void | removeRenderPass(Qt3DRender::QRenderPass *pass) |
QList<Qt3DRender::QRenderPass *> | renderPasses() const |
詳細説明
Qt3DRender::QTechnique は、Qt3DRender::QRenderPass オブジェクト、Qt3DRender::QFilterKey オブジェクト、Qt3DRender::QParameter オブジェクト、Qt3DRender::QGraphicsApiFilter の集合を指定し、これらの集合が、与えられたグラフィックス API がレンダリングできるレンダリング技法を定義します。フィルタキーは、Qt3DRender::QTechniqueFilter によって、FrameGraph の特定の部分で特定のテクニックを選択するために使用されます。QTechnique に定義されたQParameter は、QRenderPass で定義されたパラメータ(同名)をオーバーライドしますが、QRenderPassFilter 、QTechniqueFilter 、QMaterial 、QEffect のパラメータによってオーバーライドされます。
複数のバージョンのグラフィックス API をターゲットとするQEffect を作成する場合、graphicsApiFilter がターゲットとする GL バージョンの 1 つに一致するように設定された複数の QTechnique ノードを作成すると便利です。実行時に、Qt3D レンダラーは、どのグラフィックス API バージョンがサポートされているか、および(指定されている場合)FrameGraph 内で指定されたQTechniqueFilter を満たすQFilterKey ノードに基づいて、最も適切な QTechnique を選択します。
注意: OpenGL をレンダリングのグラフィック API として使用する場合、Qt3D は実行時にQSurfaceFormat::defaultFormat() によって返されるQSurfaceFormat に依存して、使用可能な最も適切な GL バージョンを決定します。QSurfaceFormat をカスタマイズする必要がある場合は、QSurfaceFormat::setDefaultFormat() を忘れずに適用してください。ビューにQSurfaceFormat を設定しても、Qt3D 関連のレンダリングには影響しません。
注意: QTechnique ノードを無効にすることはできません。
QTechnique *gl3Technique = new QTechnique(); // Create the render passes QRenderPass *firstPass = new QRenderPass(); QRenderPass *secondPass = new QRenderPass(); // Add the passes to the technique gl3Technique->addRenderPass(firstPass); gl3Technique->addRenderPass(secondPass); // Set the targeted GL version for the technique gl3Technique->graphicsApiFilter()->setApi(QGraphicsApiFilter::OpenGL); gl3Technique->graphicsApiFilter()->setMajorVersion(3); gl3Technique->graphicsApiFilter()->setMinorVersion(1); gl3Technique->graphicsApiFilter()->setProfile(QGraphicsApiFilter::CoreProfile); // Create a FilterKey QFilterKey *filterKey = new QFilterKey(); filterKey->setName(QStringLiteral("name")); fitlerKey->setValue(QStringLiteral("zFillPass")); // Add the FilterKey to the Technique gl3Technique->addFilterKey(filterKey); // Create a QParameter QParameter *colorParameter = new QParameter(QStringLiteral("color"), QColor::fromRgbF(0.0f, 0.0f, 1.0f, 1.0f)); // Add parameter to technique gl3Technique->addParameter(colorParameter);
QEffect 、QRenderPass 、QTechniqueFilterも参照して ください。
プロパティ ドキュメント
[read-only]
graphicsApiFilter : Qt3DRender::QGraphicsApiFilter* const
使用するグラフィックス API フィルタを指定します。
アクセス関数:
Qt3DRender::QGraphicsApiFilter * | graphicsApiFilter() |
const Qt3DRender::QGraphicsApiFilter * | graphicsApiFilter() const |
メンバー関数ドキュメント
void QTechnique::addFilterKey(Qt3DRender::QFilterKey *filterKey)
Qt3DRender::QTechnique ローカルフィルタキーにfilterKey を追加する。
void QTechnique::addParameter(Qt3DRender::QParameter *parameter)
parameter をテクニックのパラメータに追加します。
void QTechnique::addRenderPass(Qt3DRender::QRenderPass *pass)
テクニックにpass を追加します。
QList<Qt3DRender::QFilterKey *> QTechnique::filterKeys() const
Qt3DRender::QTechnique のフィルターキーを構成する Qt3DCore::QFilterKey キーオブジェクトのリストを返します。
QList<Qt3DRender::QParameter *> QTechnique::parameters() const
テクニックの現在のパラメータのベクトルを返します。
void QTechnique::removeFilterKey(Qt3DRender::QFilterKey *filterKey)
Qt3DRender::QTechnique ローカルのフィルターキーからfilterKey を削除します。
void QTechnique::removeParameter(Qt3DRender::QParameter *parameter)
テクニックのパラメータからparameter を削除します。
void QTechnique::removeRenderPass(Qt3DRender::QRenderPass *pass)
テクニックからpass を削除します。
QList<Qt3DRender::QRenderPass *> QTechnique::renderPasses() const
テクニックに含まれるレンダーパスのリストを返します。
©2024 The Qt Company Ltd. 本文書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。