Класс 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 { Nearest, Linear } |
Свойства
|
|
Публичные функции
| 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.2/qt3drender-qblitframebuffer.html