【发布时间】:2017-06-01 15:25:15
【问题描述】:
我想用 OpenGL 渲染字体。我得到了一个包含所有字符的纹理和一个文件,其中保存了纹理上数字的每个位置。
例如:
char id=40 x=167 y=0 width=21 height=74 xoffset=-3 yoffset=33 xadvance=59 page=0 chnl=0
char id=41 x=188 y=0 width=21 height=74 xoffset=-3 yoffset=33 xadvance=59 page=0 chnl=0
我现在想把它渲染到一个四边形上。但是这通常是怎么做的呢?每个数字都有一个渲染调用?或者我应该渲染数字实例?这意味着我将纹理坐标和偏移等作为实例属性存储在我的 VBO 中。 这将是最难的解决方案,而且它必须更容易。 每个渲染调用一次可能需要很长时间才能渲染。
我看到了一个解决方案,其中创建了一个新的 VAO + VBO,其中四边形彼此相邻以适合文本。在那里,他将纹理坐标存储在顶点中。 但这不是很无效吗?我也想更改文本的内容。
有人知道我的问题的好方法吗?
【问题讨论】: