Spec-Zone.ru › Qt 6.0

Класс QTechnique

класс Qt3DRender::QTechnique

Инкапсулирует технику. Подробнее...

Заголовок: #include <QTechnique>
CMake: find_package(Qt6 COMPONENTS 3drender REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: QT += 3drender
С момента: Qt 5.7
Инициализируется: Technique
Наследует: Qt3DCore::QNode
  • Список всех членов, включая унаследованные

Свойства

  • graphicsApiFilter : Qt3DRender::QGraphicsApiFilter* const

Открытые функции

void addFilterKey(Qt3DRender::QFilterKey *filterKey)
void addParameter(Qt3DRender::QParameter *parameter)
void addRenderPass(Qt3DRender::QRenderPass *pass)
QList<Qt3DRender::QFilterKey *> filterKeys() const
Qt3DRender::QGraphicsApiFilter * graphicsApiFilter()
const Qt3DRender::QGraphicsApiFilter * graphicsApiFilter() const
QList<Qt3DRender::QParameter *> parameters() const
void removeFilterKey(Qt3DRender::QFilterKey *filterKey)
void removeParameter(Qt3DRender::QParameter *parameter)
void removeRenderPass(Qt3DRender::QRenderPass *pass)
QList<Qt3DRender::QRenderPass *> renderPasses() const

Подробное описание

QTechnique определяет набор объектов Qt3DRender::QRenderPass, объектов Qt3DRender::QFilterKey, объектов Qt3DRender::QParameter и Qt3DRender::QGraphicsApiFilter, которые вместе определяют технику рендеринга, которую данный графический API может выполнить. Фильтр ключей используется Qt3DRender::QTechniqueFilter для выбора определенных техник в определённых частях FrameGraph. Если в QTechnique и QRenderPass указаны два QParameter с одинаковым именем, QParameter в Technique перекрывает QParameter, используемый в QRenderPass.

При создании QEffect, нацеленного на несколько версий графического API, полезно создать несколько узлов QTechnique, каждый с установленным graphicsApiFilter, соответствующим одной из целевых версий GL. Во время выполнения рендерер Qt3D выберет наиболее подходящий QTechnique на основе поддерживаемых версий графического API и (если указано) узлов QFilterKey, удовлетворяющих заданному QTechniqueFilter в FrameGraph.

Примечание: При использовании OpenGL в качестве графического API для рендеринга Qt3D полагается на QSurfaceFormat, возвращаемый QSurfaceFormat::defaultFormat() во время выполнения, чтобы определить наиболее подходящую версию GL. Если вам нужно настроить QSurfaceFormat, не забудьте применить её с помощью QSurfaceFormat::setDefaultFormat(). Установка QSurfaceFormat на представлении, скорее всего, не повлияет на рендеринг, связанный с Qt3D.

Примечание: Узел QTechnique нельзя отключить.

QTechnique *gl3Technique = new QTechnique();

// Create the render passes
QRenderPass *firstPass = new QRenderPass();
QRenderPass *secondPass = new QRenderPass();

// Add the passes to the technique
gl3Technique->addRenderPass(firstPass);
gl3Technique->addRenderPass(secondPass);

// 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);

// Create a FilterKey
QFilterKey *filterKey = new QFilterKey();
filterKey->setName(QStringLiteral("name"));
fitlerKey->setValue(QStringLiteral("zFillPass"));

// Add the FilterKey to the Technique
gl3Technique->addFilterKey(filterKey);

// Create a QParameter
QParameter *colorParameter = new QParameter(QStringLiteral("color"), QColor::fromRgbF(0.0f, 0.0f, 1.0f, 1.0f));

// Add parameter to technique
gl3Technique->addParameter(colorParameter);

См. также QEffect, QRenderPass и QTechniqueFilter.

Документация по свойствам

[read-only] graphicsApiFilter : Qt3DRender::QGraphicsApiFilter* const

Указывает используемый фильтр графического API

Функции доступа:

Qt3DRender::QGraphicsApiFilter * graphicsApiFilter()
const Qt3DRender::QGraphicsApiFilter * graphicsApiFilter() const

Документация по членам-функциям

void QTechnique::addFilterKey(Qt3DRender::QFilterKey *filterKey)

Добавляет filterKey к локальным ключам фильтра Qt3DRender::QTechnique.

void QTechnique::addParameter(Qt3DRender::QParameter *parameter)

Добавляет parameter к параметрам техники.

void QTechnique::addRenderPass(Qt3DRender::QRenderPass *pass)

Добавляет pass в технику.

QList<Qt3DRender::QFilterKey *> QTechnique::filterKeys() const

Возвращает список объектов Qt3DCore::QFilterKey, составляющих ключи фильтра Qt3DRender::QTechnique.

QList<Qt3DRender::QParameter *> QTechnique::parameters() const

Возвращает список текущих параметров техники.

void QTechnique::removeFilterKey(Qt3DRender::QFilterKey *filterKey)

Удаляет filterKey из локальных ключей фильтра Qt3DRender::QTechnique.

void QTechnique::removeParameter(Qt3DRender::QParameter *parameter)

Удаляет parameter из параметров техники.

void QTechnique::removeRenderPass(Qt3DRender::QRenderPass *pass)

Удаляет pass из техники.

QList<Qt3DRender::QRenderPass *> QTechnique::renderPasses() const

Возвращает список проходов рендеринга, содержащихся в технике.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qt3drender-qtechnique.html

Spec-Zone.ru

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