+ Graphics::Pipeline& PrepareGraphicsPipeline(
+ Program& program,
+ const Dali::Internal::SceneGraph::RenderInstruction& instruction,
+ const SceneGraph::NodeDataProvider& node,
+ bool blend);
+
+ /**
+ * Setup and write data to the uniform buffer
+ *
+ * @param[in] bufferIndex The current buffer index
+ * @param[in] commandBuffer The command buffer to bind the uniform buffer to
+ * @param[in] node The node using this renderer
+ * @param[in] modelViewMatrix The model-view matrix.
+ * @param[in] viewMatrix The view matrix.
+ * @param[in] projectionMatrix The projection matrix.
+ * @param[in] size Size of the render item
+ * @param[in] blend If true, blending is enabled
+ * @param[in] instruction The render instruction
+ */
+ void WriteUniformBuffer(BufferIndex bufferIndex,
+ Graphics::CommandBuffer& commandBuffer,
+ Program* program,
+ const SceneGraph::RenderInstruction& instruction,
+ const SceneGraph::NodeDataProvider& node,
+ const Matrix& modelMatrix,
+ const Matrix& modelViewMatrix,
+ const Matrix& viewMatrix,
+ const Matrix& projectionMatrix,
+ const Vector3& size);
+
+ /**
+ * @brief Fill uniform buffer at index. Writes uniforms into given memory address
+ *
+ * @param[in] instruction The render instruction
+ * @param[in,out] ubo Target uniform buffer object
+ * @param[out] outBindings output bindings vector
+ * @param[out] offset output offset of the next uniform buffer memory address
+ * @param[in] updateBufferIndex update buffer index
+ */
+ void FillUniformBuffer(Program& program,
+ const SceneGraph::RenderInstruction& instruction,
+ Render::UniformBufferView& ubo,
+ std::vector<Graphics::UniformBufferBinding>*& outBindings,
+ uint32_t& offset,
+ BufferIndex updateBufferIndex);