QEffect Class

class Qt3DRender::QEffect

Qt 3D シーンにおけるエフェクトの基本クラスです。もっと見る

ヘッダー #include <QEffect>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake QT += 3drender
QML で Effect
を継承しています: Qt3DCore::QNode
ステータス非推奨

パブリック関数

void addParameter(Qt3DRender::QParameter *parameter)
void addTechnique(Qt3DRender::QTechnique *t)
QList<Qt3DRender::QParameter *> parameters() const
void removeParameter(Qt3DRender::QParameter *parameter)
void removeTechnique(Qt3DRender::QTechnique *t)
QList<Qt3DRender::QTechnique *> techniques() const

詳細な説明

QEffect クラスは、マテリアルのレンダリング効果を生成するために、一連のテクニックとそれらのテクニックで使用されるパラメータを組み合わせたものです。

QEffect インスタンスは、可能な限り、複数のQMaterial インスタンス間で共有する必要があります。

注意: QEffect ノードを無効にすることはできません。

QEffect *effect = new QEffect();

// Create technique, render pass and shader
QTechnique *gl3Technique = new QTechnique();
QRenderPass *gl3Pass = new QRenderPass();
QShaderProgram *glShader = new QShaderProgram();

// Set the shader on the render pass
gl3Pass->setShaderProgram(glShader);

// Add the pass to the technique
gl3Technique->addRenderPass(gl3Pass);

// 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);

// Add the technique to the effect
effect->addTechnique(gl3Technique);

QEffect に定義されたQParameter は、QTechniqueQRenderPass で定義されたパラメータ(同名)をオーバーライドしますが、QRenderPassFilterQTechniqueFilterQMaterial のパラメータによってオーバーライドされます。

QMaterial,QTechnique,QParameterも参照のこと

メンバ関数ドキュメント

void QEffect::addParameter(Qt3DRender::QParameter *parameter)

エフェクトにparameter を追加する。バックエンドに更新を送信します。parameter は、このエフェクトで使用されるシェーダに対応する均一値を設定するために使用されます。

void QEffect::addTechnique(Qt3DRender::QTechnique *t)

エフェクトに新しいテクニックt を追加する。バックエンドにアップデートを送信する。

QList<Qt3DRender::QParameter *> QEffect::parameters() const

エフェクトが使用するパラメータのリストを返します。

void QEffect::removeParameter(Qt3DRender::QParameter *parameter)

エフェクトからパラメータparameter を削除する。

void QEffect::removeTechnique(Qt3DRender::QTechnique *t)

テクニックt をエフェクトから削除する。

QList<Qt3DRender::QTechnique *> QEffect::techniques() 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.