Demo_Trazos.c



// USO DE DIFERENTES TIPOS DE LINEA

#include <GL/glut.h>

#define drawOneLine(x1,y1,x2,y2) glBegin(GL_LINES); glVertex2f ((x1),(y1)); glVertex2f ((x2),(y2)); glEnd();
const  double pi2 = 6.28318530718;

void display(void)
{
	glClear (GL_COLOR_BUFFER_BIT);

	glColor3f (1.0, 1.0, 1.0);
	//glColor3f (1.0, 1.0, 0.0);
	glBegin(GL_LINES);
		//glLineStipple (1, 0x00FF); // cortada -dashed-
		glLineWidth (1.0);
		glLineStipple (1, 0x0101); // punteada
		drawOneLine (0.0, 0.0, 100.0, 100.0);
		drawOneLine (-50, -200, 500, 100);
		/*
		glLineWidth (5.0);
		glLineStipple (1, 0x0101); // punteada
		drawOneLine (50.0, 100.0, 150.0, 100.0);
		*/
	glEnd();
	glFlush ();
}

void inicializa (void)
{
	glClearColor (0.0, 0.0, 0.0, 0.0); /* selecciona el color de borrado */
	/* inicializa los valores de la vista */
	//glMatrixMode(GL_PROJECTION);
	//glLoadIdentity();
	gluOrtho2D(10.0, -10.0, 10.0, -10.0);
	//glMatrixMode(GL_MODELVIEW);
	glLoadIdentity();
}

int main(int argc, char** argv)
{
	glutInit(&argc, argv); // Inicializa la librería auxiliar GLUT
	glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB); // Inicializa el modo de visualización
	glutInitWindowSize (500, 500); // Indica el tamaño de la ventana (ancho,alto)
	glutInitWindowPosition (100, 100); // Indica la posición inicial (xmin,ymin)
	glutCreateWindow ("Primera Práctica de TGC"); // Abre la ventana con el título indicado
	inicializa (); // Inicializar valores
	glutDisplayFunc(display); // Indica cual es la función de dibujo
	glutMainLoop(); // Comienza el bucle de dibujo y proceso de eventos.
}