glut. проблема с окном (нет рамки, не перерисовывается)

Модератор: Модераторы разделов

Аватара пользователя
pluton8
Сообщения: 108
ОС: Arch GNU/Linux

glut. проблема с окном

Сообщение pluton8 »

Всем привет!
Есть такой пример:

Код: Выделить всё

#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

Запускаю, получается - содержимое окна есть, но нормально не перерисовывается. Также нету заголовка и рамки окна. Скрин:
Изображение
Кто знает, в чём проблема и как решить?
Заранее спасибо!
THE TRUTH IS OUT THERE
Linux Registered User #450136
Спасибо сказали:
Obscurus
Сообщения: 183

Re: glut. проблема с окном

Сообщение Obscurus »

А какая версия glut? Какой оконный менеджер? Просто у меня этот пример заработал как нужно, подозреваю, что может быть с багой в самой библиотеке связано.
Спасибо сказали:
Аватара пользователя
pluton8
Сообщения: 108
ОС: Arch GNU/Linux

Re: glut. проблема с окном

Сообщение pluton8 »

Obscurus писал(а):
26.11.2008 12:35
А какая версия glut?

установлены пакеты такие:
freeglut3-dev 2.4.0-6, freeglut3 2.4.0-6, libglut3 3.7-25, glutg3 3.7-25
посмотрел в /usr/include/GL/glut.h:
* glut.h
* The freeglut library include file
#include "freeglut_std.h"

видимо, используется freeglut. как поменять либу?
Obscurus писал(а):
26.11.2008 12:35
Какой оконный менеджер?

десктоп - kde 3.5.10, compiz-fusion 0.7.4-0ubuntu7, emerald 0.7.2-0ubuntu2
THE TRUTH IS OUT THERE
Linux Registered User #450136
Спасибо сказали:
Obscurus
Сообщения: 183

Re: glut. проблема с окном

Сообщение Obscurus »

Ну между glut и freeglut разница невелика. Вот тут какой-то форум, я так понял проблема та же. Правда, у них там все в основном с гномом, но сошлись на том, что виноват компиз. А если без него попробовать?
Спасибо сказали:
Аватара пользователя
pluton8
Сообщения: 108
ОС: Arch GNU/Linux

Re: glut. проблема с окном

Сообщение pluton8 »

Obscurus писал(а):
26.11.2008 17:19
Правда, у них там все в основном с гномом, но сошлись на том, что виноват компиз. А если без него попробовать?

да, без него - запускается и работает хорошо. спасибо за мыслю!
мож, написать девелоперам глута багрепорт? только я сам не смогу нормально на английском написать.
THE TRUTH IS OUT THERE
Linux Registered User #450136
Спасибо сказали:
Obscurus
Сообщения: 183

Re: glut. проблема с окном

Сообщение Obscurus »

только я сам не смогу нормально на английском написать.

Да я вобщем тоже :blush: Остаётся только на буржуинов надеятся, что они напишут - у них ведь те же грабли.
Спасибо сказали: