QSSGRenderHelpers 类

包含用于设置和渲染 QtQuick3D 可渲染对象的辅助函数的类。 更多信息...

头文件 #include <QSSGRenderHelpers>
Qt 6.7

公共类型

枚举类CreateFlag { None, Recurse, Steal }
flagsCreateFlags

静态公共成员

QSSGPrepResultIdcommit(const QSSGFrameData &frameData, QSSGPrepContextId prepId, QSSGRenderablesId renderablesId, float lodThreshold = 1.0f)
QSSGRenderablesIdcreateRenderables(const QSSGFrameData &frameData, QSSGPrepContextId prepId, const QSSGRenderHelpers::NodeList &nodes, QSSGRenderHelpers::CreateFlags flags = CreateFlag::None)
QSSGPrepContextIdprepareForRender(const QSSGFrameData &frameData, const QSSGRenderExtension &ext, QSSGCameraId cameraId, quint32 slot = 0)
voidprepareRenderables(const QSSGFrameData &frameData, QSSGPrepResultId prepId, QRhiRenderPassDescriptor *renderPassDescriptor, QSSGRhiGraphicsPipelineState &ps, QSSGRenderablesFilters filter = QSSGRenderablesFilter::All)
voidrenderRenderables(const QSSGFrameData &frameData, QSSGPrepResultId prepId)

详细描述

成员类型文档

enum class QSSGRenderHelpers::CreateFlag
flags QSSGRenderHelpers::CreateFlags

常量描述
QSSGRenderHelpers::CreateFlag::None0默认值。只为指定的节点创建可渲染对象。
QSSGRenderHelpers::CreateFlag::Recurse0x1为每个节点及其子节点创建可渲染对象。
QSSGRenderHelpers::CreateFlag::Steal0x2从引擎中获取可渲染对象,不会被 QtQuick3D 渲染。

注意:调用 QSSGRenderHelpers::createRenderables() 而未设置 {QSSGRenderHelpers::CreateFlag::Steal}{Steal} 标志表示节点被复制,且 QtQuick3D 将像平常一样渲染其副本。

CreateFlags 类型是 QFlags<CreateFlag> 的别称。它存储 CreateFlag 值的 OR 组合。

成员函数文档

[静态] QSSGPrepResultId QSSGRenderHelpers::commit(const QSSGFrameData &frameData, QSSGPrepContextId prepId, QSSGRenderablesId renderablesId, float lodThreshold = 1.0f)

对渲染对象完成所需修改后,可以将数据标记为准备好供渲染器使用。

返回准备结果的id。

frameDataprepIdrenderablesIdlodThreshold

另请参阅prepareRenderables() 和 renderRenderables

[静态] QSSGRenderablesId QSSGRenderHelpers::createRenderables(const QSSGFrameData &frameData, QSSGPrepContextId prepId, const QSSGRenderHelpers::NodeList &nodes, QSSGRenderHelpers::CreateFlags flags = CreateFlag::None)

接受一个节点id列表并创建可由渲染器进一步处理的渲染对象。如果没有节点或列表中没有可渲染的节点,则返回的id将是无效的。

默认情况下,该函数不会递归进入列表中的 nodes 的子节点。可以通过将 flags 参数中的 Recurse 标志传递来启用递归。

返回创建的渲染对象的id。

frameDataprepId

另请参阅CreateFlagsprepareForRender

[静态] QSSGPrepContextId QSSGRenderHelpers::prepareForRender(const QSSGFrameData &frameData, const QSSGRenderExtension &ext, QSSGCameraId cameraId, quint32 slot = 0)

prepareForRender() 创建一个用于收集和存储与此渲染扩展关联的渲染数据的上下文。

如果同一个节点需要渲染多次但具有不同的属性,例如不同的材料或相机,则需要一个新的上下文。要为单个扩展创建多个上下文,可以使用 slot 参数。默认上下文在槽 0 中创建。

返回准备上下文的id。

frameDataextcameraId

另请参阅commit

[静态] void QSSGRenderHelpers::prepareRenderables(const QSSGFrameData &frameData, QSSGPrepResultId prepId, QRhiRenderPassDescriptor *renderPassDescriptor, QSSGRhiGraphicsPipelineState &ps, QSSGRenderablesFilters filter = QSSGRenderablesFilter::All)

在调用 renderRenderables 之前准备渲染对象的绘制调用数据。

返回准备结果的id。

frameDatarenderPassDescriptorpsprepIdfilter

另请参阅renderRenderables

[静态] void QSSGRenderHelpers::renderRenderables(const QSSGFrameData &frameDataQSSGPrepResultId prepId)

渲染可渲染对象。

frameDataprepId

另请参阅prepareRenderables

© 2024 The Qt Company Ltd. 本文档中的内容贡献者是各自内容的版权所有者。本文档受自由软件基金会发布的 GNU自由文档许可证版本1.3 许可。Qt及其相关标志是The Qt Company Ltd.在芬兰和其他国家的商标。所有其他商标均为各自所有者的财产。