如何巧妙地在 OpenGL 菜单系统中渲染文本?
How to render text in OpenGL menu-system smartly?
我想在 OpenGL 应用程序中制作一个简单的窗口系统。使用文本框、按钮、复选框等呈现菜单。如何巧妙地呈现它?
到目前为止我有两个想法:
- 在每一帧中,我都会将菜单的每个字符渲染到屏幕上。
- 我将 menu/window 保存在一个纹理中,并且每帧只渲染这个纹理。 (并且只更新已更改的纹理部分。)
每个的缺点是什么?
从第一个项目符号开始,然后可能稍后实施第二个项目符号作为优化。第二个项目符号有时称为 "framebuffer caching"。请注意,Dear ImGui(一个非常流行的 GUI 库,可以使用 OpenGL 进行渲染)不关心帧缓冲区缓存。
如果您决定实施帧缓冲区缓存,那么您一开始所做的工作就不会白费,因为您将使用它来更新缓存。
我想在 OpenGL 应用程序中制作一个简单的窗口系统。使用文本框、按钮、复选框等呈现菜单。如何巧妙地呈现它?
到目前为止我有两个想法:
- 在每一帧中,我都会将菜单的每个字符渲染到屏幕上。
- 我将 menu/window 保存在一个纹理中,并且每帧只渲染这个纹理。 (并且只更新已更改的纹理部分。)
每个的缺点是什么?
从第一个项目符号开始,然后可能稍后实施第二个项目符号作为优化。第二个项目符号有时称为 "framebuffer caching"。请注意,Dear ImGui(一个非常流行的 GUI 库,可以使用 OpenGL 进行渲染)不关心帧缓冲区缓存。
如果您决定实施帧缓冲区缓存,那么您一开始所做的工作就不会白费,因为您将使用它来更新缓存。