Ich versuche, eine Zeichenfolge in OpenGL mit LWJGL aus einem Texturatlas mit allen Zeichen nebeneinander zu zeichnen.Quad-Zeichnung mit GL_TRIANGLE_STRIP
nun für jedes Zeichen Ich füge drei Eckpunkte auf das Netz, die ich bin ermüdet, um durch
GL11.glDrawArrays(GL11.GL_TRIANGLE_STRIP, 0, text.getModel().getRawModel().getVertexCount());
Zum Beispiel gemacht werden werden die Zeichenfolge „Thomas“ zu machen, dass bis Ende der als die folgenden (mit Offset hinzugefügt, um das Problem besser zu sehen):
Wie Sie sehen können, gibt es einen seltsamen „Quad“ zwischen jedem Zeichen, und ich weiß nicht, warum :-( ich denke, das ich zu vielen Eckpunkten hinzufüge pro Zeichen, aber ich erhielt keine Ahnung, es besser zu machen ...
Vertices (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,
Texture Coords (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
Was ist das Indexarray? – rwols
@rwols Es gibt kein Index-Array, weil ich dachte, dass ich keinen Eckpunkt zweimal verwenden werde. Nur die Eckpunkte und Texturkoordinaten sind im VAO gespeichert. –
Dann wird 'GL_TRIANGLE_STRIP' wahrscheinlich nicht funktionieren – rwols