Класс QEffect
(Qt3DRender::QEffect)Базовый класс для эффектов в сцене Qt 3D. Подробнее...
| Заголовок: | #include <QEffect> |
| qmake: | QT += 3drender |
| С момента: | Qt 5.7 |
| Инициализируется: | Effect |
| Наследует: | Qt3DCore::QNode |
Открытые функции
| QEffect(Qt3DCore::QNode *parent = nullptr) | |
| ~QEffect() | |
| void | addParameter(QParameter *parameter) |
| void | addTechnique(QTechnique *t) |
| QVector<QParameter *> | parameters() const |
| void | removeParameter(QParameter *parameter) |
| void | removeTechnique(QTechnique *t) |
| QVector<QTechnique *> | techniques() const |
- 11 открытых функций, унаследованных от Qt3DCore::QNode
- 32 открытых функций, унаследованных от QObject
Защищенные функции
| QEffect(QEffectPrivate &dd, Qt3DCore::QNode *parent = nullptr) |
- 2 защищенных функции, унаследованных от Qt3DCore::QNode
- 9 защищенных функций, унаследованных от QObject
Дополнительные наследуемые члены
- 3 свойства, унаследованные от Qt3DCore::QNode
- 1 свойство, унаследованное от QObject
- 3 открытых слота, унаследованных от Qt3DCore::QNode
- 1 открытый слот, унаследованный от QObject
- 4 сигналы, унаследованные от Qt3DCore::QNode
- 2 сигнала, унаследованные от QObject
- 11 статических открытых членов, унаследованных от QObject
Подробное описание
Базовый класс для эффектов в сцене Qt 3D.
Класс QEffect объединяет набор техник и параметров, используемых этими техниками для создания эффекта рендеринга для материала.
Экземпляр QEffect должен быть общим для нескольких экземпляров QMaterial, когда это возможно.
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);
Параметр QParameter, определенный в эффекте, переопределяется параметром QParameter (с тем же именем), определенным в QMaterial, QTechniqueFilter, QRenderPassFilter.
См. также QMaterial, QTechnique и QParameter.
Документация по функциям-членам
QEffect::QEffect(Qt3DCore::QNode *parent = nullptr)
Конструктор по умолчанию для создания экземпляра QEffect.
[protected] QEffect::QEffect(QEffectPrivate &dd, Qt3DCore::QNode *parent = nullptr)
Копирующий конструктор.
QEffect::~QEffect()
Уничтожает экземпляр QEffect.
void QEffect::addParameter(QParameter *parameter)
Добавляет parameter к эффекту. Он отправляет QPropertyNodeAddedChange в бэкенд. parameter будет использоваться для установки соответствующего значения униформы в шейдере, используемом этим эффектом.
void QEffect::addTechnique(QTechnique *t)
Добавляет новую технику t к эффекту. Отправляет QPropertyNodeAddedChange в бэкенд.
QVector<QParameter *> QEffect::parameters() const
Возвращает список параметров, используемых эффектом.
void QEffect::removeParameter(QParameter *parameter)
Удаляет параметр parameter из эффекта.
void QEffect::removeTechnique(QTechnique *t)
Удаляет технику t из эффекта.
QVector<QTechnique *> QEffect::techniques() const
Возвращает список техник, используемых эффектом.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qt3drender-qeffect.html