Spec-Zone.ru › Qt

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

При создании 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.2/qt3drender-qtechnique.html

Spec-Zone.ru

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