Guus wrote another scientific OpenGL tutorial, storing ordinates as a one-dimensional texture for increased performances.
http://en.wikibooks.org/wiki/OpenGL_Programming/Scientific_OpenGL_Tutorial_02
I also went ahead and added a tutorial on two-sided lighting:
http://en.wikibooks.org/wiki/GLSL_Programming/GLUT/Two-Sided_Surfaces
Remember: this is free documentation that you can share and/or improve upon - make sure you do so