FrameGraph node to transfer a rectangle of pixel values from one region of a render target to another. More...
Header: | #include <QBlitFramebuffer> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
qmake: | QT += 3drender |
Since: | Qt 5.10 |
Instantiated By: | BlitFramebuffer |
Inherits: | Qt3DRender::QFrameGraphNode |
enum | 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() |
This node inserts a glBlitFrameBuffer
or an equivalent into the command stream. This provides a more efficient method for copying rectangles between textures or surface backbuffers wrapped by QRenderTarget than drawing textured quads. It also supports scaling with the specified interpolation method.
Note: In practice the QBlitFramebuffer node will often be used in combination with QNoDraw since a blit should not involve issuing draw calls for any entities.
Specifies the interpolation applied if the image is stretched.
Constant | Value | Description |
---|---|---|
Qt3DRender::QBlitFramebuffer::Nearest |
0 |
Nearest-neighbor interpolation. |
Qt3DRender::QBlitFramebuffer::Linear |
1 |
Linear interpolation. |
Specifies the destination render target. When not set, the destination is assumed to be the default framebuffer (i.e. the backbuffer of the current surface), if there is one.
Note: the source and destination must not refer to the same render target.
Access functions:
Qt3DRender::QRenderTarget * | destination() const |
void | setDestination(Qt3DRender::QRenderTarget *destination) |
Notifier signal:
void | destinationChanged() |
Specifies the target attachment point.
Access functions:
Qt3DRender::QRenderTargetOutput::AttachmentPoint | destinationAttachmentPoint() const |
void | setDestinationAttachmentPoint(Qt3DRender::QRenderTargetOutput::AttachmentPoint destinationAttachmentPoint) |
Notifier signal:
void | destinationAttachmentPointChanged() |
Specifies the destination rectangle. The coordinates are assumed to follow the normal Qt coordinate system, meaning Y runs from top to bottom.
Access functions:
QRectF | destinationRect() const |
void | setDestinationRect(const QRectF &outputRect) |
Notifier signal:
void | destinationRectChanged() |
Specifies the source render target. When not set, the source is assumed to be the default framebuffer (i.e. the backbuffer of the current surface), if there is one.
Note: the source and destination must not refer to the same render target.
Access functions:
Notifier signal:
void | sourceChanged() |
Specifies the source attachment point.
Access functions:
Qt3DRender::QRenderTargetOutput::AttachmentPoint | sourceAttachmentPoint() const |
void | setSourceAttachmentPoint(Qt3DRender::QRenderTargetOutput::AttachmentPoint sourceAttachmentPoint) |
Notifier signal:
void | sourceAttachmentPointChanged() |
Specifies the source rectangle. The coordinates are assumed to follow the normal Qt coordinate system, meaning Y runs from top to bottom.
Access functions:
QRectF | sourceRect() const |
void | setSourceRect(const QRectF &inputRect) |
Notifier signal:
void | sourceRectChanged() |
Constructs a new QBlitFramebuffer with the given parent.
[virtual]
QBlitFramebuffer::~QBlitFramebuffer()Destructor.
Returns the destination render target.
Note: Getter function for property destination.
See also setDestination().
Returns the destination attachment point.
Note: Getter function for property destinationAttachmentPoint.
See also setDestinationAttachmentPoint().
Returns the destination rectangle.
Note: Getter function for property destinationRect.
See also setDestinationRect().
Returns the interpolation method.
Note: Getter function for property interpolationMethod.
See also setInterpolationMethod().
Sets the destination render target. The default value is nullptr, in which case the destination is assumed to be be the default framebuffer (i.e. the backbuffer of the current surface), if there is one.
Note: the source and destination must not refer to the same render target.
Note: As with other nodes, destination gets automatically parented to the QBlitFramebuffer instance when no parent has been set. The lifetime is also tracked, meaning the destination reverts to nullptr in case the currently set destination is destroyed.
Note: Setter function for property destination.
See also destination().
Sets the destinationAttachmentPoint. Defaults to Qt3DRender::QRenderTargetOutput::AttachmentPoint::Color0.
Note: Setter function for property destinationAttachmentPoint.
See also destinationAttachmentPoint().
Sets the destination rectangle to outputRect. The coordinates are assumed to follow the normal Qt coordinate system, meaning Y runs from top to bottom.
Note: Setter function for property destinationRect.
See also destinationRect().
Sets the interpolationMethod that is applied if the image is stretched. Defaults to Linear.
Note: Setter function for property interpolationMethod.
See also interpolationMethod().
Sets the source render target. The default value is nullptr, in which case the source is assumed to be be the default framebuffer (i.e. the backbuffer of the current surface), if there is one.
Note: the source and destination must not refer to the same render target.
Note: As with other nodes, source gets automatically parented to the QBlitFramebuffer instance when no parent has been set. The lifetime is also tracked, meaning the source reverts to nullptr in case the currently set source is destroyed.
Note: Setter function for property source.
See also source().
Sets the sourceAttachmentPoint. Defaults to Qt3DRender::QRenderTargetOutput::AttachmentPoint::Color0.
Note: Setter function for property sourceAttachmentPoint.
See also sourceAttachmentPoint().
Sets the source rectangle to inputRect. The coordinates are assumed to follow the normal Qt coordinate system, meaning Y runs from top to bottom.
Note: Setter function for property sourceRect.
See also sourceRect().
Returns the source render target.
Note: Getter function for property source.
See also setSource().
Returns the source attachment point.
Note: Getter function for property sourceAttachmentPoint.
See also setSourceAttachmentPoint().
Returns the source rectangle.
Note: Getter function for property sourceRect.
See also setSourceRect().