X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=progs%2Ftest-shapes-gles1%2Ftest-shapes-gles1.c;h=e0bdd0186658710959578d858294a24fbb457f37;hb=630b996f22fe007ccbf7e93cdf5ff12bf2c3cf05;hp=56b3569e3a0ba4b956d052e54079b3068aa9eb0f;hpb=8c3eab0efb7f82a94014e0c1342c287e19461041;p=freeglut diff --git a/progs/test-shapes-gles1/test-shapes-gles1.c b/progs/test-shapes-gles1/test-shapes-gles1.c index 56b3569..e0bdd01 100644 --- a/progs/test-shapes-gles1/test-shapes-gles1.c +++ b/progs/test-shapes-gles1/test-shapes-gles1.c @@ -37,6 +37,7 @@ */ #include +#include #include #include @@ -99,6 +100,10 @@ static void drawSolidCone(void) { glutSolidCone(orad,orad,slices, static void drawWireCone(void) { glutWireCone(orad,orad,slices,stacks); } /* orad doubles as size input */ static void drawSolidCylinder(void) { glutSolidCylinder(orad,orad,slices,stacks); } /* orad doubles as size input */ static void drawWireCylinder(void) { glutWireCylinder(orad,orad,slices,stacks); } /* orad doubles as size input */ +static void drawSolidTeapot(void) +{ glFrontFace(GL_CW); glutSolidTeapot(orad); glFrontFace(GL_CCW); /* orad doubles as size input */} +static void drawWireTeapot(void) +{ glFrontFace(GL_CW); glutWireTeapot(orad); glFrontFace(GL_CCW); /* orad doubles as size input */} /* * This structure defines an entry in our function-table. @@ -120,7 +125,7 @@ static const entry table [] = ENTRY (RhombicDodecahedron), ENTRY (Icosahedron), ENTRY (SierpinskiSponge), - /* ENTRY (Teapot), */ + ENTRY (Teapot), ENTRY (Torus), ENTRY (Sphere), ENTRY (Cone), @@ -281,25 +286,8 @@ const GLfloat high_shininess[] = { 100.0f }; /* Program entry point */ -int -main(int argc, char *argv[]) -{ - glutInitWindowSize(640,480); - glutInitWindowPosition(40,40); - glutInit(&argc, argv); - glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH | GLUT_MULTISAMPLE); - - glutCreateWindow("FreeGLUT Shapes"); - - glutReshapeFunc(resize); - glutDisplayFunc(display); - glutKeyboardFunc(key); - glutSpecialFunc(special); - glutIdleFunc(idle); - glutMouseFunc(onMouseClick); - - glutSetOption ( GLUT_ACTION_ON_WINDOW_CLOSE, GLUT_ACTION_CONTINUE_EXECUTION ) ; - +void init_context() { + printf("init_context\n"); fflush(stdout); glClearColor(1,1,1,1); glEnable(GL_CULL_FACE); glCullFace(GL_BACK); @@ -320,6 +308,27 @@ main(int argc, char *argv[]) glMaterialfv(GL_FRONT, GL_DIFFUSE, mat_diffuse); glMaterialfv(GL_FRONT, GL_SPECULAR, mat_specular); glMaterialfv(GL_FRONT, GL_SHININESS, high_shininess); +} + +int +main(int argc, char *argv[]) +{ + glutInitWindowSize(640,480); + glutInitWindowPosition(40,40); + glutInit(&argc, argv); + glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH | GLUT_MULTISAMPLE); + + glutCreateWindow("FreeGLUT Shapes"); + + glutReshapeFunc(resize); + glutDisplayFunc(display); + glutKeyboardFunc(key); + glutSpecialFunc(special); + glutIdleFunc(idle); + glutMouseFunc(onMouseClick); + glutInitContextFunc(init_context); + + glutSetOption ( GLUT_ACTION_ON_WINDOW_CLOSE, GLUT_ACTION_CONTINUE_EXECUTION ) ; glutMainLoop();