gpt4 book ai didi

c++ - 用OpenGL渲染大量文本的最佳方法是什么

转载 作者:行者123 更新时间:2023-12-02 10:38:24 25 4
gpt4 key购买 nike

我使用的软件需要在屏幕上打印大量文本,大约200到400个字符串以及许多唯一字符(某些对象由字符表示),该软件已经在使用OpenGL绘制许多内容。
我已经解决了文本渲染问题,并且能够渲染文本,但是使用200 draw call lead绘制了200多个字符串会导致性能问题。

该软件仅以2D绘图。

重要的是要注意,我的软件在装有旧显卡的32位计算机上运行,​​不能使用2.0以上的最新版本的OpenGL。

您认为最好的选择是什么?

  • 使用一个包含所有信息的大缓冲区,以一种字体的形式对所有内容进行渲染。
  • 渲染纹理中的每个字符串,然后对每个字符串进行一次绘制调用。 (文本变化不大,最多每秒钟)
  • 还有其他想法吗?
  • 最佳答案

    据我了解,标准方法是制作字体图集纹理。在这里您可以将字形栅格化到其中,并将栅格化字形的uv坐标保存到查找表中。然后批处理顶点,并通过使用单个纹理(您的图集)并为所有顶点位置使用一个缓冲区,在一次绘制调用中绘制所有文本。

    只要您制作足够大的纹理,就可以将所有字体和字符大小写入相同的图集。您也可以使用第二个Atlas纹理作为唯一字符。

    关于c++ - 用OpenGL渲染大量文本的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58299573/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com