如何在OpenGL菜单系统中实现文本的智能渲染



我想在OpenGL应用程序中创建一个简单的窗口系统。用文本框、按钮、复选框等呈现菜单。如何智能地呈现?

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

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

每种方法都有哪些缺点?

从第一个项目符号开始,然后可能实现第二个项目符号作为优化。第二个项目符号有时被称为"帧缓冲区缓存"。请注意,Dear ImGui(一个非常流行的GUI库,可以使用OpenGL进行渲染(并不关心帧缓冲区缓存。

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

最新更新