QEffect Class
class Qt3DRender::QEffectQt 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 は、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
エフェクトが使用するテクニックのリストを返します。
© 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.