GLU Tesselator

Hello, I am having a bit of bother with the glu tesselator. It seems like if I feed it points that are too close together it gets upset.

Take a look at these good examples of what I mean…



The geometry in this case is generated by four calls to my Arc() function (one for each corner). I arrange the vertices to be all in CCW order in case it matters.

The first image is how it should look. In this case I had my arc generator set to 39 steps per 360 degrees.

As soon as I use more than 39 steps per revolution for my arc generator things go bad - like you see in the second image.

My coordinates are all 0 <= xyz <= 1 (z = 0). I call gluTessNormal, gluTessPolygon / gluTessContour and I have callbacks for combine, begin, vertex and error.

I know I don’t need the tesselator for simple convex polygons - this is just an example of what goes wrong.

Does anyone know why I am getting this breakdown?