* @param[in] scene The scene to be rendered.
* @param[out] damagedRects containing damaged render items rects for this pass.
*/
- void PreRender(Integration::Scene& scene, std::vector<Rect<int>>& damagedRects);
+ void PreRender(RenderStatus& status, Integration::Scene& scene, std::vector<Rect<int>>& damagedRects);
/**
* Render a scene in the next frame. This method should be preceded by a call up PreRender.
*
* Note, Core does not take ownership of this processor.
* @param[in] processor The process to register
+ * @param[in] postProcessor set this processor required to be called after size negotiation. Default is false.
*/
- void RegisterProcessor(Processor& processor);
+ void RegisterProcessor(Processor& processor, bool postProcessor = false);
/**
* @brief Unregister a processor
* @param[in] processor The process to unregister
+ * @param[in] postProcessor True if the processor to be unregister is for post processor.
*/
- void UnregisterProcessor(Processor& processor);
+ void UnregisterProcessor(Processor& processor, bool postProcessor = false);
/**
* @brief Gets the Object registry.