Aquí hay un programa opengl simple de mi parte. Estoy tratando de borrar la pantalla antes de dibujar un triángulo. He llamado a glClear() en mi función init(), sin embargo, parece que no ha podido borrar la pantalla.¿Por qué glClear no borra mi pantalla?
#include <stdio.h>
#include <stdlib.h>
#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glut.h>
void myIdleFunc()
{
glBegin(GL_TRIANGLES);
{
glColor3f(1.0f, 1.0f, 1.0f);
glVertex2f(0.0f, 1.0f);
glVertex2f(-1.0f, -1.0f);
glVertex2f(1.0f, -1.0f);
}
glEnd();
glFlush();
usleep(1000000);
}
void init()
{
glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
glClear(GL_COLOR_BUFFER_BIT);
glFlush();
}
int main(int argc, char **argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE);
glutCreateWindow("Hello, World!");
init();
glutIdleFunc(myIdleFunc);
glutMainLoop();
return 1;
}
Aquí hay una captura de pantalla, el texto es del terminal gnome en el fondo.
Que en realidad se ve muy bonito. Tal vez deberías dejarlo así :) –