【问题标题】:How to render text in OpenGL menu-system smartly? [closed]如何巧妙地在 OpenGL 菜单系统中渲染文本? [关闭]
【发布时间】:2020-03-03 16:18:30
【问题描述】:

我想在 OpenGL 应用程序中制作一个简单的窗口系统。渲染带有文本框、按钮、复选框等的菜单。如何巧妙地渲染?

到目前为止,我有两个想法:

  • 在每一帧中,我将菜单的每个字符都渲染到屏幕上。
  • 我将菜单/窗口保存在纹理中,并且每帧只渲染此纹理。 (并且仅更新已更改的纹理部分。)

各有什么缺点?

【问题讨论】:

  • 两者都有其优点和缺点。把这个决定留给别人真的更容易吗?为什么不为两者制作示例实现并在之后检查您更喜欢哪个? (当然,“喜欢”可能涉及性能测量,但我怀疑在这种情况下性能是否是问题。实际上,无论哪种情况,我们都会谈论几个四边形......)

标签: c++ opengl menu text-rendering


【解决方案1】:

从第一个项目符号开始,然后可能稍后实施第二个项目符号作为优化。第二个项目符号有时称为“帧缓冲区缓存”。请注意,Dear ImGui(一个非常流行的可以使用 OpenGL 进行渲染的 GUI 库)不会为帧缓冲区缓存而烦恼。

如果您决定实现帧缓冲区缓存,您一开始所做的工作不会浪费,因为您将使用它来更新缓存。

【讨论】:

    猜你喜欢
    • 2010-11-04
    • 2015-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-06
    • 2022-12-03
    • 1970-01-01
    • 2020-05-12
    相关资源
    最近更新 更多