opengl – How to draw circles with proper anti-aliasing?

Following the example given in the first code snippet of pyglet’s official documentation about shapes I clearly get a jagged edge to the circle, it is clearly not anti-aliased in any successful way on my system at least. Here’s my code and a screenshot:

import pyglet
from pyglet import shapes

window = pyglet.window.Window(fullscreen=True)
batch =

circle = shapes.Circle(700, 150, 100, color=(50, 225, 30), batch=batch)

def on_draw():

So I am wondering whether it is so that pyglet does not directly cater for anti-aliasing with arcs, circles and lines.

And, how would you approach getting smooth circle/arc edges and smooth lines, using pyglet ― would you recommend a particular intervening (python) library for drawing smoothly-edged shapes? would you call OpenGL from pyglet’s own OpenGL bindings to smoothly accomplish it?

A related discussion from over ten years ago:
Pyglet OpenGL drawing anti-aliasing

Read more here: Source link