Hello,
I found some things to improve the quality of the shadow mapping, and
written in more comments.
http://rene.f0o.com/~rene/stuff/shadows_rd.zip
It also by default uses a polygon as a floor, and a teapot from GLUT.
There's a constant at the top of demoShadows.py which changes this.
However the objects you draw are a very simple part of this demo, they
could be anything really. The complexity comes from the other code.
I think maybe the glPolygonOffset call may have something to do with
it... but haven't managed to get the call to do anything. I tried
glScale, and glTranslate, but that seems to be wrong - and in one
paper it says you can't use translate/scale but have to use
glPolygonOffset.
The main thing which improved quality for me was to use
GL_DEPTH_COMPONENT32 instead of GL_DEPTH_COMPONENT with the
glTexImage2D call. GL_DEPTH_COMPONENT lets the driver pick the
resolution (which for this Imac as only 8 bit).
I haven't managed to increase the resolution of the shadow map
successfully.