outer radius parameter in shapes demo now doubles as size for all the

other objects that support a size (luckily many don't, just glScale!)
moved text a bit more to corner of screen so its more out of the way



git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1151 7f0cb862-5218-0410-a997-914c9d46530a
This commit is contained in:
dcnieho 2012-03-16 05:08:39 +00:00
parent 92b1d69dd4
commit f692084300

View File

@ -60,7 +60,7 @@ static int function_index;
static int slices = 16; static int slices = 16;
static int stacks = 16; static int stacks = 16;
static double irad = .25; static double irad = .25;
static double orad = 1.0; static double orad = 1.0; /* doubles as size for objects other than Torus */
static int depth = 4; static int depth = 4;
static double offset[ 3 ] = { 0, 0, 0 }; static double offset[ 3 ] = { 0, 0, 0 };
static GLboolean show_info = GL_TRUE; static GLboolean show_info = GL_TRUE;
@ -68,12 +68,12 @@ static GLboolean show_info = GL_TRUE;
/* /*
* These one-liners draw particular objects, fetching appropriate * These one-liners draw particular objects, fetching appropriate
* information from the above globals. They are just thin wrappers * information from the above globals. They are just thin wrappers
* for the OpenGLUT objects. * for the FreeGLUT objects.
*/ */
static void drawSolidTetrahedron(void) { glutSolidTetrahedron (); } static void drawSolidTetrahedron(void) { glutSolidTetrahedron (); }
static void drawWireTetrahedron(void) { glutWireTetrahedron (); } static void drawWireTetrahedron(void) { glutWireTetrahedron (); }
static void drawSolidCube(void) { glutSolidCube(1); } static void drawSolidCube(void) { glutSolidCube(orad); } /* orad doubles as size input */
static void drawWireCube(void) { glutWireCube(1); } static void drawWireCube(void) { glutWireCube(orad); } /* orad doubles as size input */
static void drawSolidOctahedron(void) { glutSolidOctahedron (); } static void drawSolidOctahedron(void) { glutSolidOctahedron (); }
static void drawWireOctahedron(void) { glutWireOctahedron (); } static void drawWireOctahedron(void) { glutWireOctahedron (); }
static void drawSolidDodecahedron(void) { glutSolidDodecahedron (); } static void drawSolidDodecahedron(void) { glutSolidDodecahedron (); }
@ -82,18 +82,18 @@ static void drawSolidRhombicDodecahedron(void) { glutSolidRhombicDodecahedron ()
static void drawWireRhombicDodecahedron(void) { glutWireRhombicDodecahedron (); } static void drawWireRhombicDodecahedron(void) { glutWireRhombicDodecahedron (); }
static void drawSolidIcosahedron(void) { glutSolidIcosahedron (); } static void drawSolidIcosahedron(void) { glutSolidIcosahedron (); }
static void drawWireIcosahedron(void) { glutWireIcosahedron (); } static void drawWireIcosahedron(void) { glutWireIcosahedron (); }
static void drawSolidSierpinskiSponge(void) { glutSolidSierpinskiSponge (depth, offset, 1); } static void drawSolidSierpinskiSponge(void) { glutSolidSierpinskiSponge (depth, offset, orad);} /* orad doubles as size input */
static void drawWireSierpinskiSponge(void) { glutWireSierpinskiSponge (depth, offset, 1); } static void drawWireSierpinskiSponge(void) { glutWireSierpinskiSponge (depth, offset, orad); } /* orad doubles as size input */
static void drawSolidTeapot(void) { glutSolidTeapot(1); } static void drawSolidTeapot(void) { glutSolidTeapot(orad); } /* orad doubles as size input */
static void drawWireTeapot(void) { glutWireTeapot(1); } static void drawWireTeapot(void) { glutWireTeapot(orad); } /* orad doubles as size input */
static void drawSolidTorus(void) { glutSolidTorus(irad,orad,slices,stacks); } static void drawSolidTorus(void) { glutSolidTorus(irad,orad,slices,stacks); }
static void drawWireTorus(void) { glutWireTorus (irad,orad,slices,stacks); } static void drawWireTorus(void) { glutWireTorus (irad,orad,slices,stacks); }
static void drawSolidSphere(void) { glutSolidSphere(1,slices,stacks); } static void drawSolidSphere(void) { glutSolidSphere(orad,slices,stacks); } /* orad doubles as size input */
static void drawWireSphere(void) { glutWireSphere(1,slices,stacks); } static void drawWireSphere(void) { glutWireSphere(orad,slices,stacks); } /* orad doubles as size input */
static void drawSolidCone(void) { glutSolidCone(1,1,slices,stacks); } static void drawSolidCone(void) { glutSolidCone(orad,orad,slices,stacks); } /* orad doubles as size input */
static void drawWireCone(void) { glutWireCone(1,1,slices,stacks); } static void drawWireCone(void) { glutWireCone(orad,orad,slices,stacks); } /* orad doubles as size input */
static void drawSolidCylinder(void) { glutSolidCylinder(1,1,slices,stacks); } static void drawSolidCylinder(void) { glutSolidCylinder(orad,orad,slices,stacks); } /* orad doubles as size input */
static void drawWireCylinder(void) { glutWireCylinder(1,1,slices,stacks); } static void drawWireCylinder(void) { glutWireCylinder(orad,orad,slices,stacks); } /* orad doubles as size input */
#define RADIUS 1.0f #define RADIUS 1.0f
@ -174,7 +174,7 @@ static const entry table [] =
#undef ENTRY #undef ENTRY
/*! /*!
Does printf()-like work using freeglut/OpenGLUT Does printf()-like work using freeglut
glutBitmapString(). Uses a fixed font. Prints glutBitmapString(). Uses a fixed font. Prints
at the indicated row/column position. at the indicated row/column position.
@ -210,7 +210,7 @@ static void shapesPrintf (int row, int col, const char *fmt, ...)
glRasterPos2i glRasterPos2i
( (
glutBitmapWidth(font, ' ') * col, glutBitmapWidth(font, ' ') * col,
- glutBitmapHeight(font) * (row+2) + viewport[3] - glutBitmapHeight(font) * row + viewport[3]
); );
glutBitmapString (font, (unsigned char*)buf); glutBitmapString (font, (unsigned char*)buf);
@ -265,12 +265,12 @@ static void display(void)
glColor3d(0.1,0.1,0.4); glColor3d(0.1,0.1,0.4);
if( show_info ) { if( show_info ) {
shapesPrintf (1, 3, "Shape PgUp PgDn: %s", table [function_index].name); shapesPrintf (1, 1, "Shape PgUp PgDn: %s", table [function_index].name);
shapesPrintf (2, 3, "Slices +-: %d Stacks <>: %d", slices, stacks); shapesPrintf (2, 1, "Slices +-: %d Stacks <>: %d", slices, stacks);
shapesPrintf (3, 3, "nSides +-: %d nRings <>: %d", slices, stacks); shapesPrintf (3, 1, "nSides +-: %d nRings <>: %d", slices, stacks);
shapesPrintf (4, 3, "Depth (): %d", depth); shapesPrintf (4, 1, "Depth (): %d", depth);
shapesPrintf (5, 3, "Outer radius Up Down : %f", orad); shapesPrintf (5, 1, "Outer radius Up Down : %f", orad);
shapesPrintf (6, 3, "Inner radius Left Right: %f", irad); shapesPrintf (6, 1, "Inner radius Left Right: %f", irad);
} else { } else {
printf ( "Shape %d slides %d stacks %d\n", function_index, slices, stacks ) ; printf ( "Shape %d slides %d stacks %d\n", function_index, slices, stacks ) ;
} }
@ -366,7 +366,7 @@ main(int argc, char *argv[])
glutInit(&argc, argv); glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH | GLUT_MULTISAMPLE); glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH | GLUT_MULTISAMPLE);
glutCreateWindow("OpenGLUT Shapes"); glutCreateWindow("FreeGLUT Shapes");
glutReshapeFunc(resize); glutReshapeFunc(resize);
glutDisplayFunc(display); glutDisplayFunc(display);