class QQuickRenderTarget#

QQuickRenderTarget 类提供一个不透明的容器,用于指定渲染目标和相关元数据的原生图形资源。 更多

概述#

方法#

静态函数#

注意

此文档可能包含从 C++ 自动翻译到 Python 的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译有误,也可以通过在https:/bugreports.qt.io/projects/PYSIDE上创建工单的方式让我们知道。

详细描述#

__init__()#

构造一个默认的QQuickRenderTarget,它不引用任何原生对象。

__init__(other)
参数:

otherQQuickRenderTarget

devicePixelRatio()#
返回类型:

浮点数

返回渲染目标的设备像素比。这是设备像素和设备相关像素之间的比率。

默认的设备像素比是1.0。

另请参阅

setDevicePixelRatio()

静态 fromOpenGLRenderBuffer(renderbufferId, pixelSize[, sampleCount=1])#
参数:
  • renderbufferId – int

  • pixelSizeQSize

  • sampleCount – int

返回类型:

QQuickRenderTarget

返回一个新的QQuickRenderTarget,该Target引用一个OpenGL渲染缓冲区对象,由renderbufferId指定。

渲染缓冲区将用作内部帧缓冲对象的颜色附加。此函数提供用于针对由应用程序创建且带有某些外部缓冲区(例如EGLImageKHR)的渲染缓冲区。一旦应用程序调用glEGLImageTargetRenderbufferStorageOES,则可以将该渲染缓冲区传递到此函数。

pixelSize指定图像的大小,单位是像素。

sampleCount指定样本数。0或1表示无多重采样,而例如4或8表示原生对象是多重采样渲染缓冲区。

注意

生成的QQuickRenderTarget不拥有任何原生资源,它仅仅包含对大小和样本计数的引用以及相关元数据。确保原生资源在必要时存在是调用者的责任。

静态 fromOpenGLTexture(textureId, pixelSize[, sampleCount=1])#
参数:
  • textureId – int

  • pixelSizeQSize

  • sampleCount – int

返回类型:

QQuickRenderTarget

这是一个重载函数。

返回一个新的引用OpenGL纹理对象(由textureId指定)的QQuickRenderTarget。纹理的格式假定为GL_RGBA(GL_RGBA8)。

pixelSize指定图像的大小,单位为像素。目前仅支持2D纹理。

sampleCount指定样本数。0或1表示无多重采样,而类似4或8的值则表示原生对象是多重采样纹理。

纹理用作Qt Quick场景图中使用的渲染目标的第一个颜色附加对象。如果适用,将自动创建并使用深度-模板缓冲区。

OpenGL对象名称textureId必须是Qt Quick场景图中使用的渲染上下文中的有效名称。

注意

生成的QQuickRenderTarget不拥有任何原生资源,它仅仅包含对大小和样本计数的引用以及相关元数据。确保原生资源在必要时存在是调用者的责任。

静态 fromOpenGLTexture(textureId, format, pixelSize[, sampleCount=1])
参数:
  • textureId – int

  • format – int

  • pixelSizeQSize

  • sampleCount – int

返回类型:

QQuickRenderTarget

返回一个引用OpenGL纹理对象(由textureId指定)的新QQuickRenderTarget

format指定纹理的本地内部格式。应仅使用Qt渲染基础设施支持的纹理格式。

pixelSize指定图像的大小,单位为像素。目前仅支持2D纹理。

sampleCount指定样本数。0或1表示无多重采样,而类似4或8的值则表示原生对象是多重采样纹理。

纹理用作Qt Quick场景图中使用的渲染目标的第一个颜色附加对象。如果适用,将自动创建并使用深度-模板缓冲区。

OpenGL对象名称textureId必须是Qt Quick场景图中使用的渲染上下文中的有效名称。

注意

生成的QQuickRenderTarget不拥有任何原生资源,它仅仅包含对大小和样本计数的引用以及相关元数据。确保原生资源在必要时存在是调用者的责任。

静态 fromPaintDevice(device)#
参数:

deviceQPaintDevice

返回类型:

QQuickRenderTarget

返回一个新的引用由device指定的绘图设备对象的新QQuickRenderTarget

将渲染重定向到QPaintDevice的这一选项仅在以Qt Quick的software后端运行时可用。

注意

QQuickRenderTarget不会自身拥有device,确保对象在必要的整个期限内存在是调用者的责任。

静态 fromRhiRenderTarget(renderTarget)#
参数:

renderTargetQRhiRenderTarget

返回类型:

QQuickRenderTarget

返回一个引用现有 renderTarget 的新 QQuickRenderTarget 对象。

renderTarget 在大多数情况下将是 QRhiTextureRenderTarget,这允许将 Qt Quick 场景的渲染直接用于 QRhiTexture。

注意

生成的 QQuickRenderTarget 并非拥有 renderTarget 及其任何底层原生资源,它仅包含引用和相关的大小和样本数元数据。确保所需引用资源存在的责任在于调用者。

isNull()*
返回类型:

bool

如果此 QQuickRenderTarget 是默认构造的,引用没有原生对象,则返回 true。

mirrorVertically()*
返回类型:

bool

返回渲染目标是否垂直镜像。

默认值为 false

另请参阅

setMirrorVertically()

__ne__(rhs)*
参数:

rhsQQuickRenderTarget

返回类型:

bool

如果 ab 指向不同的原生对象集合,或者相关数据(大小、样本数)不匹配,则返回 true。

__eq__(rhs)*
参数:

rhsQQuickRenderTarget

返回类型:

bool

如果 ab 指向相同的原生对象集合,并且具有匹配的相关数据(大小、样本数),则返回 true。

setDevicePixelRatio(ratio)*
参数:

ratio – float

将此渲染目标的设备像素比设置为 ratio。这是设备像素与设备无关像素之间的比率。

注意,如果 renderWindow() 被重新实现以返回有效的 QWindow,则指定的设备像素比值将被忽略。

另请参阅

devicePixelRatio()

setMirrorVertically(enable)*
参数:

enable – bool

设置渲染目标的尺寸,以便在绘制时垂直镜像到enable。这允许轻松集成不遵循标准期望的第三方渲染代码。

注意

当使用software后端时,不应使用此函数。

另请参阅

mirrorVertically()