Qt3DRender::QTechnique Class
class Qt3DRender::QTechniqueテクニックをカプセル化します。詳細...
| ヘッダー: | #include <qtechnique.h> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
| qmake: | QT += 3drender |
| QML内: | Technique |
| 継承元: | Qt3DCore::QNode |
| ステータス: | 非推奨 |
このクラスは非推奨です。新しいコードでの使用は強く推奨しません。
プロパティ
- 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 を作成する場合、ターゲットとするGLバージョンのいずれかに合わせてgraphicsApiFilter が設定された複数のQTechniqueノードを作成すると便利です。 実行時、Qt3D レンダラーは、サポートされているグラフィックス API のバージョン、および(指定されている場合)FrameGraph 内の特定のQTechniqueFilter を満たすQFilterKey ノードに基づいて、最も適切な QTechnique を選択します。
注: レンダリング用のグラフィックスAPIとしてOpenGLを使用する場合 、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
そのテクニックに含まれるレンダリングパスのリストを返します。
© 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.