X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Ffreeglut_geometry.c;h=3f1d24e9b6227e1c279a0a041213628e217df515;hb=fc3fee8fa830aaba7aaa585cb021d5867c89385d;hp=8122a5b7aa98ac99a8b85e5737f66cd8abced75d;hpb=d1d57758967d67f5588cd5d3ce49cb3073eae527;p=freeglut diff --git a/src/freeglut_geometry.c b/src/freeglut_geometry.c index 8122a5b..3f1d24e 100644 --- a/src/freeglut_geometry.c +++ b/src/freeglut_geometry.c @@ -29,9 +29,7 @@ #include "config.h" #endif -#include "../include/GL/freeglut.h" - - +#include #include "freeglut_internal.h" /* @@ -77,9 +75,7 @@ void FGAPIENTRY glutWireCube( GLdouble dSize ) # define V(a,b,c) glVertex3d( a size, b size, c size ); # define N(a,b,c) glNormal3d( a, b, c ); - /* - * PWO: I dared to convert the code to use macros... - */ + /* PWO: I dared to convert the code to use macros... */ glBegin( GL_LINE_LOOP ); N( 1.0, 0.0, 0.0); V(+,-,+); V(+,-,-); V(+,+,-); V(+,+,+); glEnd(); glBegin( GL_LINE_LOOP ); N( 0.0, 1.0, 0.0); V(+,+,+); V(+,+,-); V(-,+,-); V(-,+,+); glEnd(); glBegin( GL_LINE_LOOP ); N( 0.0, 0.0, 1.0); V(+,+,+); V(-,+,+); V(-,-,+); V(+,-,+); glEnd(); @@ -101,9 +97,7 @@ void FGAPIENTRY glutSolidCube( GLdouble dSize ) # define V(a,b,c) glVertex3d( a size, b size, c size ); # define N(a,b,c) glNormal3d( a, b, c ); - /* - * PWO: Again, I dared to convert the code to use macros... - */ + /* PWO: Again, I dared to convert the code to use macros... */ glBegin( GL_QUADS ); N( 1.0, 0.0, 0.0); V(+,-,+); V(+,-,-); V(+,+,-); V(+,+,+); N( 0.0, 1.0, 0.0); V(+,+,+); V(+,+,-); V(-,+,-); V(-,+,+); @@ -199,7 +193,7 @@ void FGAPIENTRY glutSolidSphere(GLdouble radius, GLint slices, GLint stacks) glVertex3d(0,0,radius); for (j=slices; j>=0; j--) - { + { glNormal3d(cost1[j]*r1, sint1[j]*r1, z1 ); glVertex3d(cost1[j]*r1*radius, sint1[j]*r1*radius, z1*radius); } @@ -265,7 +259,7 @@ void FGAPIENTRY glutWireSphere(GLdouble radius, GLint slices, GLint stacks) double x,y,z; /* Pre-computed circle */ - + double *sint1,*cost1; double *sint2,*cost2; circleTable(&sint1,&cost1,-slices ); @@ -595,9 +589,7 @@ void FGAPIENTRY glutWireTorus( GLdouble dInnerRadius, GLdouble dOuterRadius, GLi int i, j; double spsi, cpsi, sphi, cphi ; - /* - * Allocate the vertices array - */ + /* Allocate the vertices array */ vertex = (double *)calloc( sizeof(double), 3 * nSides * nRings ); normal = (double *)calloc( sizeof(double), 3 * nSides * nRings ); @@ -673,15 +665,11 @@ void FGAPIENTRY glutSolidTorus( GLdouble dInnerRadius, GLdouble dOuterRadius, GL int i, j; double spsi, cpsi, sphi, cphi ; - /* - * Increment the number of sides and rings to allow for one more point than surface - */ + /* Increment the number of sides and rings to allow for one more point than surface */ nSides ++ ; nRings ++ ; - /* - * Allocate the vertices array - */ + /* Allocate the vertices array */ vertex = (double *)calloc( sizeof(double), 3 * nSides * nRings ); normal = (double *)calloc( sizeof(double), 3 * nSides * nRings ); @@ -746,7 +734,8 @@ void FGAPIENTRY glutWireDodecahedron( void ) /* Magic Numbers: It is possible to create a dodecahedron by attaching two pentagons to each face of * of a cube. The coordinates of the points are: * (+-x,0, z); (+-1, 1, 1); (0, z, x ) - * where x = 0.61803398875 and z = 1.61803398875. + * where x = (-1 + sqrt(5))/2, z = (1 + sqrt(5))/2 or + * x = 0.61803398875 and z = 1.61803398875. */ glBegin ( GL_LINE_LOOP ) ; glNormal3d ( 0.0, 0.525731112119, 0.850650808354 ) ; glVertex3d ( 0.0, 1.61803398875, 0.61803398875 ) ; glVertex3d ( -1.0, 1.0, 1.0 ) ; glVertex3d ( -0.61803398875, 0.0, 1.61803398875 ) ; glVertex3d ( 0.61803398875, 0.0, 1.61803398875 ) ; glVertex3d ( 1.0, 1.0, 1.0 ) ; @@ -796,7 +785,8 @@ void FGAPIENTRY glutSolidDodecahedron( void ) /* Magic Numbers: It is possible to create a dodecahedron by attaching two pentagons to each face of * of a cube. The coordinates of the points are: * (+-x,0, z); (+-1, 1, 1); (0, z, x ) - * where x = 0.61803398875 and z = 1.61803398875. + * where x = (-1 + sqrt(5))/2, z = (1 + sqrt(5))/2 or + * x = 0.61803398875 and z = 1.61803398875. */ glBegin ( GL_POLYGON ) ; glNormal3d ( 0.0, 0.525731112119, 0.850650808354 ) ; glVertex3d ( 0.0, 1.61803398875, 0.61803398875 ) ; glVertex3d ( -1.0, 1.0, 1.0 ) ; glVertex3d ( -0.61803398875, 0.0, 1.61803398875 ) ; glVertex3d ( 0.61803398875, 0.0, 1.61803398875 ) ; glVertex3d ( 1.0, 1.0, 1.0 ) ;