我想知道如何在OpenGL中快速渲染文本.
目前,我正在读取一个真正的字体,并为每种使用的字体动态生成包含所有ASCII字符的纹理.每个纹理只生成一次并保留供以后使用.
在绘制阶段,我逐行绘制所有内容.
我在内存上有一个静态数组,计算字距,修改线的顶点位置和纹理坐标.然后我绑定相应的纹理并渲染线.
不幸的是,这似乎很慢.有没有更好的办法?
将渲染的文本绘制到纹理,然后将该纹理绘制到屏幕上.在帧之间存储纹理.您需要管理一些删除屏幕上不再可见的文本,但这应该更快.
图形库通常将其抽象为String类,一旦将其绘制到屏幕上,就会记住它绘制的纹理,如果内部字符串发生更改,则会使其无效.