このページでは

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
ステータス: 非推奨

このクラスは非推奨です。新しいコードでの使用は強く推奨しません。

プロパティ

公開関数

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.