jueves, 5 de septiembre de 2013

Cubo 2D y programa del Cubo

Ejercicio

#include <stdio.h>
#include <GL/glut.h>

void display(void) // Aqui se coloca lo que se quiere dibujar.
{       
  point2 vertice[8] = { //se declaran 8 puntos
  {50.0,50.0}, //son las coordenadas de los puntos 
  {150.0,50.0},   
  {150.0,150.0},   
  {50.0,150.0},   
  {200.0,100.0},   
  {200.0,200.0},   
  {100.0,200.0},   
  {100.0,100.0}};  
  gluOrtho2D(0.0, 500.0, 0.0, 500.0); // Fija las coordenadas
 glClear(GL_COLOR_BUFFER_BIT);// se limpia el frame buffer con el color de clear
  glBegin(GL_LINES); // indica que aquí empieza el código de las vértices del cubo
  glColor3f(1.0,1.0,1.0); //color de las vértices
  glVertex2fv(vertice[0]); //empieza por el punto 0
  glVertex2fv(vertice[1]); //se extiende al punto 1
  glVertex2fv(vertice[1]); //se inicia en punto 1
  glVertex2fv(vertice[2]); //se termina en punto 2
  glVertex2fv(vertice[2]); //empieza en punto 2
  glVertex2fv(vertice[3]); //termina en punto 3
  glVertex2fv(vertice[3]); //empieza en punto 3
  glVertex2fv(vertice[0]); //termina en punto 0, formando el cuadro de frente
  glVertex2fv(vertice[1]);
  glVertex2fv(vertice[4]);
  glVertex2fv(vertice[2]);
  glVertex2fv(vertice[5]);
  glVertex2fv(vertice[5]);
  glVertex2fv(vertice[4]);
  glVertex2fv(vertice[5]);
  glVertex2fv(vertice[6]);
  glVertex2fv(vertice[6]);
  glVertex2fv(vertice[3]);
  glVertex2fv(vertice[0]);
  glVertex2fv(vertice[7]);
  glVertex2fv(vertice[4]);
  glVertex2fv(vertice[7]);
  glVertex2fv(vertice[6]);
  glVertex2fv(vertice[7]); //ultimo vértice
  glEnd(); //fin del glBegin()
        glFlush(); // se fuerza a dibujar el objeto
}
void main(int argc, char** argv) //esta es la función principal
{
        glutInit(&argc, argv); //se inicializa openGL
        glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);// se activan el buffer y colores
        glutInitWindowSize(500, 500); // se define la ventana de medidas 500 / 500
     
        glutCreateWindow("Cubo"); //nombre y título de la ventana
        glutDisplayFunc(display); //se le dice a openGl que funcion se debe de llamar
 
        glutMainLoop(); //se pone al final del main para decirle que espere a que se produzcan eventos      
}



No hay comentarios:

Publicar un comentario