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

发布于 2024-12-03 19:54:52 字数 319 浏览 2 评论 0原文

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

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

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

I'm in the process of constructing a user interface for my C/C++ simulation application using gtk+, and moving away from command-line control. I've used gtkglext to embed my OpenGL rendering of the simulation to reside inside a widget. Initially I used OpenGL + GLUT to do everything, but since constructing the UI and moving to gtkglext I'm having to supplant GLUT entirely.

The way I used to render text 'inside' the OpenGL rendering window was to use glutStrokeCharacter. Should I now use Pango instead? The important thing is to be able to rotate and scale the text in the same way as the rest of the simulation data -- for labeling axes, drawing scales, etc.

I've been looking at the font-pangoft2.c example. Any further references would be helpful.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

萌梦深 2024-12-10 19:54:52

有什么理由需要“完全取代过剩”?即使 OpenGL 上下文是由 gtkglext 创建的,您仍然应该能够使用 glutStrokeCharacter。

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

Any reason why you need to "supplant GLUT entirely"? You should be able to still use glutStrokeCharacter even though the OpenGL context is created by gtkglext.

From the sound of it you won't have a large amount of text. One option may be to use GtkLabel to draw to a GdkPixmap, then upload the pixmap as an OpenGL texture.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文