【问题标题】:Rendering only a part of text FTGL, OpenGL仅渲染部分文本 FTGL、OpenGL
【发布时间】:2026-02-06 06:25:01
【问题描述】:

我正在使用 FTGL 库在我的 C++ 项目中呈现文本。

我可以使用以下方法轻松呈现文本:

CFontManager::Instance().renderWrappedText(font, lineLength, position, text);

不幸的是,由于调整了它所在的容器的大小,这个显示文本的按钮被部分隐藏了。我可以毫无问题地绘制 Button 的背景以适合容器,但是我在处理文本时遇到了问题。是否可以以某种方式仅绘制给定宽度的文本而其余的则忽略?

这是一个显示我的问题的屏幕:

如您所见,“单击此处”按钮已正确绘制,但我无法对“单击此处”文本执行相同操作。

【问题讨论】:

    标签: c++ opengl text fonts ftgl


    【解决方案1】:

    您可以尝试像这样使用glScissor

    glEnable(GL_SCISSOR_TEST);
    glScissor(windowPosition.x, windowPosition.y, windowWidth, windowHeight);
    // here put your draw method of your window and objects inside it
    glDisable(GL_SCISSOR_TEST);
    

    更多信息:http://www.opengl.org/sdk/docs/man/xhtml/glScissor.xml

    【讨论】: