Die "Qualität" wird nicht schlechter, sondern die Kugel-Vertice werden abgeschnitten. Das liegt an dem
zFar-Wert, den du bei der Funktion
gluPerspective übergibst. Probier mal größere Werte aus.
Du solltest aber aufpassen, dass du die Distanz zwischen
zNear und
zFar möglichst klein hällst. Diese beiden Werte skalieren den Tiefenpuffer, der meinstens eine Genauigkeit von 24 Bit hat (je nach Einstellung). Wenn du die Distanz der beiden Werte zu groß wählst, kann es sein, dass zwei Vertice die gleiche Position im zPuffer bekommen, obwohl ihre z-Werte unterschiedlich sind.
Ich benutze meinstens folgende Werte:
zNear: 0,1
zFar: 128