在 gtkglext 小部件内渲染文本 - 从 glut 到 pango
我正在使用 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
有什么理由需要“完全取代过剩”?即使 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.