このページでは

Qt3DRender::QEffect Class

class Qt3DRender::QEffect

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

ヘッダー: #include <qeffect.h>
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 は、QTechnique およびQRenderPass で定義された(同名の)パラメータを上書きしますが、QRenderPassFilter 、QTechniqueFilter 、およびQMaterial のパラメータによって上書きされます。

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

そのエフェクトで使用されているテクニックのリストを返します。

© 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.