Есть такой пример:
Код: Выделить всё
#include <GL/glut.h>
#include <GL/gl.h>
#include <stdlib.h>
void init()
{
glClearColor(.2f, .5f, .75f, 1.0f); // set bg color
glEnable(GL_DEPTH_TEST); // enabling z-buffer
}
void dispFunc()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glBegin(GL_POLYGON);
glColor3f(1.0f, .0f, .02f);
glVertex2f(-.5f, -.6f);
glVertex2f(-.2f, .8f);
glVertex2f(.7f, .0f);
glEnd();
glLineWidth(5);
glBegin(GL_LINE_LOOP);
glColor3f(1.0f, 1.0f, 1.0f);
glVertex2f(-.5f, -.6f);
glVertex2f(-.2f, .8f);
glVertex2f(.7f, .0f);
glEnd();
glutSwapBuffers();
}
void resizeFunc(int w, int h)
{
glViewport(0, 0, (GLsizei) w, (GLsizei) h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
void kbdFunc(unsigned char key, int x, int y)
{
if (key == 27)
exit(0);
}
int main(int argc, char* argv[])
{
glutInit(&argc, argv); // GLUT init
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH); // set display mode
glutInitWindowSize(800, 600); // set window size
glutInitWindowPosition(200, 100);
glutCreateWindow("GLUT test"); // window creating
init();
glutDisplayFunc(dispFunc); // renderer
glutReshapeFunc(resizeFunc); // resize handler
glutKeyboardFunc(kbdFunc); // kbd handler
glutMainLoop();
return 0;
}Компилится так:
Код: Выделить всё
$ g++ -o lab6{,.cpp} -lglutЗапускаю, получается - содержимое окна есть, но нормально не перерисовывается. Также нету заголовка и рамки окна. Скрин:

Кто знает, в чём проблема и как решить?
Заранее спасибо!