Teapot vs. Spheres -- confused

I am a bit confused about some of the glut models. First of all, what is the actual polygon count of the teapot model (glutSolidTeapot)? The reason I’m asking is because I am seeing some strange results on our 3D card. We’re using a Wildcat 4110 Pro card on a 733MHz Dell and when I render 24 solid spheres each with 900 polys (glutSolidShpere(1.0f, 30, 30)), we get over 80Hz update rate. This means we’re getting 900 * 24 * 80Hz = 1.7M polys per second. However, when I render a single teapot in the scene, the frame rate drops to about 65Hz. I thought the teapot contained a little over 3000 polygons. Why would there be this drop in the frame rate instead of an increase? Any information would be greatly appreciated. Thank you, in advance.

That’s easy to explain. Have a look in their implementation (glut_shapes and glut_teapot).

The sphere is done with the gluSphere() function which uses triangle strips AFAIK and the teapot is evaluated from the Bezier patch coordinates with glMap, glMapGrid, and glEvalMesh (slow).

glutSolidShpere(1.0f, 30, 30)) does not generate 900, but 1800 triangles.
The number of polygons in the teapot heavily depends on the grid parameter!! I think the minimum is 32 patches * 4 * 4 * 2 triangles. (I’ve once typed the coordintes out of Alan Watts computer Graphics book…ouch.)