c++ - 只渲染部分文本 FTGL、OpenGL

标签 c++ opengl text fonts ftgl

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

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

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

不幸的是,由于调整了它所在的容器的大小,显示文本的 Button 被部分隐藏了。我能够毫无问题地绘制 Button 的背景以适合容器,但我在对文本执行相同操作时遇到了问题。是否有可能以某种方式只绘制给定宽度的文本,而忽略其余部分?

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

Problem with drawing only a part of text

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

最佳答案

您可以像这样尝试使用 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

关于c++ - 只渲染部分文本 FTGL、OpenGL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13564895/

相关文章:

c++ - 数组初始化需要一个大括号括起来的初始化列表

performance - "non power of 2 textures"的 GL_TEXTURE_2D 性能如何?

c# - 打印和打印在 C# 中预览位图和带有文本的标签

regex - 用随机值替换文本文件中的模式

C++ : Confused in dealing with multiple classes

c++ - 使用boost shared_ptr时使用默认参数

c++ - 在运行时更改 const wchar_t*

java - slick2d - statebasedgame错误 - 在当前线程中找不到OpenGL上下文

c++ - 在 C++ OpenGL 程序中找出显卡驱动程序的名称

java - 如何在 ComboBox ListView 中显示动态变化的文本