QEffect 类
类 Qt3DRender::QEffectQt 3D 场景中效果的基类。 更多信息...
头文件 | #include <QEffect> |
CMake | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
qmake | QT += 3drender |
由以下实例化 | 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 类结合了一组技术和参数,这些技术和参数被用来为材质生成渲染效果。
当可能时,应该在几个 QMaterial 实例之间共享 QEffect 实例。
注意: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 将用于在由该效果使用的着色器中设置相应的 uniform 值。
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 Qt公司。此处包含的文档贡献的版权属于各自的所有者。提供的文档是根据自由软件基金会发布的 GNU自由文档许可协议第1.3版 许可的。Qt及其相应标志是芬兰和/或其他国家/地区的Qt公司的商标。所有其他商标均为其各自所有者的财产。