Professional Documents
Culture Documents
Diamante
Diamante
h>
static int c = 0, d = 0,s=0;
void init(void){
glClearColor (0.0, 0.0, 0.0, 0.0);
glShadeModel (GL_FLAT);
}
void DrawCube(void)
{
glBegin(GL_QUADS);
glColor3f(0.0f,1.0f,0.0f);
glVertex3f( .5f, .5f,-.5f);
glVertex3f(-.5f, .5f,-.5f);
glVertex3f(-.5f, .5f, .5f);
glVertex3f( .5f, .5f, .5f);
glColor3f(1.0f,0.5f,0.0f);
glVertex3f( .5f,-.5f, .5f);
glVertex3f(-.5f,-.5f, .5f);
glVertex3f(-.5f,-.5f,-.5f);
glVertex3f( .5f,-.5f,-.5f);
glColor3f(1.0f,0.0f,0.0f);
glVertex3f( .5f, .5f, .5f);
glVertex3f(-.5f, .5f, .5f);
glVertex3f(-.5f,-.5f, .5f);
glVertex3f( .5f,-.5f, .5f);
glColor3f(1.0f,1.0f,0.0f);
glVertex3f( .5f,-.5f,-.5f);
glVertex3f(-.5f,-.5f,-.5f);
glVertex3f(-.5f, .5f,-.5f);
glVertex3f( .5f, .5f,-.5f);
glColor3f(0.0f,0.0f,1.0f);
glVertex3f(-.5f, .5f, .5f);
glVertex3f(-.5f, .5f,-.5f);
glVertex3f(-.5f,-.5f,-.5f);
glVertex3f(-.5f,-.5f, .5f);
glColor3f(1.0f,0.0f,1.0f);
glVertex3f( .5f, .5f,-.5);
glVertex3f( .5f, .5f, .5f);
glVertex3f( .5f,-.5f, .5f);
glVertex3f( .5f,-.5f,-.5f);
glEnd();
}
void display(void){
glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glDepthFunc(GL_LEQUAL);
glEnable(GL_DEPTH_TEST);
glClearDepth(1.0);
glColor3f (1.0, 0.0, 0.0);
glPushMatrix();
glRotatef ((GLfloat) d, 0.0, 1.0, 0.0);
glColor3f (0.0, 0.0, 1.0);
glutSolidOctahedron();
glColor3f (0.0, 0.0, 0.5);
glutWireOctahedron();
/* Dibuja el dimante */
glRotatef (15, 0.0, 0.0, 1.0);
glRotatef ((GLfloat) c, 0.0, 1.0, 0.0);
glTranslatef (3.0, 0.0, 0.0);
glPushMatrix();
glRotatef ((GLfloat) d, 0.0, 1.0, 0.0);
{
glutInit(&argc, argv);
glutInitDisplayMode (GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
glutInitWindowSize (500, 500);
glutInitWindowPosition (100, 100);
glutCreateWindow (argv[0]);
init ();
glutDisplayFunc(display);
glutReshapeFunc(reshape);
glutKeyboardFunc(keyboard);
glutMainLoop();
return 0;
}