QSSGRenderHelpers 类
包含用于设置和渲染 QtQuick3D 可渲染对象的辅助函数的类。 更多信息...
头文件 | #include <QSSGRenderHelpers> |
自 | Qt 6.7 |
公共类型
枚举类 | CreateFlag { None, Recurse, Steal } |
flags | CreateFlags |
静态公共成员
QSSGPrepResultId | commit(const QSSGFrameData &frameData, QSSGPrepContextId prepId, QSSGRenderablesId renderablesId, float lodThreshold = 1.0f) |
QSSGRenderablesId | createRenderables(const QSSGFrameData &frameData, QSSGPrepContextId prepId, const QSSGRenderHelpers::NodeList &nodes, QSSGRenderHelpers::CreateFlags flags = CreateFlag::None) |
QSSGPrepContextId | prepareForRender(const QSSGFrameData &frameData, const QSSGRenderExtension &ext, QSSGCameraId cameraId, quint32 slot = 0) |
void | prepareRenderables(const QSSGFrameData &frameData, QSSGPrepResultId prepId, QRhiRenderPassDescriptor *renderPassDescriptor, QSSGRhiGraphicsPipelineState &ps, QSSGRenderablesFilters filter = QSSGRenderablesFilter::All) |
void | renderRenderables(const QSSGFrameData &frameData, QSSGPrepResultId prepId) |
成员类型文档
enum class QSSGRenderHelpers::CreateFlag
flags QSSGRenderHelpers::CreateFlags
常量 | 值 | 描述 |
---|---|---|
QSSGRenderHelpers::CreateFlag::None | 0 | 默认值。只为指定的节点创建可渲染对象。 |
QSSGRenderHelpers::CreateFlag::Recurse | 0x1 | 为每个节点及其子节点创建可渲染对象。 |
QSSGRenderHelpers::CreateFlag::Steal | 0x2 | 从引擎中获取可渲染对象,不会被 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。
frameData,prepId,renderablesId,lodThreshold
另请参阅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。
frameData,prepId
另请参阅CreateFlags 和 prepareForRender。
[静态]
QSSGPrepContextId QSSGRenderHelpers::prepareForRender(const QSSGFrameData &frameData, const QSSGRenderExtension &ext, QSSGCameraId cameraId, quint32 slot = 0)
prepareForRender() 创建一个用于收集和存储与此渲染扩展关联的渲染数据的上下文。
如果同一个节点需要渲染多次但具有不同的属性,例如不同的材料或相机,则需要一个新的上下文。要为单个扩展创建多个上下文,可以使用 slot 参数。默认上下文在槽 0 中创建。
返回准备上下文的id。
frameData,ext,cameraId
另请参阅commit。
[静态]
void QSSGRenderHelpers::prepareRenderables(const QSSGFrameData &frameData, QSSGPrepResultId prepId, QRhiRenderPassDescriptor *renderPassDescriptor, QSSGRhiGraphicsPipelineState &ps, QSSGRenderablesFilters filter = QSSGRenderablesFilter::All)
在调用 renderRenderables 之前准备渲染对象的绘制调用数据。
返回准备结果的id。
frameData,renderPassDescriptor,ps,prepId,filter
另请参阅renderRenderables。
[静态]
void QSSGRenderHelpers::renderRenderables(const QSSGFrameData &frameData,QSSGPrepResultId prepId)
渲染可渲染对象。
frameData,prepId
另请参阅prepareRenderables。
© 2024 The Qt Company Ltd. 本文档中的内容贡献者是各自内容的版权所有者。本文档受自由软件基金会发布的 GNU自由文档许可证版本1.3 许可。Qt及其相关标志是The Qt Company Ltd.在芬兰和其他国家的商标。所有其他商标均为各自所有者的财产。