我正在尝试在OpenGL中使用LWJGL从一个包含所有字符的纹理图集中绘制字符串。
现在,我要为每个字符添加三个顶点到网格中,该网格将由渲染。
例如,我正在尝试呈现字符串“Thomas”,结果如下(添加偏移量以更好地查看问题):
纹理坐标(2D):
现在,我要为每个字符添加三个顶点到网格中,该网格将由渲染。
GL11.glDrawArrays(GL11.GL_TRIANGLE_STRIP, 0, text.getModel().getRawModel().getVertexCount());
例如,我正在尝试呈现字符串“Thomas”,结果如下(添加偏移量以更好地查看问题):
正如您所看到的,每个字符之间都有一个奇怪的“quad”,我不知道为什么:-( 我认为我对每个字符添加了太多的顶点,但我不知道如何更好地处理它...
顶点(2D):
-0.3333333, 0.5875,
-0.24800003, 0.5875,
-0.3333333, 0.25,
-0.24800003, 0.25,
-0.11466664, 0.5875,
-0.029333353, 0.5875,
-0.11466664, 0.25,
-0.029333353, 0.25,
0.10399997, 0.5875,
0.18933332, 0.5875,
0.10399997, 0.25,
0.18933332, 0.25,
0.32266665, 0.5875,
0.408, 0.5875,
0.32266665, 0.25,
0.408, 0.25,
0.5413333, 0.5875,
0.62666667, 0.5875,
0.5413333, 0.25,
0.62666667, 0.25,
0.76, 0.5875,
0.84533334, 0.5875,
0.76, 0.25,
0.84533334, 0.25,
纹理坐标(2D):
0.23318386, 1.0,
0.23766816, 1.0,
0.23318386, 0.0,
0.23766816, 0.0,
0.32286996, 1.0,
0.32735425, 1.0,
0.32286996, 0.0,
0.32735425, 0.0,
0.3542601, 1.0,
0.35874438, 1.0,
0.3542601, 0.0,
0.35874438, 0.0,
0.34529147, 1.0,
0.3497758, 1.0,
0.34529147, 0.0,
0.3497758, 0.0,
0.29147983, 1.0,
0.29596412, 1.0,
0.29147983, 0.0,
0.29596412, 0.0,
0.3721973, 1.0,
0.37668163, 1.0,
0.3721973, 0.0,
0.37668163, 0.0
GL_TRIANGLE_STRIP
可能不适用。 - rwols