martes, 18 de febrero de 2014

Practica 1 con Code Blocks

#ifdef __APPLE__
#include <GLUT/glut.h>
#else
#include <GL/gl.h>
#include <GL/glut.h>
#endif

#include <stdlib.h>

/* Aquí todas las paqueterías son las mismas que en el ejemplo que vimos anteriormente solo le agregamos #include <GL/gl.h> después del else */

void display(void)//Usamos el método display para mostrar lo que dibujaremos en la ventana de opengl
{
    glMatrixMode(GL_PROJECTION);//Le decimos que será en modo matriz
    glLoadIdentity();
    glClear(GL_COLOR_BUFFER_BIT);
    glPointSize(10);//Indicamos que el tamaño del punto será de 10
    glLineWidth(5);//Indicamos el tamaño de línea de 5
    gluOrtho2D(-10,10,-10,10);
         /*Indicamos que nuestra ventana la manejaremos de -10 a 10 tanto en x como y*/
    glColor3f(1.0,0.0,0.0);//Color de las cosas que dibujaremos
    glBegin(GL_POINTS);
/*Usamos el glbegin para decirle que comenzaremos a dibujar y el GL_POINTS para indicarle que las coordenadas que le daremos serán de puntos*/
    for(float i=11; i!=-11 ;i-- ) //Usamos dos ciclos anidados para que cubra toda la pantalla de puntos
        {
            for(float j=11;j!=-11;j--)
            {
            glVertex2f( i , j ); //Instrucción para dibujar un punto (de parametro se da x y y)
            }
        }

    glEnd();//Indicamos que termine de dibujar
    glFlush();//Le decimos que pare
}

//Todo este código es para configurar la ventana como lo vimos en el paso anterior
int main(int arge, char** argv)
{
    glutInit(&arge, argv);
    glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
    glutInitWindowSize(600,600);
    glutCreateWindow("Clase 1");
    glutDisplayFunc(display);
    glutMainLoop();
}


El resultado debe de ser el siguiente:




Para hacer el mismo ejercicio pero con líneas usamos todo lo anterior visto pero con el ciclo diferente.

for(float i=-10;i<10;i++)
    {
    glColor3f(1.0,0.0,0.0);
       glVertex2f( i , 10 );
       glVertex2f( i , -10 );
       glVertex2f( 10 , i);
       glVertex2f( -10 ,i );
    }
Indicamos que dibuje una línea desde i con 10 hasta -10 para las líneas verticales y para las orizontales lo contrario. El resultado es este:



No hay comentarios:

Publicar un comentario