You are on page 1of 2

#include <GL/glut.

h>
GLint ancho=600;
GLint alto=400;
GLfloat angulo=0.0f;
void reshape(int width, int height)
{
glViewport(10, 10, width, height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-4,4, -4, 4, 1, 10); //hacemos la vista ortogonal
glMatrixMode(GL_MODELVIEW); //matriz de salida
ancho = width;
alto = height;
}
void init()
{
glClearColor(0,0,0,0);
glEnable(GL_DEPTH_TEST);
ancho = 600;
alto = 900;
glPointSize(2.0);
}
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
//Carro
glLoadIdentity();
glColor3f(0.0f, 0.0f, 1.0f);
glTranslatef(-1,-1.0,0.0);
glColor3f(1.0f, 0.0f, 0.0f);
glBegin(GL_POLYGON);
glVertex3f(-1.5f,0.5f, -2.0f);
glVertex3f( 3.5f,0.5f, -2.0f);
glVertex3f(3.5f,2.0f, -2.0f);
glVertex3f(2.0f,2.0f, -2.0f);
glVertex3f(1.f,3.0f, -2.0f);
glVertex3f(-0.5f,3.0f, -2.0f);
glVertex3f(-1.5f,2.0f, -2.0f);
glEnd();
glLoadIdentity();
//Rueda 1
glTranslatef(-.5f,0.5f,-1.0f);
glColor3f(0.0f, 0.0f, 1.0f);
glTranslatef(-1.0,-1.0,0.0);
glRotatef(angulo,0.0f,0.0f,1.0f);
glutSolidSphere(0.5f, 16, 16);
glLoadIdentity();
//Rueda 2
glTranslatef(3.0f,0.5f,-1.0f);
glColor3f(0.0f, 0.0f, 1.0f);
glTranslatef(-1.0,-1.0,0.0);
glRotatef(angulo,0.0f,0.0f,1.0f);
glutSolidSphere(0.5f, 16, 16);
glLoadIdentity();
glFlush();

glutSwapBuffers();
angulo+=0.2f;
}
void idle()
{
display();
}
int main(int argc, char **argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
glutInitWindowPosition(100, 100);
glutInitWindowSize(ancho, alto);
glutCreateWindow(" :D Carrito :D ");
init();
glutDisplayFunc(display);
glutReshapeFunc(reshape);
glutIdleFunc(idle);
glutMainLoop();
return 0;
}

You might also like