QEffect Class

class Qt3DRender::QEffect

Qt 3D シーンにおけるエフェクトの基本クラスです。詳細...

Header: #include <QEffect>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: QT += 3drender
In QML: Effect
Inherits: Qt3DCore::QNode
Status: Deprecated

パブリック関数

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

エフェクトが使用するテクニックのリストを返します。

©2024 The Qt Company Ltd. 本書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。