#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