Código Menú|Animación Israel

#include <windows.h>
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <GL/glut.h>

#define PI 3.141592653

float rotar = 0,inc=0.1, ry=0, rx=0, ang=0,botar=1;
float r=1,g=0,b=0;
int figura=0;
float r1=40, r2=25, r3=60, r4=30, r5=18, dx, dy;

void dibujaCuadro(void) {
    glColor3f(r, g, b);
    glBegin(GL_QUADS);
    glVertex2f(5, 5);
    glVertex2f(-5, 5);
    glVertex2f(-5, -5);
    glVertex2f(5, -5);
    glEnd();
}

void circulo1 (void){

    glColor3f(0,0,0);
    glBegin(GL_POLYGON);
    for(float i=0.0; i<2*PI; i+=0.01){
        dx=r1*cos(i);
        dy=r1*sin(i)-75;
        glVertex2f(dx, dy);
        }
    glEnd();

}

void circulo2 (void){

    glColor3f(0,0,0);
    glBegin(GL_POLYGON);
    for(float i=0.0; i<2*PI; i+=0.01){
        dx=r2*cos(i);
        dy=r2*sin(i);
        glVertex2f(dx, dy);
        }
    glEnd();

}

void circulo3 (void){

    glColor3f(0,0,0);
    glBegin(GL_POLYGON);
    for(float i=0.0; i<2*PI; i+=0.01){
        dx=r2*cos(i);
        dy=r2*sin(i);
        glVertex2f(dx, dy);
        }
    glEnd();

}

void circuloBeats (void){

    glColor3f(1,0,0);
    glBegin(GL_POLYGON);
    for(float i=0.0; i<2*PI; i+=0.01){
        dx=r3*cos(i)-40;
        dy=r3*sin(i)+100;
        glVertex2f(dx, dy);
        }
    glEnd();
}

void circuloB1 (void){

    glColor3f(1,1,1);
    glBegin(GL_POLYGON);
    for(float i=0.0; i<2*PI; i+=0.01){
        dx=r4*cos(i)-40;
        dy=r4*sin(i)+100;
        glVertex2f(dx, dy);
        }
    glEnd();
}

void pataB (void){

    glColor3f(1,1,1);
    glBegin(GL_QUADS);
    glVertex2f(0,0);
    glVertex2f(0,-70);
    glVertex2f(10,-70);
    glVertex2f(10,0);
    glEnd();
}

void circuloB2(void){

    glColor3f(1,0,0);
    glBegin(GL_POLYGON);
    for(float i=0.0; i<2*PI; i+=0.01){
        dx=r5*cos(i);
        dy=r5*sin(i);
        glVertex2f(dx, dy);
        }
    glEnd();

}

void mickey(void){
    circulo1();
    glTranslatef(-40,-27,0);
    circulo2();
    glTranslatef(80,0,0);
    circulo3();
}

void beats (void){
    circuloBeats();
    circuloB1();
    glTranslatef(-69,162,0);
    pataB();
    glTranslatef(29,-62,0);
    circuloB2();
}

void dibujaJamesHetfield(void){
    glClear(GL_COLOR_BUFFER_BIT);

    glBegin(GL_QUADS);

    //CABELLO 1
    glColor3f(1, 1, 0);
    glVertex2f(4,29);
    glVertex2f(4,13);
    glVertex2f(18,13);
    glVertex2f(18,29);

    //CABELLO 2
    //glBegin(GL_QUADS);
    glColor3f(1, 1, 0);
    glVertex2f(3,28);
    glVertex2f(3,12);
    glVertex2f(19,12);
    glVertex2f(19,28);

    //CABELLO 3
    //glBegin(GL_QUADS);
    glColor3f(1, 1, 0);
    glVertex2f(3,27);
    glVertex2f(3,14);
    glVertex2f(20,14);
    glVertex2f(20,27);

    //CABELLO 4
    //glBegin(GL_QUADS);
    glColor3f(1, 1, 0);
    glVertex2f(2,26);
    glVertex2f(2,12);
    glVertex2f(21,12);
    glVertex2f(21,26);

    //CABELLO 5
    //glBegin(GL_QUADS);
    glColor3f(1, 1, 0);
    glVertex2f(1,19);
    glVertex2f(1,16);
    glVertex2f(4,16);
    glVertex2f(4,19);

    //CABELLO 6
    //glBegin(GL_QUADS);
    glColor3f(1, 1, 0);
    glVertex2f(1,15);
    glVertex2f(1,13);
    glVertex2f(9,13);
    glVertex2f(9,15);

    //CABELLO 7
    //glBegin(GL_QUADS);
    glColor3f(1, 1, 0);
    glVertex2f(3,14);
    glVertex2f(3,11);
    glVertex2f(5,11);
    glVertex2f(5,14);

    //CARA 1
    //glBegin(GL_QUADS);
    glColor3f(1, 1, 0.6);
    glVertex2f(7,24);
    glVertex2f(7,23);
    glVertex2f(8,23);
    glVertex2f(8,24);

    //CARA 2
    //glBegin(GL_QUADS);
    glColor3f(1, 1, 0.6);
    glVertex2f(8,23);
    glVertex2f(8,22);
    glVertex2f(10,22);
    glVertex2f(10,23);

    //CARA 3
    //glBegin(GL_QUADS);
    glColor3f(1, 1, 0.6);
    glVertex2f(9,22);
    glVertex2f(9,17);
    glVertex2f(14,17);
    glVertex2f(14,22);

    //CARA 4
    //glBegin(GL_QUADS);
    glColor3f(1, 1, 0.6);
    glVertex2f(5,22);
    glVertex2f(5,20);
    glVertex2f(7,20);
    glVertex2f(7,22);

    //CARA 5
    //glBegin(GL_QUADS);
    glColor3f(1, 1, 0.6);
    glVertex2f(7,21);
    glVertex2f(7,20);
    glVertex2f(9,20);
    glVertex2f(9,21);

    //CARA 6
    //glBegin(GL_QUADS);
    glColor3f(1, 1, 0.6);
    glVertex2f(8,20);
    glVertex2f(8,16);
    glVertex2f(9,16);
    glVertex2f(9,20);

    //CARA 7
    //glBegin(GL_QUADS);
    glColor3f(1, 1, 0.6);
    glVertex2f(5,18);
    glVertex2f(5,15);
    glVertex2f(8,15);
    glVertex2f(8,18);

    //CARA 8
    //glBegin(GL_QUADS);
    glColor3f(1, 1, 0.6);
    glVertex2f(4,17);
    glVertex2f(4,16);
    glVertex2f(5,16);
    glVertex2f(5,17);

    //CARA 9
    //glBegin(GL_QUADS);
    glColor3f(1, 1, 0.6);
    glVertex2f(11,17);
    glVertex2f(11,13);
    glVertex2f(12,13);
    glVertex2f(12,17);

    //CARA 10
    //glBegin(GL_QUADS);
    glColor3f(1, 1, 0.6);
    glVertex2f(9,16);
    glVertex2f(9,14);
    glVertex2f(11,14);
    glVertex2f(11,16);

    //CARA 11
    //glBegin(GL_QUADS);
    glColor3f(1, 1, 0.6);
    glVertex2f(12,16);
    glVertex2f(12,14);
    glVertex2f(14,14);
    glVertex2f(14,16);

    //CARA 12
    //glBegin(GL_QUADS);
    glColor3f(1, 1, 0.6);
    glVertex2f(10,14);
    glVertex2f(10,13);
    glVertex2f(13,13);
    glVertex2f(13,14);

    //CARA 13
    //glBegin(GL_QUADS);
    glColor3f(1, 1, 0.6);
    glVertex2f(11,25);
    glVertex2f(11,22);
    glVertex2f(12,22);
    glVertex2f(12,25);

    //CARA 14
    //glBegin(GL_QUADS);
    glColor3f(1, 1, 0.6);
    glVertex2f(12,23);
    glVertex2f(12,22);
    glVertex2f(16,22);
    glVertex2f(16,23);

    //CARA 15
    //glBegin(GL_QUADS);
    glColor3f(1, 1, 0.6);
    glVertex2f(13,24);
    glVertex2f(13,23);
    glVertex2f(14,23);
    glVertex2f(14,24);

    //CARA 16
    //glBegin(GL_QUADS);
    glColor3f(1, 1, 0.6);
    glVertex2f(15,24);
    glVertex2f(15,23);
    glVertex2f(16,23);
    glVertex2f(16,24);

    //CARA 17
    //glBegin(GL_QUADS);
    glColor3f(1, 1, 0.6);
    glVertex2f(14,21);
    glVertex2f(14,16);
    glVertex2f(15,16);
    glVertex2f(15,21);

    //CARA 18
    //glBegin(GL_QUADS);
    glColor3f(1, 1, 0.6);
    glVertex2f(15,18);
    glVertex2f(15,15);
    glVertex2f(18,15);
    glVertex2f(18,18);

    //CARA 19
    //glBegin(GL_QUADS);
    glColor3f(1, 1, 0.6);
    glVertex2f(15,21);
    glVertex2f(15,20);
    glVertex2f(18,20);
    glVertex2f(18,21);

    //CARA 1
    //glBegin(GL_QUADS);
    glColor3f(1, 1, 0.6);
    glVertex2f(16,22);
    glVertex2f(16,21);
    glVertex2f(18,21);
    glVertex2f(18,22);

    //OJO IZQUIERDO
    //glBegin(GL_QUADS);
    glColor3f(0, 0, 0);
    glVertex2f(5,20);
    glVertex2f(5,18);
    glVertex2f(8,18);
    glVertex2f(8,20);

    //OJO DERECHO
    //glBegin(GL_QUADS);
    glColor3f(0, 0, 0);
    glVertex2f(15,20);
    glVertex2f(15,18);
    glVertex2f(18,18);
    glVertex2f(18,20);

    //CEJA IZQUIERDA 1
    //glBegin(GL_QUADS);
    glColor3f(0.5, 0.5, 0.5);
    glVertex2f(5,23);
    glVertex2f(5,22);
    glVertex2f(7,22);
    glVertex2f(7,23);

    //CEJA IZQUIERDA 2
    //glBegin(GL_QUADS);
    glColor3f(0.5, 0.5, 0.5);
    glVertex2f(7,22);
    glVertex2f(7,21);
    glVertex2f(9,21);
    glVertex2f(9,22);

    //CEJA DERECHA 1
    //glBegin(GL_QUADS);
    glColor3f(0.5, 0.5, 0.5);
    glVertex2f(14,22);
    glVertex2f(14,21);
    glVertex2f(16,21);
    glVertex2f(16,22);

    //CEJA DERECHA 2
    //glBegin(GL_QUADS);
    glColor3f(0.5, 0.5, 0.5);
    glVertex2f(16,23);
    glVertex2f(16,22);
    glVertex2f(18,22);
    glVertex2f(18,23);

    //COLLAR
    //glBegin(GL_QUADS);
    glColor3f(0.5, 0.5, 0.5);
    glVertex2f(11,13);
    glVertex2f(11,12);
    glVertex2f(12,12);
    glVertex2f(12,13);

    //BRAZO IZQUIERDO 1
    //glBegin(GL_QUADS);
    glColor3f(1, 1, 0.6);
    glVertex2f(6,13);
    glVertex2f(6,11);
    glVertex2f(9,11);
    glVertex2f(9,13);

    //BRAZO IZQUIERDO 2
    //glBegin(GL_QUADS);
    glColor3f(1, 1, 0.6);
    glVertex2f(6,11);
    glVertex2f(6,10);
    glVertex2f(8,10);
    glVertex2f(8,11);

    //BRAZO IZQUIERDO 3
    //glBegin(GL_QUADS);
    glColor3f(1, 1, 0.6);
    glVertex2f(6,10);
    glVertex2f(6,9);
    glVertex2f(7,9);
    glVertex2f(7,10);

    //BRAZO DERECHO 1
    //glBegin(GL_QUADS);
    glColor3f(1, 1, 0.6);
    glVertex2f(14,13);
    glVertex2f(14,11);
    glVertex2f(16,11);
    glVertex2f(16,13);

    //BRAZO DERECHO 2
    //glBegin(GL_QUADS);
    glColor3f(1, 1, 0.6);
    glVertex2f(14,11);
    glVertex2f(14,10);
    glVertex2f(15,10);
    glVertex2f(15,11);

    //MANO IZQUIERDA 1
    //glBegin(GL_QUADS);
    glColor3f(1, 1, 0.6);
    glVertex2f(7,8);
    glVertex2f(7,7);
    glVertex2f(8,7);
    glVertex2f(8,8);

    //MANO IZQUIERDA 2
    //glBegin(GL_QUADS);
    glColor3f(1, 1, 0.6);
    glVertex2f(8,9);
    glVertex2f(8,6);
    glVertex2f(9,6);
    glVertex2f(9,9);

    //MANO IZQUIERDA 3
    //glBegin(GL_QUADS);
    glColor3f(1, 1, 0.6);
    glVertex2f(9,10);
    glVertex2f(9,6);
    glVertex2f(10,6);
    glVertex2f(10,10);

    //MANO IZQUIERDA 4
    //glBegin(GL_QUADS);
    glColor3f(1, 1, 0.6);
    glVertex2f(10,9);
    glVertex2f(10,7);
    glVertex2f(11,7);
    glVertex2f(11,9);

    //MANO DERECHA
    //glBegin(GL_QUADS);
    glColor3f(1, 1, 0.6);
    glVertex2f(16,11);
    glVertex2f(16,9);
    glVertex2f(18,9);
    glVertex2f(18,11);

    //CUERPO 1
    //glBegin(GL_QUADS);
    glColor3f(0, 0, 0);
    glVertex2f(9,12);
    glVertex2f(9,10);
    glVertex2f(14,10);
    glVertex2f(14,12);

    //CUERPO 2
    //glBegin(GL_QUADS);
    glColor3f(0, 0, 0);
    glVertex2f(9,13);
    glVertex2f(9,12);
    glVertex2f(11,12);
    glVertex2f(11,13);

    //CUERPO 3
    //glBegin(GL_QUADS);
    glColor3f(0, 0, 0);
    glVertex2f(12,13);
    glVertex2f(12,12);
    glVertex2f(14,12);
    glVertex2f(14,13);

    //CUERPO 4
    //glBegin(GL_QUADS);
    glColor3f(0, 0, 0);
    glVertex2f(9,14);
    glVertex2f(9,13);
    glVertex2f(10,13);
    glVertex2f(10,14);

    //CUERPO 4
    //glBegin(GL_QUADS);
    glColor3f(0, 0, 0);
    glVertex2f(13,14);
    glVertex2f(13,13);
    glVertex2f(14,13);
    glVertex2f(14,14);

    //CUERPO 5
    //glBegin(GL_QUADS);
    glColor3f(0, 0, 0);
    glVertex2f(8,11);
    glVertex2f(8,9);
    glVertex2f(9,9);
    glVertex2f(9,11);

    //CUERPO 6
    //glBegin(GL_QUADS);
    glColor3f(0, 0, 0);
    glVertex2f(7,10);
    glVertex2f(7,8);
    glVertex2f(8,8);
    glVertex2f(8,10);

    //CUERPO 7
    //glBegin(GL_QUADS);
    glColor3f(0, 0, 0);
    glVertex2f(10,10);
    glVertex2f(10,9);
    glVertex2f(11,9);
    glVertex2f(11,10);

    //CUERPO 8
    //glBegin(GL_QUADS);
    glColor3f(0, 0, 0);
    glVertex2f(12,10);
    glVertex2f(12,9);
    glVertex2f(13,9);
    glVertex2f(13,10);

    //GUITARRA 1
    //glBegin(GL_QUADS);
    glColor3f(1, 1, 1);
    glVertex2f(5,9);
    glVertex2f(5,7);
    glVertex2f(7,7);
    glVertex2f(7,9);

    //GUITARRA 2
    //glBegin(GL_QUADS);
    glColor3f(1, 1, 1);
    glVertex2f(6,7);
    glVertex2f(6,5);
    glVertex2f(7,5);
    glVertex2f(7,7);

    //GUITARRA 3
    //glBegin(GL_QUADS);
    glColor3f(1, 1, 1);
    glVertex2f(7,7);
    glVertex2f(7,6);
    glVertex2f(8,6);
    glVertex2f(8,7);

    //GUITARRA 4
    //glBegin(GL_QUADS);
    glColor3f(1, 1, 1);
    glVertex2f(7,5);
    glVertex2f(7,4);
    glVertex2f(8,4);
    glVertex2f(8,5);

    //GUITARRA 5
    //glBegin(GL_QUADS);
    glColor3f(1, 1, 1);
    glVertex2f(8,6);
    glVertex2f(8,3);
    glVertex2f(9,3);
    glVertex2f(9,6);

    //GUITARRA 6
    //glBegin(GL_QUADS);
    glColor3f(1, 1, 1);
    glVertex2f(9,5);
    glVertex2f(9,3);
    glVertex2f(10,3);
    glVertex2f(10,5);

    //GUITARRA 7
    //glBegin(GL_QUADS);
    glColor3f(1, 1, 1);
    glVertex2f(10,7);
    glVertex2f(10,4);
    glVertex2f(11,4);
    glVertex2f(11,7);

    //GUITARRA 8
    //glBegin(GL_QUADS);
    glColor3f(1, 1, 1);
    glVertex2f(11,7);
    glVertex2f(11,5);
    glVertex2f(12,5);
    glVertex2f(12,7);

    //GUITARRA 9
    //glBegin(GL_QUADS);
    glColor3f(1, 1, 1);
    glVertex2f(12,7);
    glVertex2f(12,6);
    glVertex2f(15,6);
    glVertex2f(15,7);

    //GUITARRA 10
    //glBegin(GL_QUADS);
    glColor3f(1, 1, 1);
    glVertex2f(13,8);
    glVertex2f(13,7);
    glVertex2f(14,7);
    glVertex2f(14,8);

    //GUITARRA 11
    //glBegin(GL_QUADS);
    glColor3f(1, 1, 1);
    glVertex2f(11,10);
    glVertex2f(11,8);
    glVertex2f(12,8);
    glVertex2f(12,10);

    //BRAZO GUITARRA 1
    //glBegin(GL_QUADS);
    glColor3f(0.3, 0.3, 0.3);
    glVertex2f(11,8);
    glVertex2f(11,7);
    glVertex2f(13,7);
    glVertex2f(13,8);

    //BRAZO GUITARRA 2
    //glBegin(GL_QUADS);
    glColor3f(0.3, 0.3, 0.3);
    glVertex2f(12,9);
    glVertex2f(12,8);
    glVertex2f(14,8);
    glVertex2f(14,9);

    //BRAZO GUITARRA 3
    //glBegin(GL_QUADS);
    glColor3f(0.3, 0.3, 0.3);
    glVertex2f(13,10);
    glVertex2f(13,9);
    glVertex2f(16,9);
    glVertex2f(16,10);

    //BRAZO GUITARRA 4
    //glBegin(GL_QUADS);
    glColor3f(0.3, 0.3, 0.3);
    glVertex2f(17,12);
    glVertex2f(17,11);
    glVertex2f(19,11);
    glVertex2f(19,12);

    //BRAZO GUITARRA 5
    //glBegin(GL_QUADS);
    glColor3f(0.3, 0.3, 0.3);
    glVertex2f(15,11);
    glVertex2f(15,10);
    glVertex2f(16,10);
    glVertex2f(16,11);

    //AFINADOR
    //glBegin(GL_QUADS);
    glColor3f(0, 0, 0);
    glVertex2f(19,12);
    glVertex2f(19,11);
    glVertex2f(23,11);
    glVertex2f(23,12);

    //AFINADOR
    //glBegin(GL_QUADS);
    glColor3f(0, 0, 0);
    glVertex2f(20,13);
    glVertex2f(20,12);
    glVertex2f(22,12);
    glVertex2f(22,13);

    //DETALLES GUITARRA 1
    //glBegin(GL_QUADS);
    glColor3f(0, 0, 0);
    glVertex2f(5,7);
    glVertex2f(5,6);
    glVertex2f(6,6);
    glVertex2f(6,7);

    //DETALLES GUITARRA 2
    //glBegin(GL_QUADS);
    glColor3f(0, 0, 0);
    glVertex2f(7,6);
    glVertex2f(7,5);
    glVertex2f(8,5);
    glVertex2f(8,6);

    //DETALLES GUITARRA 3
    //glBegin(GL_QUADS);
    glColor3f(0, 0, 0);
    glVertex2f(9,6);
    glVertex2f(9,5);
    glVertex2f(10,5);
    glVertex2f(10,6);

    //DETALLES GUITARRA 3
    //glBegin(GL_QUADS);
    glColor3f(0, 0, 0);
    glVertex2f(14,8);
    glVertex2f(14,7);
    glVertex2f(15,7);
    glVertex2f(15,8);

    //PIERNA IZQUIERDA 1
    //glBegin(GL_QUADS);
    glColor3f(0, 0, 0);
    glVertex2f(7,4);
    glVertex2f(7,3);
    glVertex2f(8,3);
    glVertex2f(8,4);

    //PIERNA IZQUIERDA 2
    //glBegin(GL_QUADS);
    glColor3f(0, 0, 0);
    glVertex2f(6,3);
    glVertex2f(6,1);
    glVertex2f(10,1);
    glVertex2f(10,3);

    //PIERNA IZQUIERDA 3
    //glBegin(GL_QUADS);
    glColor3f(0, 0, 0);
    glVertex2f(5,2);
    glVertex2f(5,1);
    glVertex2f(6,1);
    glVertex2f(6,2);

    //PIERNA DERECHA 1
    //glBegin(GL_QUADS);
    glColor3f(0, 0, 0);
    glVertex2f(12,6);
    glVertex2f(12,5);
    glVertex2f(15,5);
    glVertex2f(15,6);

    //PIERNA DERECHA 2
    //glBegin(GL_QUADS);
    glColor3f(0, 0, 0);
    glVertex2f(12,5);
    glVertex2f(12,4);
    glVertex2f(16,4);
    glVertex2f(16,5);

    //PIERNA DERECHA 3
    //glBegin(GL_QUADS);
    glColor3f(0, 0, 0);
    glVertex2f(13,4);
    glVertex2f(13,1);
    glVertex2f(16,1);
    glVertex2f(16,4);

    //PIERNA DERECHA 4
    //glBegin(GL_QUADS);
    glColor3f(0, 0, 0);
    glVertex2f(16,3);
    glVertex2f(16,1);
    glVertex2f(17,1);
    glVertex2f(17,3);

    //PIERNA DERECHA 4
    //glBegin(GL_QUADS);
    glColor3f(0, 0, 0);
    glVertex2f(17,2);
    glVertex2f(17,1);
    glVertex2f(18,1);
    glVertex2f(18,2);

    glEnd();

    glFlush();
}

void miMenu(int valor) {
    switch(valor) {
        case 1:
            inc=0.1;
            break;
        case 2:
            inc=0;botar=0;
            break;
        case 3:
            r=1;g=0;b=0;
            break;
        case 4:
            r=0;g=1;b=0;
            break;
        case 5:
            r=0;g=0;b=1;
            break;
        case 9:
            botar=1;
            break;
        case 20:
            r=1;g=1;b=0;
            break;
        case 21:
            r=0;g=0;b=0;
            break;
        case 22:
            r=0.5;g=0.5;b=0.5;
            break;
        case 23:
            r=1;g=1;b=1;
            break;
        case 24:
            r=0.5;g=0.5;b=0.5;
            figura=1;
            break;
        case 25:
            r=0.5;g=0.5;b=0.5;
            figura=2;
            break;
        case 26:
            r=0.5;g=0.5;b=0.5;
            figura=3;
            break;
        case 27:
            botar=2;
            break;
        case 28:
            botar=1;
            break;
        default:
            break;
    }
}

void display(void)
{
    if (figura==0){
        glClear(GL_COLOR_BUFFER_BIT );
            glPushMatrix();
                glTranslatef(rx,0,0);
                glTranslatef(0, ry, 0);
                glRotatef(rotar,0,0,1);
                dibujaCuadro();
            glPopMatrix();
        glutSwapBuffers();
        glFlush();
    }
    if (figura==1){
         glClear(GL_COLOR_BUFFER_BIT );
            glPushMatrix();
                glTranslatef(rx,0,0);
                glTranslatef(0, ry, 0);
                glRotatef(rotar,0,0,1);
                dibujaJamesHetfield();
            glPopMatrix();
        glutSwapBuffers();
        glFlush();
    }
    if(figura==2){
         glClear(GL_COLOR_BUFFER_BIT );
            glPushMatrix();
                glTranslatef(rx,0,0);
                glTranslatef(0, ry, 0);
                glRotatef(rotar,0,0,1);
                //dibujaJamesHetfield();
                //dibujaCuadro();
                mickey();
            glPopMatrix();
        glutSwapBuffers();
        glFlush();
    }
    if(figura==3){
         glClear(GL_COLOR_BUFFER_BIT );
            glPushMatrix();
                glTranslatef(rx,0,0);
                glTranslatef(0, ry, 0);
                glRotatef(rotar,0,0,1);
                //dibujaJamesHetfield();
                //dibujaCuadro();
                beats();
            glPopMatrix();
        glutSwapBuffers();
        glFlush();
    }
}

void animar(void) {
    rotar=rotar+inc;

    if (botar==1){
        ang=ang+0.001;
        ry=10*cos(ang);
    }
    if (botar==2){
        ang=ang+0.001;
        rx=10*sin(ang);
    }
    glutPostRedisplay();
}

void crearMenu(void){

    int colores3;
    colores3=glutCreateMenu(miMenu);
    glutAddMenuEntry("B", 3);

    int colores;
    colores=glutCreateMenu(miMenu);
    glutAddMenuEntry("Rojo", 3);
    glutAddMenuEntry("Verde", 4);
    glutAddMenuEntry("Azul", 5);
    glutAddMenuEntry("Amarillo", 20);

    int gs;
    gs=glutCreateMenu(miMenu);
    glutAddMenuEntry("Negro",21);
    glutAddMenuEntry("Gris",22);
    glutAddMenuEntry("Blanco",23);

    int fg;
    fg=glutCreateMenu(miMenu);
    glutAddMenuEntry("James Hetfield",24);
    glutAddMenuEntry("Logo 1",25);
    glutAddMenuEntry("Logo 2",26);

    int rb;
    rb=glutCreateMenu(miMenu);
    glutAddMenuEntry("Sobre X",27);
    glutAddMenuEntry("Sobre Y",28);

    int sd;
    sd=glutCreateMenu(miMenu);
    glutAddMenuEntry("Fill",29);
    glutAddMenuEntry("Empty",30);

    //menu con el click derecho
    glutCreateMenu(miMenu);
    glutAddMenuEntry("Start", 1);
    glutAddMenuEntry("Stop", 2);
    glutAddMenuEntry("Rebotar", 9);

    glutAddSubMenu("Color", colores);
    glutAddSubMenu("Gray Scale", gs);
    glutAddSubMenu("Figuras",fg);
    glutAddSubMenu("Rebotar",rb);
    glutAddSubMenu("Solid",sd);
    glutAttachMenu(GLUT_RIGHT_BUTTON);

}

void ajustar(int ancho, int alto)
{

    float aspectratio;
    aspectratio = 1;
    if (1>(ancho/alto))
    {
        glViewport(0, 0, ancho,  ancho/aspectratio);
    }
    else
    {
        glViewport(0, 0, alto*aspectratio,alto);
    }

}

int main(int argc, char **argv)
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGB |GLUT_SINGLE);
    glutInitWindowSize(500, 500);
    glutCreateWindow("MENU Y ANIMAR");

    gluOrtho2D(-75, 75, -75, 75);
    glClearColor(0.5,0.5,0.5,0);

    crearMenu();
    glutDisplayFunc(display);
    //glutDisplayFunc(miMenu);

    glutReshapeFunc(ajustar);

    glutIdleFunc(animar);
    glutMainLoop();
    return 0;
}

Comentarios

Entradas populares de este blog

Código Capitán América Diana Vargas

Reflejo | Diana Vargas

Cámara | Israel González de la Peña