QBlitFramebuffer 类

class Qt3DRender::QBlitFramebuffer

FrameGraph 节点,用于将渲染目标一个区域的像素值矩形传输到另一个区域。 更多...

头文件 #include <QBlitFramebuffer>
CMakefind_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmakeQT += 3drender
由以下实例化 BlitFramebuffer
继承 Qt3DRender::QFrameGraphNode

公共类型

枚举InterpolationMethod { Nearest, Linear }

属性

公共函数

QBlitFramebuffer(Qt3DCore::QNode *parent = nullptr)
virtual~QBlitFramebuffer()
Qt3DRender::QRenderTarget *destination() const
Qt3DRender::QRenderTargetOutput::AttachmentPointdestinationAttachmentPoint() const
QRectFdestinationRect() const
Qt3DRender::QBlitFramebuffer::InterpolationMethodinterpolationMethod() const
voidsetDestination(Qt3DRender::QRenderTarget *destination)
voidsetDestinationAttachmentPoint(Qt3DRender::QRenderTargetOutput::AttachmentPoint destinationAttachmentPoint)
voidsetDestinationRect(const QRectF &outputRect)
voidsetInterpolationMethod(Qt3DRender::QBlitFramebuffer::InterpolationMethod interpolationMethod)
voidsetSource(Qt3DRender::QRenderTarget *source)
voidsetSourceAttachmentPoint(Qt3DRender::QRenderTargetOutput::AttachmentPoint sourceAttachmentPoint)
voidsetSourceRect(const QRectF &inputRect)
Qt3DRender::QRenderTarget *source() const
Qt3DRender::QRenderTargetOutput::AttachmentPointsourceAttachmentPoint() const
QRectFsourceRect() const

信号

详细信息

此节点将 glBlitFrameBuffer 或其等效函数插入到命令流中。相比于绘制纹理四边形,这提供了一种更高效的方法来在纹理或由 QRenderTarget 包装的表面后缓冲区之间复制矩形。它还支持使用指定的插值方法进行缩放。

注意:在实际应用中,通常将 QBlitFramebuffer 节点与 QNoDraw 结合使用,因为块操作不应该涉及到发出任何实体的绘制调用。

成员类型文档

枚举 QBlitFramebuffer::InterpolationMethod

指定在图像被拉伸时应用的插值。

常量描述
Qt3DRender::QBlitFramebuffer::Nearest0最近邻插值。
Qt3DRender::QBlitFramebuffer::Linear1线性插值。

属性文档

destination : Qt3DRender::QRenderTarget*

指定目标渲染目标。如果未设置,假定目标为默认帧缓冲区(即当前表面的后缓冲区),如果有的话。

注意:源和目标不应引用相同的渲染目标。

访问函数

Qt3DRender::QRenderTarget *destination() const
voidsetDestination(Qt3DRender::QRenderTarget *destination)

通知信号

voiddestinationChanged()

destinationAttachmentPoint : Qt3DRender::QRenderTargetOutput::AttachmentPoint

指定目标附加点。

访问函数

Qt3DRender::QRenderTargetOutput::AttachmentPointdestinationAttachmentPoint() const
voidsetDestinationAttachmentPoint(Qt3DRender::QRenderTargetOutput::AttachmentPoint destinationAttachmentPoint)

通知信号

voiddestinationAttachmentPointChanged()

destinationRect : QRectF

指定目标矩形。坐标被假定为遵循正常的 Qt 坐标系统,这意味着 Y 从顶部到底部运行。

访问函数

QRectFdestinationRect() const
voidsetDestinationRect(const QRectF &outputRect)

通知信号

voiddestinationRectChanged()

source : Qt3DRender::QRenderTarget*

指定源渲染目标。如果未设置,假定源为默认帧缓冲区(即当前表面的后缓冲区),如果有的话。

注意:源和目标不应引用相同的渲染目标。

访问函数

Qt3DRender::QRenderTarget *source() const
voidsetSource(Qt3DRender::QRenderTarget *source)

通知信号

voidsourceChanged()

sourceAttachmentPoint : Qt3DRender::QRenderTargetOutput::AttachmentPoint

指定源附件点。

访问函数

Qt3DRender::QRenderTargetOutput::AttachmentPointsourceAttachmentPoint() const
voidsetSourceAttachmentPoint(Qt3DRender::QRenderTargetOutput::AttachmentPoint sourceAttachmentPoint)

通知信号

voidsourceAttachmentPointChanged()

sourceRect : QRectF

指定源矩形。坐标假定遵循正常的 Qt 坐标系统,这意味着 Y 从顶部到下部运行。

访问函数

QRectFsourceRect() const
voidsetSourceRect(const QRectF &inputRect)

通知信号

voidsourceRectChanged()

成员函数文档

[显式] QBlitFramebuffer::QBlitFramebuffer(Qt3DCore::QNode *parent = nullptr)

使用指定的 parent 构造一个新的 QBlitFramebuffer。

[虚 exempt] 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 实例中。生命周期也得到跟踪,这意味着如果当前设置的 destination 被销毁,则将重置为 nullptr。

注意: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。默认为线性。

注意:属性 interpolationMethod 的设置函数。

另请参阅:interpolationMethod

void QBlitFramebuffer::setSource(Qt3DRender::QRenderTarget *source)

设置源渲染目标。默认值为 nullptr,在这种情况下,如果存在,源假定是默认帧缓冲区(即当前表面的后缓冲区)。

注意:源和目标不应引用相同的渲染目标。

注意:与其他节点一样,如果没有设置父节点,source 会自动设置为 QBlitFramebuffer 实例的父节点。还会跟踪其生存周期,意味着如果当前设置的 source 被销毁,则源将重置为 nullptr。

注意:属性 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

© 2024 Qt公司。此处包含的文档贡献者是各自所有者的版权。此处提供的文档根据自由软件基金会发布的GNU自由文档许可证版本1.3的条款授予许可。Qt及其相关标志是芬兰以及全球其他国家的Qt公司在芬兰及其他国家的商标。所有其他商标均为其各自所有者的财产。