Класс QBlitFramebuffer
класс Qt3DRender::QBlitFramebufferУзел FrameGraph для передачи прямоугольника значений пикселей из одной области целевого рендеринга в другую. Подробнее...
| Заголовок: | #include <QBlitFramebuffer> |
| CMake: | find_package(Qt6 COMPONENTS 3drender REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
| qmake: | QT += 3drender |
| С момента: | Qt 5.10 |
| Создаётся из: | BlitFramebuffer |
| Наследует: | Qt3DRender::QFrameGraphNode |
Типы публичного доступа
| Перечисление | InterpolationMethod { Ближайший, Линейный } |
Свойства
|
|
Публичные функции
| QBlitFramebuffer(Qt3DCore::QNode *parent = nullptr) | |
| virtual | ~QBlitFramebuffer() |
| Qt3DRender::QRenderTarget * | destination() const |
| Qt3DRender::QRenderTargetOutput::AttachmentPoint | destinationAttachmentPoint() const |
| QRectF | destinationRect() const |
| Qt3DRender::QBlitFramebuffer::InterpolationMethod | interpolationMethod() const |
| void | setDestination(Qt3DRender::QRenderTarget *destination) |
| void | setDestinationAttachmentPoint(Qt3DRender::QRenderTargetOutput::AttachmentPoint destinationAttachmentPoint) |
| void | setDestinationRect(const QRectF &outputRect) |
| void | setInterpolationMethod(Qt3DRender::QBlitFramebuffer::InterpolationMethod interpolationMethod) |
| void | setSource(Qt3DRender::QRenderTarget *source) |
| void | setSourceAttachmentPoint(Qt3DRender::QRenderTargetOutput::AttachmentPoint sourceAttachmentPoint) |
| void | setSourceRect(const QRectF &inputRect) |
| Qt3DRender::QRenderTarget * | source() const |
| Qt3DRender::QRenderTargetOutput::AttachmentPoint | sourceAttachmentPoint() const |
| QRectF | sourceRect() const |
Сигналы
| void | destinationAttachmentPointChanged() |
| void | destinationChanged() |
| void | destinationRectChanged() |
| void | interpolationMethodChanged() |
| void | sourceAttachmentPointChanged() |
| void | sourceChanged() |
| void | sourceRectChanged() |
Подробное описание
Этот узел вставляет glBlitFrameBuffer или эквивалент в поток команд. Это обеспечивает более эффективный способ копирования прямоугольников между текстурами или буферами заднего плана поверхностей, обернутых QRenderTarget, чем рисование текстурированных четырехугольников. Он также поддерживает масштабирование с указанным методом интерполяции.
Примечание: На практике узел QBlitFramebuffer часто используется в сочетании с QNoDraw, так как блит не должен включать вызов функций рисования для любых сущностей.
Документация по типам членов
перечисление QBlitFramebuffer::InterpolationMethod
Определяет интерполяцию, применяемую в случае растяжения изображения.
| Константа | Значение | Описание |
|---|---|---|
Qt3DRender::QBlitFramebuffer::Nearest |
0 |
Интерполяция ближайшего соседа. |
Qt3DRender::QBlitFramebuffer::Linear |
1 |
Линейная интерполяция. |
Документация свойств
destination : Qt3DRender::QRenderTarget*
Указывает целевой рендеринг. Если не задано, целевым рендерингом считается буфер по умолчанию (т.е. задний буфер текущей поверхности), если он существует.
Примечание: источник и целевой рендеринг не должны ссылаться на один и тот же рендеринг.
Функции доступа:
| Qt3DRender::QRenderTarget * | destination() const |
| void | setDestination(Qt3DRender::QRenderTarget *destination) |
Сигнал уведомления:
| void | destinationChanged() |
destinationAttachmentPoint : Qt3DRender::QRenderTargetOutput::AttachmentPoint
Указывает точку привязки цели.
Функции доступа:
| Qt3DRender::QRenderTargetOutput::AttachmentPoint | destinationAttachmentPoint() const |
| void | setDestinationAttachmentPoint(Qt3DRender::QRenderTargetOutput::AttachmentPoint destinationAttachmentPoint) |
Сигнал уведомления:
| void | destinationAttachmentPointChanged() |
destinationRect : QRectF
Указывает целевой прямоугольник. Координаты предполагаются стандартной системой координат Qt, где ось Y направлена сверху вниз.
Функции доступа:
| QRectF | destinationRect() const |
| void | setDestinationRect(const QRectF &outputRect) |
Сигнал уведомления:
| void | destinationRectChanged() |
source : Qt3DRender::QRenderTarget*
Указывает исходный рендеринг. Если не задано, исходным рендерингом считается буфер по умолчанию (т.е. задний буфер текущей поверхности), если он существует.
Примечание: источник и целевой рендеринг не должны ссылаться на один и тот же рендеринг.
Функции доступа:
| Qt3DRender::QRenderTarget * | source() const |
| void | setSource(Qt3DRender::QRenderTarget *source) |
Сигнал уведомления:
| void | sourceChanged() |
sourceAttachmentPoint : Qt3DRender::QRenderTargetOutput::AttachmentPoint
Указывает точку привязки источника.
Функции доступа:
| Qt3DRender::QRenderTargetOutput::AttachmentPoint | sourceAttachmentPoint() const |
| void | setSourceAttachmentPoint(Qt3DRender::QRenderTargetOutput::AttachmentPoint sourceAttachmentPoint) |
Сигнал уведомления:
| void | sourceAttachmentPointChanged() |
sourceRect : QRectF
Указывает исходный прямоугольник. Координаты предполагаются стандартной системой координат Qt, где ось Y направлена сверху вниз.
Функции доступа:
| QRectF | sourceRect() const |
| void | setSourceRect(const QRectF &inputRect) |
Сигнал уведомления:
| void | sourceRectChanged() |
Документация функций-членов
QBlitFramebuffer::QBlitFramebuffer(Qt3DCore::QNode *parent = nullptr)
Создает новый QBlitFramebuffer с заданным parent.
[virtual] QBlitFramebuffer::~QBlitFramebuffer()
Деструктор.
Qt3DRender::QRenderTarget *QBlitFramebuffer::destination() const
Возвращает целевой рендеринг.
Примечание: Функция-геттер для свойства destination.
См. также setDestination().
Qt3DRender::QRenderTargetOutput::AttachmentPoint QBlitFramebuffer::destinationAttachmentPoint() const
Возвращает точку привязки цели.
Примечание: Функция-геттер для свойства destinationAttachmentPoint.
См. также setDestinationAttachmentPoint().
QRectF QBlitFramebuffer::destinationRect() const
Возвращает целевой прямоугольник.
Примечание: Функция-геттер для свойства destinationRect.
См. также setDestinationRect().
Qt3DRender::QBlitFramebuffer::InterpolationMethod QBlitFramebuffer::interpolationMethod() const
Возвращает метод интерполяции.
Примечание: Функция-геттер для свойства interpolationMethod.
См. также setInterpolationMethod().
void QBlitFramebuffer::setDestination(Qt3DRender::QRenderTarget *destination)
Устанавливает целевой рендеринг. Значение по умолчанию — nullptr, в этом случае целевым рендерингом считается буфер по умолчанию (т.е. задний буфер текущей поверхности), если он существует.
Примечание: источник и целевой рендеринг не должны ссылаться на один и тот же рендеринг.
Примечание: Как и в других узлах, destination автоматически прикрепляется к экземпляру QBlitFramebuffer, если не задан родитель. Также отслеживается жизненный цикл, что означает, что целевой рендеринг возвращается к nullptr в случае уничтожения текущего установленного destination.
Примечание: Функция-сеттер для свойства destination.
См. также destination().
void QBlitFramebuffer::setDestinationAttachmentPoint(Qt3DRender::QRenderTargetOutput::AttachmentPoint destinationAttachmentPoint)
Устанавливает destinationAttachmentPoint. Значение по умолчанию — Qt3DRender::QRenderTargetOutput::AttachmentPoint::Color0.
Примечание: Функция-сеттер для свойства destinationAttachmentPoint.
См. также destinationAttachmentPoint().
void QBlitFramebuffer::setDestinationRect(const QRectF &outputRect)
Устанавливает целевой прямоугольник на outputRect. Координаты предполагаются стандартной системой координат Qt, где ось Y направлена сверху вниз.
Примечание: Функция-сеттер для свойства destinationRect.
См. также destinationRect().
void QBlitFramebuffer::setInterpolationMethod(Qt3DRender::QBlitFramebuffer::InterpolationMethod interpolationMethod)
Устанавливает interpolationMethod, который применяется, если изображение растягивается. По умолчанию — Linear.
Примечание: Функция-сеттер для свойства interpolationMethod.
См. также interpolationMethod().
void QBlitFramebuffer::setSource(Qt3DRender::QRenderTarget *source)
Устанавливает целевой объект отрисовки. Значение по умолчанию — nullptr, в этом случае источник предполагается быть стандартным буфером кадров (т.е. задним буфером текущей поверхности), если таковой имеется.
Примечание: источник и место назначения не должны ссылаться на один и тот же объект отрисовки.
Примечание: Как и другие узлы, source автоматически становится дочерним элементом экземпляра QBlitFramebuffer, когда не задан родитель. Жизненный цикл также отслеживается, что означает, что source возвращается к значению nullptr в случае уничтожения текущего установленного source.
Примечание: Функция-сеттер для свойства source.
См. также source().
void QBlitFramebuffer::setSourceAttachmentPoint(Qt3DRender::QRenderTargetOutput::AttachmentPoint sourceAttachmentPoint)
Устанавливает sourceAttachmentPoint. По умолчанию — Qt3DRender::QRenderTargetOutput::AttachmentPoint::Color0.
Примечание: Функция-сеттер для свойства sourceAttachmentPoint.
См. также sourceAttachmentPoint().
void QBlitFramebuffer::setSourceRect(const QRectF &inputRect)
Устанавливает область источника на inputRect. Координаты предполагаются соответствующими стандартной системе координат Qt, где Y возрастает сверху вниз.
Примечание: Функция-сеттер для свойства sourceRect.
См. также sourceRect().
Qt3DRender::QRenderTarget *QBlitFramebuffer::source() const
Возвращает целевой объект отрисовки.
Примечание: Функция-геттер для свойства source.
См. также setSource().
Qt3DRender::QRenderTargetOutput::AttachmentPoint QBlitFramebuffer::sourceAttachmentPoint() const
Возвращает точку привязки источника.
Примечание: Функция-геттер для свойства sourceAttachmentPoint.
См. также setSourceAttachmentPoint().
QRectF QBlitFramebuffer::sourceRect() const
Возвращает область источника.
Примечание: Функция-геттер для свойства sourceRect.
См. также setSourceRect().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qt3drender-qblitframebuffer.html