The demo proram with source can be found here: Bezier Patch Renderer (February 2001). It’s written in GLUT so it should compile on any GLUT compatible platform, including GNU/Linux. I have not done much to optimize the program beyond the basics, it should be fairly easy to understand. You can manipulate the setting in the program with the keyboard, you can turn lighting on/off and toggle wireframe on/off and change the number of evaluations used to draw the patch. By manipulation those evaluation params you should be able to make some kind of simple runtime LOD rendering by decreasing the number of evaluations as the patch moves away from you. The supplied source has two classes, CCubicCurve and CCubicPatch. Although the program only draws patches you can isolate the CCubicCurve class and use it to make curves, they can be either hermite or bezier. The class is creat for camera movement animations.