02.26
Modificando la primera práctica de la asignatura, se pide mostrar una serie de figuras y colores por pantalla.
glClearColor (1.0f, 0.0f, 0.0f, 0.0f);
glClear (GL_COLOR_BUFFER_BIT);
glColor3f (0.0f, 1.0f, 0.0f);
glBegin (GL_POLYGON);
glVertex2f (-0.5f, -0.5f);
glVertex2f (-0.5f, 0.5f);
glVertex2f (0.5f, 0.5f);
glVertex2f (0.5f, -0.5f);
glEnd();
glFlush();
glClearColor (1.0f, 0.0f, 0.0f, 0.0f);
glClear (GL_COLOR_BUFFER_BIT);
glColor3f (0.0f, 1.0f, 0.0f);
glBegin (GL_POLYGON);
glVertex2f (-0.5f, -0.5f);
glVertex2f (-0.5f, 0.5f);
glVertex2f (0.5f, 0.5f);
glVertex2f (0.5f, -0.5f);
glEnd();
glColor3f (0.0f, 0.0f, 1.0f);
glBegin (GL_POLYGON);
glVertex2f (0.0f, -0.5f);
glVertex2f (0.5f, 0.0f);
glVertex2f (0.0f, 0.5f);
glVertex2f (-0.5f, 0.0f);
glEnd();
glFlush();
glClearColor (1.0f, 0.0f, 0.0f, 0.0f);
glClear (GL_COLOR_BUFFER_BIT);
glColor3f (0.0f, 0.0f, 1.0f);
glBegin (GL_POLYGON);
glVertex2f (0.0f, -0.5f);
glVertex2f (0.5f, 0.0f);
glVertex2f (0.0f, 0.5f);
glVertex2f (-0.5f, 0.0f);
glEnd ();
glColor3f (0.0f, 0.0f, 0.0f);
glBegin (GL_POLYGON);
glVertex2f (-0.5f, 0.5f);
glVertex2f (0.0f, 0.5f);
glVertex2f (-0.5f, 0.0f);
glEnd ();
glColor3f (1.0f, 1.0f, 0.0f);
glBegin (GL_POLYGON);
glVertex2f (0.0f, 0.5f);
glVertex2f (0.5f, 0.5f);
glVertex2f (0.5f, 0.0f);
glEnd ();
glColor3f (1.0f, 1.0f, 1.0f);
glBegin (GL_POLYGON);
glVertex2f (0.5f, 0.0f);
glVertex2f (0.5f, -0.5f);
glVertex2f (0.0f, -0.5f);
glEnd ();
glColor3f (0.0f, 1.0f, 0.0f);
glBegin (GL_POLYGON);
glVertex2f (0.0f, -0.5f);
glVertex2f (-0.5f, -0.5f);
glVertex2f (-0.5f, 0.0f);
glEnd ();
glFlush();
glClearColor (1.0f, 0.0f, 0.0f, 0.0f);
glClear (GL_COLOR_BUFFER_BIT);
glColor3f (0.0f, 0.0f, 0.0f);
glBegin (GL_POLYGON);
glVertex2f (-0.5f, 0.5f);
glVertex2f (0.0f, 0.5f);
glVertex2f (-0.5f, 0.0f);
glEnd ();
glColor3f (1.0f, 1.0f, 0.0f);
glBegin (GL_POLYGON);
glVertex2f (0.0f, 0.5f);
glVertex2f (0.5f, 0.5f);
glVertex2f (0.5f, 0.0f);
glEnd ();
glColor3f (1.0f, 1.0f, 1.0f);
glBegin (GL_POLYGON);
glVertex2f (0.5f, 0.0f);
glVertex2f (0.5f, -0.5f);
glVertex2f (0.0f, -0.5f);
glEnd ();
glColor3f (0.0f, 1.0f, 0.0f);
glBegin (GL_POLYGON);
glVertex2f (0.0f, -0.5f);
glVertex2f (-0.5f, -0.5f);
glVertex2f (-0.5f, 0.0f);
glEnd ();
glBegin (GL_POLYGON);
glColor3f (0.0f, 1.0f, 0.0f);
glVertex2f (0.5f, 0.0f);
glColor3f (1.0f, 1.0f, 1.0f);
glVertex2f (0.0f, 0.5f);
glColor3f (1.0f, 1.0f, 0.0f);
glVertex2f (-0.5f, 0.0f);
glColor3f (0.0f, 0.0f, 0.0f);
glVertex2f (0.0f, -0.5f);
glEnd ();
glFlush();
int i;
glClearColor (1.0f, 0.0f, 0.0f, 0.0f);
glClear (GL_COLOR_BUFFER_BIT);
for (i = 5; i > 0; i--)
{
if (i % 2 == 0)
glColor3f (0.0f, 1.0f, 0.0f);
else
glColor3f (0.0f, 0.0f, 0.0f);
glBegin (GL_POLYGON);
glVertex2f (-0.5f, -0.5f);
glVertex2f (-0.5f, (i - (5 - i))/10.0f);
glVertex2f ((i - (5 - i))/10.0f, (i - (5 - i))/10.0f);
glVertex2f ((i - (5 - i))/10.0f, -0.5f);
glEnd();
}
glFlush();
int i;
glClearColor (1.0f, 0.0f, 0.0f, 0.0f);
glClear (GL_COLOR_BUFFER_BIT);
for (i = 5; i > 0; i--)
{
if (i % 2 == 0)
glColor3f (0.0f, 1.0f, 0.0f);
else
glColor3f (0.0f, 0.0f, 1.0f);
glBegin (GL_POLYGON);
glVertex2f (-0.5f - ((5 - i) * 0.025f),
-0.5f - ((5 - i) * 0.025f));
glVertex2f (-0.5f - ((5 - i) * 0.025f),
(i - (5 - i))/10.0f);
glVertex2f ((i - (5 - i))/10.0f,
(i - (5 - i))/10.0f);
glVertex2f ((i - (5 - i))/10.0f,
-0.5f - ((5 - i) * 0.025f));
glEnd();
}
glFlush();







