55 using MaterialList = QList<QSSGResourceId>;
57 static void setModelMaterials(
const QSSGFrameData &frameData,
58 QSSGRenderablesId renderablesId,
60 MaterialList materials);
62 static void setModelMaterials(
const QSSGFrameData &frameData,
63 QSSGRenderablesId renderablesId,
64 MaterialList materials);
66 [[nodiscard]]
static QMatrix4x4 getGlobalTransform(
const QSSGFrameData &frameData,
68 QSSGPrepContextId prepId = {});
70 [[nodiscard]]
static QMatrix4x4 getLocalTransform(
const QSSGFrameData &frameData,
72 [[nodiscard]]
static float getGlobalOpacity(
const QSSGFrameData &frameData,
74 [[nodiscard]]
static float getGlobalOpacity(
const QSSGFrameData &frameData,
76 QSSGPrepContextId prepId);
77 [[nodiscard]]
static float getLocalOpacity(
const QSSGFrameData &frameData,
80 static void setGlobalTransform(
const QSSGFrameData &frameData,
81 QSSGRenderablesId prepId,
83 const QMatrix4x4 &transform);
85 static void setGlobalOpacity(
const QSSGFrameData &frameData,
86 QSSGRenderablesId renderablesId,
106 enum class CreateFlag : quint32
113 Q_DECLARE_FLAGS(CreateFlags, CreateFlag)
115 [[nodiscard]]
static QSSGRenderablesId createRenderables(
const QSSGFrameData &frameData,
116 QSSGPrepContextId prepId,
117 const QSSGNodeIdList &nodes,
118 CreateFlags flags = CreateFlag::None);
120 [[nodiscard]]
static QSSGPrepContextId prepareForRender(
const QSSGFrameData &frameData,
121 const QSSGRenderExtension &ext,
122 QSSGCameraId cameraId,
125 [[nodiscard]]
static QSSGPrepResultId commit(
const QSSGFrameData &frameData,
126 QSSGPrepContextId prepId,
127 QSSGRenderablesId renderablesId,
128 float lodThreshold = 1.0f);
130 static void prepareRenderables(
const QSSGFrameData &frameData,
131 QSSGPrepResultId prepId,
132 QRhiRenderPassDescriptor *renderPassDescriptor,
133 QSSGRhiGraphicsPipelineState &ps,
134 QSSGRenderablesFilters filter = QSSGRenderablesFilter::All);
136 static void renderRenderables(
const QSSGFrameData &frameData,
137 QSSGPrepResultId prepId);