Collaboration diagram for Geometric Rendering:
Functions  
void  glutSolidCone (GLdouble base, GLdouble height, GLint slices, GLint stacks) 
void  glutSolidCube (GLdouble width) 
void  glutSolidCuboctahedron (GLdouble s) 
void  glutSolidCylinder (GLdouble radius, GLdouble height, GLint slices, GLint stacks) 
void  glutSolidDodecahedron (void) 
void  glutSolidIcosahedron (void) 
void  glutSolidOctahedron (void) 
void  glutSolidRhombicDodecahedron (void) 
void  glutSolidSierpinskiSponge (int num_levels, const GLdouble offset[3], GLdouble scale) 
void  glutSolidSphere (GLdouble radius, GLint slices, GLint stacks) 
void  glutSolidTeapot (GLdouble size) 
void  glutSolidTetrahedron (void) 
void  glutSolidTorus (GLdouble dInnerRadius, GLdouble dOuterRadius, GLint nSides, GLint nRings) 
void  glutWireCone (GLdouble base, GLdouble height, GLint slices, GLint stacks) 
void  glutWireCube (GLdouble width) 
void  glutWireCuboctahedron (GLdouble s) 
void  glutWireCylinder (GLdouble radius, GLdouble height, GLint slices, GLint stacks) 
void  glutWireDodecahedron (void) 
void  glutWireIcosahedron (void) 
void  glutWireOctahedron (void) 
void  glutWireRhombicDodecahedron (void) 
void  glutWireSierpinskiSponge (int num_levels, const GLdouble offset[3], GLdouble scale) 
void  glutWireSphere (GLdouble radius, GLint slices, GLint stacks) 
void  glutWireTeapot (GLdouble size) 
void  glutWireTetrahedron (void) 
void  glutWireTorus (GLdouble dInnerRadius, GLdouble dOuterRadius, GLint nSides, GLint nRings) 
The goals are:
A problem with these functions is that they are widely varying in their parameters. Some take no parameters at all. Some allow you to specify mesh densities. For purposes of lighting, even simple, single planes sometimes benefit from finer mesh densities. Most objects are drawn at 1 unit radius, but some use other sizes (such as sqrt(3) radius).
This library provides some elementary objects that are more or less standard fare for computer graphics. The objects all provide surface normals.
Contains numerous fixes relative to the freeglut code from which OpenGLUT sprang, which had many bugs with the winding of facets. Those fixes were made in OpenGLUT and freeglut lifted the fixes back (without crediting the hard work of the OpenGLUT project, alas). (Ironically, because freeglut was uncritically lifting OpenGLUT code, they were unaware of some of the fixes that they received in the process of blindly copying OpenGLUT work. By mixing and matching unmodified freeglut code and OpenGLUT code, freeglut further introduced bugs to their bitmapped font rendering, but that's a story for another time.)

Draw a solid cone.


Draw a solid cube centered at the origin.


Draw a solid "cuboctahedron".
The scaling parameter, s, allows you to adjust the size of the resulting object. The object is centered at the origin.


Draw a solid cylinder.


Draw a solid dodecahedron. This function draws a regular, solid, 12sided polyhedron centered at the origin. The distance from the origin to the vertices is sqrt(3). The facets are pentagons.


Draw a solid icosahedron. This function draws a regular, solid 20sided polyhedron centered at the origin. The distance from the origin to the vertices is 1.


Draw a solid octahedron. This function draws a regular, solid 8sided polyhedron centered at the origin. The vertices are at (+/1, 0, 0), (0, +/1, 0), (0, 0, +/1).


Draw a solid rhombic dodecahedron This function draws a solidshaded dodecahedron whose facets are rhombic and whose vertices are at unit radius. No facet lies normal to any coordinate axes. The polyhedron is centered at the origin.


Draw a solid Spierspinski's sponge.
Here is the call graph for this function: 

Draw a solid sphere centered at the origin.


Draw a solid teapot.
This is derived from SGI code. It should also be the same as the teapot modeled by Martin Newell in 1975.


Draw a solid tetrahedron. This function draws a regular, solid 4sided polyhedron centered at the origin. The distance from the origin to the vertices is 1.


Draw a solid torus.
The torus parameters can be explored interactively with the OpenGLEAN shapes demo.


Draw a wireframe cone.


Draw a wireframe cube centered at the origin.


Draw a wireframe "cuboctahedron".
The scaling parameter, s, allows you to adjust the size of the resulting object. The object is centered at the origin.


Draw a wireframe cylinder.


Draw a wireframe dodecahedron. This function draws a regular, wireframe 12sided polyhedron centered at the origin. The distance from the origin to the vertices is sqrt(3). The facets are pentagons. No facet is normal any of the x, y, or z axes.


Draw a wireframe icosahedron. This function draws a regular, solid 20sided polyhedron centered at the origin. The distance from the origin to the vertices is 1. No facet is normal to any of the x, y, or z axes.


Draw a wireframe octahedron. This function draws a regular wireframe 8sided polyhedron centered at the origin. The vertices are at (+/1, 0, 0), (0, +/1, 0), (0, 0, +/1).


Draw a wireframe rhombic dodecahedron This function draws a wireframe dodecahedron whose facets are rhombic and whose vertices are at unit radius. No facet lies normal to any coordinate axes. The polyhedron is centered at the origin.


Draw a wireframe Spierspinski's sponge.
Here is the call graph for this function: 

Draw a wireframe sphere centered at the origin.


Draw a wireframe teapot.
This is derived from SGI code. It should also be the same as the teapot modeled by Martin Newell in 1975.


Draw a wireframe tetrahedron. This function draws a regular, wireframe 4sided polyhedron centered at the origin. The distance from the origin to the vertices is 1.


Draw a wireframe torus.
The torus parameters can be explored interactively with the OpenGLEAN shapes demo.

Supported in part by SourceForge.net.
Generated on Fri Sep 9 18:03:40 2005 for OpenGLEAN'sgleanshapes by
doxygen 1.4.3
The OpenGLEAN project is hosted by
SourceForge.