Vierecke werden daran nichts ändern, denn die werden intern auch nur in Dreiecke zerlegt. Das Problem liegt daran, dass diese Darstellung ohne Perspektive statt findet. Und ich weiß nicht genau wie ich das erklären soll. Aber
OpenGL weiß nicht wie es die Texturkoordinaten interpolieren soll. Habe mal dein Bild angehangen und eingezeichnet wie in etwas die horizontale Mitte verlaufen müsste.
Abhelfen könntest du das indem du mit Shadern die Texturkoordinaten so berechnest dass sie passen. Oder aber in dem du die Fläche unterteilst. Und zwar würdest du so die Texturkoordinaten mehr oder weniger in eine bestimmte Bahn zwingen. Das Problem würde zwar weiterhin bestehen aber es würde nicht mehr ganz so stark auffallen.
Das zweite Bild ist ein Triangle Fan. Also lediglich 2 Flächen mehr. Allerdings liegt der Punkt genau in der Mitte was den positiven Effekt begünstigt.