57 using MaterialList = QList<QSSGResourceId>;
59 static void setModelMaterials(
const QSSGFrameData &frameData,
60 QSSGRenderablesId renderablesId,
62 MaterialList materials);
64 static void setModelMaterials(
const QSSGFrameData &frameData,
65 QSSGRenderablesId renderablesId,
66 MaterialList materials);
68 [[nodiscard]]
static QMatrix4x4 getGlobalTransform(
const QSSGFrameData &frameData,
70 QSSGPrepContextId prepId = {});
72 [[nodiscard]]
static QMatrix4x4 getLocalTransform(
const QSSGFrameData &frameData,
74 [[nodiscard]]
static float getGlobalOpacity(
const QSSGFrameData &frameData,
76 [[nodiscard]]
static float getGlobalOpacity(
const QSSGFrameData &frameData,
78 QSSGPrepContextId prepId);
79 [[nodiscard]]
static float getLocalOpacity(
const QSSGFrameData &frameData,
82 static void setGlobalTransform(
const QSSGFrameData &frameData,
83 QSSGRenderablesId prepId,
85 const QMatrix4x4 &transform);
87 static void setGlobalOpacity(
const QSSGFrameData &frameData,
88 QSSGRenderablesId renderablesId,
108 enum class CreateFlag : quint32
115 Q_DECLARE_FLAGS(CreateFlags, CreateFlag)
117 [[nodiscard]]
static QSSGRenderablesId createRenderables(
const QSSGFrameData &frameData,
118 QSSGPrepContextId prepId,
119 const QSSGNodeIdList &nodes,
120 CreateFlags flags = CreateFlag::None);
122 [[nodiscard]]
static QSSGPrepContextId prepareForRender(
const QSSGFrameData &frameData,
123 const QSSGRenderExtension &ext,
124 QSSGCameraId cameraId,
127 [[nodiscard]]
static QSSGPrepResultId commit(
const QSSGFrameData &frameData,
128 QSSGPrepContextId prepId,
129 QSSGRenderablesId renderablesId,
130 float lodThreshold = 1.0f);
132 static void prepareRenderables(
const QSSGFrameData &frameData,
133 QSSGPrepResultId prepId,
134 QRhiRenderPassDescriptor *renderPassDescriptor,
135 QSSGRhiGraphicsPipelineState &ps,
136 QSSGRenderablesFilters filter = QSSGRenderablesFilter::All);
138 static void renderRenderables(
const QSSGFrameData &frameData,
139 QSSGPrepResultId prepId);