寻找使用 FTGL 和 Qt (OpenGL) 的示例
我需要做一个简单的应用程序,将 3D 字体渲染为图像。 推荐的库是 FTGL ,我如何将它与 3dQt 结合起来?
i need to do simple application that render 3d fonts to image.
the recommended lib is FTGL , how can i combine it with 3dQt?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
OpenGL 并不关心您是否使用 Qt、glut、SDL 还是其他任何东西。因此,找到一个Qt的OpenGL示例,然后找到一个使用FTGL库的示例,并从Qt OpenGL示例开始将两者结合起来,并添加初始化FTGL库的代码并尝试渲染一些文本。
PS 不幸的是,我没有这样的例子,但它应该是直截了当的。
OpenGL doesn't care whether you are using Qt, glut, SDL or anything else. Therefore, find an OpenGL example for Qt, then find an example using FTGL library, and combine the two by starting from the Qt OpenGL example, and add the code to initialize FTGL library and try to render some text.
PS Unfortunately, I do not have such example, but it should be straight forward.
OpenGL确实关心您是否使用 Qt,因为 OpenGL 现在是一个巨大的状态机,其行为取决于上下文的初始化方式 - Qt 通过其对象行为来掩盖它,因为它使用 OpenGL 来渲染 UI。到目前为止,我无法找到任何使用示例,并且尝试将 glut 示例(来自 ftgl 本身)移植到 Qt 并没有产生字体渲染。我怀疑 Qt 干扰了 freetype 的使用(它在 QT 和 ftgl 中都使用)。
使用 Qt 的文本渲染子例程的缺点:
1) 它以小部件的 2d 坐标呈现,而不是 MVP 坐标
2) 每次调用该子例程时都会推送并重置投影和变换矩阵,并且使用 OpenGL 1.3 调用
OpenGL does care whether you are using Qt, because OpenGL now is a giant state machine, behavior dependent on how context was initialized - Qt obscures it by their objects behavior, because it uses OpenGL for rendering UI. So far I was unable to find any example of use, andy attempt to port glut example (from ftgl itself) to Qt didn't yield font rendering. I suspect that Qt interferes with freetype use (which is used both in QT and in ftgl).
Cons from using Qt's rendering subroutine for text:
1) it renders in 2d coords of widget, not in MVP coords
2) it pushes and resets projection and transform matrices with every call of that subroutine, and it uses OpenGl 1.3 calls