如何在 Freetype 中渲染 运行 文本动画?

How do I render running text animation in Freetype?

我似乎在任何地方都找不到这个,但是有什么方法可以使用 Freetype 字体渲染简单的文本动画。

应该类似于下面的gif

我考虑过将每个字母更新到文本中,但这似乎效率不高。

可能的解决方案:

void TextComponent::TypingTextAnimation(float dt)
{
    m_dt += dt;
    if (m_dt >= typingSpeed)
    {
        ++m_length;
        m_dt = 0.f;

        if (loop)
        {
            if (m_length > (int)text.length())
                m_length = 0;
        }
        m_length = std::clamp(m_length, 0, (int)text.length());
    }
    subtext = text.substr(0, m_length);
}