Spec-Zone.ru › Qt 5.9

Класс 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API