There are three demo programs here that illustrate how openGL works with Bezier splines.

testcurve.c draws three different curves. There is a 2-segment black curve that looks like a curly brace, a red circle-like curve drawn with 4 segments and 3 control points on each side of a square, and a green curve made up of 10 segments, with control points drawn directly on a circle.Since there are so many points and such small segments, this closely approximates an actual circle.

testpatch.c draws a surface made up of two bezier patches. The surface is rotated so you can see what it is like from all sides and how the light interacts with it.

closedSurface.c takes the "circle" control points from the red curve in testcurve.c and extrudes them vertically to make a sequence of level curves which form a vase. The circle had 13 control points, making 4 segments. This figure makes 7 copies of these points, allowing it to form two rows of 4 patches each, so there are a total of 8 patches here.

Here is the makefile for these programs.