QTechnique Class
class Qt3DRender::QTechniqueテクニックをカプセル化します。詳細...
ヘッダー | #include <QTechnique> |
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 を作成する場合、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
テクニックに含まれるレンダーパスのリストを返します。
© 2025 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.