QBlitFramebuffer Class
class Qt3DRender::QBlitFramebufferFrameGraph node to transfer a rectangle of pixel values from one region of a render target to another. More...
Header: | #include <QBlitFramebuffer> |
qmake: | QT += 3drender |
Since: | Qt 5.10 |
Instantiated By: | BlitFramebuffer |
Inherits: | Qt3DRender::QFrameGraphNode |
This class was introduced in Qt 5.10.
Public Types
enum | InterpolationMethod { Nearest, Linear } |
Public Functions
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 |
Detailed Description
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.
Member Type Documentation
enum QBlitFramebuffer::InterpolationMethod
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. |
Member Function Documentation
[virtual]
QBlitFramebuffer::~QBlitFramebuffer()
Destructor.
Qt3DRender::QRenderTarget *QBlitFramebuffer::destination() const
Returns the destination render target.
See also setDestination().
Qt3DRender::QRenderTargetOutput::AttachmentPoint QBlitFramebuffer::destinationAttachmentPoint() const
Returns the destination attachment point.
See also setDestinationAttachmentPoint().
QRectF QBlitFramebuffer::destinationRect() const
Returns the destination rectangle.
See also setDestinationRect().
Qt3DRender::QBlitFramebuffer::InterpolationMethod QBlitFramebuffer::interpolationMethod() const
Returns the interpolation method.
See also setInterpolationMethod().
void QBlitFramebuffer::setDestination(Qt3DRender::QRenderTarget *destination)
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.
See also destination().
void QBlitFramebuffer::setDestinationAttachmentPoint(Qt3DRender::QRenderTargetOutput::AttachmentPoint destinationAttachmentPoint)
Sets the destinationAttachmentPoint. Defaults to Qt3DRender::QRenderTargetOutput::AttachmentPoint::Color0.
See also destinationAttachmentPoint().
void QBlitFramebuffer::setDestinationRect(const QRectF &outputRect)
Sets the destination rectangle to outputRect. The coordinates are assumed to follow the normal Qt coordinate system, meaning Y runs from top to bottom.
See also destinationRect().
void QBlitFramebuffer::setInterpolationMethod(Qt3DRender::QBlitFramebuffer::InterpolationMethod interpolationMethod)
Sets the interpolationMethod that is applied if the image is stretched. Defaults to Linear.
See also interpolationMethod().
void QBlitFramebuffer::setSource(Qt3DRender::QRenderTarget *source)
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.
See also source().
void QBlitFramebuffer::setSourceAttachmentPoint(Qt3DRender::QRenderTargetOutput::AttachmentPoint sourceAttachmentPoint)
Sets the sourceAttachmentPoint. Defaults to Qt3DRender::QRenderTargetOutput::AttachmentPoint::Color0.
See also sourceAttachmentPoint().
void QBlitFramebuffer::setSourceRect(const QRectF &inputRect)
Sets the source rectangle to inputRect. The coordinates are assumed to follow the normal Qt coordinate system, meaning Y runs from top to bottom.
See also sourceRect().
Qt3DRender::QRenderTarget *QBlitFramebuffer::source() const
Returns the source render target.
See also setSource().
Qt3DRender::QRenderTargetOutput::AttachmentPoint QBlitFramebuffer::sourceAttachmentPoint() const
Returns the source attachment point.
See also setSourceAttachmentPoint().
QRectF QBlitFramebuffer::sourceRect() const
Returns the source rectangle.
See also setSourceRect().