+ void AddTexture(TextureSet& textureSet, PixelData& data, Sampler& sampler, unsigned int textureSetIndex);
+
+ /**
+ * @brief Create a texture in textureSet and add it.
+ * @param[in] textureSet The textureSet to which the texture will be added.
+ * @param[in] tilingInfo The tiling infomation to be uploaded to texture.
+ * @param[in] data The PixelData to be uploaded to texture.
+ * @param[in] sampler The sampler.
+ * @param[in] textureSetIndex The Index of TextureSet.
+ */
+ void AddTilingTexture(TextureSet& textureSet, TilingInfo& tilingInfo, PixelData& data, Sampler& sampler, unsigned int textureSetIndex);
+
+ /**
+ * @brief Create the text's texture. It will use cached shader feature for text visual.
+ * @param[in] info This is the information you need to create a Tiling.
+ * @param[in] renderer The renderer to which the TextureSet will be added.
+ * @param[in] sampler The sampler.
+ */
+ void CreateTextureSet(TilingInfo& info, VisualRenderer& renderer, Sampler& sampler);
+
+ /**
+ * Create renderer of the text for rendering.
+ * @param[in] actor The actor.
+ * @param[in] size The texture size.
+ * @param[in] hasMultipleTextColors Whether the text contains multiple colors.
+ * @param[in] containsColorGlyph Whether the text contains color glyph.
+ * @param[in] styleEnabled Whether the text contains any styles (e.g. shadow, underline, etc.).
+ * @param[in] isOverlayStyle Whether the style needs to overlay on the text (e.g. strikethrough, underline, etc.).
+ */
+ void AddRenderer(Actor& actor, const Vector2& size, bool hasMultipleTextColors, bool containsColorGlyph, bool styleEnabled, bool isOverlayStyle);
+
+ /**
+ * Get the texture of the text for rendering. It will use cached shader feature for text visual.
+ * @param[in] size The texture size.
+ */
+ TextureSet GetTextTexture(const Vector2& size);