在 gtkglext 小部件中渲染文本 - 从 glut 到 pango

Posted

技术标签:

【中文标题】在 gtkglext 小部件中渲染文本 - 从 glut 到 pango【英文标题】:Rendering text inside gtkglext widget - from glut to pango 【发布时间】:2011-09-10 19:34:28 【问题描述】:

我正在使用 gtk+ 为我的 C/C++ 模拟应用程序构建用户界面,并摆脱命令行控制。我使用 gtkglext 将模拟的 OpenGL 渲染嵌入到小部件中。最初我使用 OpenGL + GLUT 来完成所有工作,但自从构建 UI 并迁移到 gtkglext 后,我​​不得不完全取代 GLUT。

我用来在 OpenGL 渲染窗口“内部”渲染文本的方法是使用 glutStrokeCharacter。我现在应该改用 Pango 吗?重要的是能够以与其余模拟数据相同的方式旋转和缩放文本——用于标记轴、绘制比例等。

我一直在查看 font-pangoft2.c 示例。任何进一步的参考都会有所帮助。

【问题讨论】:

【参考方案1】:

您为什么需要“完全取代 GLUT”?即使 OpenGL 上下文是由 gtkglext 创建的,您应该仍然可以使用 glutStrokeCharacter。

从它的声音你不会有大量的文字。一种选择可能是使用 GtkLabel 绘制到 GdkPixmap,然后将像素图作为 OpenGL 纹理上传。

【讨论】:

以上是关于在 gtkglext 小部件中渲染文本 - 从 glut 到 pango的主要内容,如果未能解决你的问题,请参考以下文章

对于 TextField 小部件中的长文本,如何在未聚焦后从头开始显示文本?

从Android小部件的文本框中检索文本?

如何从滚动文本小部件中获取文本?

从 Qt 中的文本文件填充表格小部件

Flutter:从文本小部件中获取单个单词

淘宝小部件 Canvas 渲染流程与原理全解析