root@newx-pc:/home/newx/temp# g++ first.cpp -o first -lGL -lGLU -lglut
root@newx-pc:/home/newx/temp# ls
first first.cpp
OpenGL в Ubuntu помогите начать.
Совсем недавно перешел на Ubuntu, и решил поизучать OpenGL, но вот незадача:
Простейший пример:
Код:
#include <GL/glut.h>
void display()
{
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_POINTS);
glColor3f(0.0, 0.0, 0.0);
glVertex2f(0.25, 0.25);
glEnd;
glFlush();
}
int main(int argc, char **argv)
{
glutInit(&argc, argv);
glutInitWindowSize(240, 240);
glutInitWindowPosition(100, 100);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutCreateWindow("Test");
glClearColor(0, 0, 0, 0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
void display()
{
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_POINTS);
glColor3f(0.0, 0.0, 0.0);
glVertex2f(0.25, 0.25);
glEnd;
glFlush();
}
int main(int argc, char **argv)
{
glutInit(&argc, argv);
glutInitWindowSize(240, 240);
glutInitWindowPosition(100, 100);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutCreateWindow("Test");
glClearColor(0, 0, 0, 0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
Компилирую его так:
Код:
Запускаю:
Код:
root@newx-pc:/home/newx/temp# ./first
Ошибок нет не при компиляции не при запуске, но вот только от окна лишь заголовок внизу экрана(там где заголовки всех запущеных окон) При разворачивании этого окна(когда по заголовку внизу экрана тыкнешь) текущее окно фокус теряет. То есть как будто это окно есть но оно в инвизе ((
Это невидимое окно не виснет, и прекрасно закрывается(опять же через заголовок внизу экрана).
Помогите, не могу понять в чем причина. Искал где нибудь статьи по OpenGL в Linux но ничего доброго не нашел, поэтому обратился к вам. Заранее спасибо. Жду ваших советов и рекомендаций.
и странно, что ты не нашел информации - классика http://nehe.gamedev.net/ где к каждому уроку идет пример кода практически на всех вообразимых языках (и для большинства ОС - линукс там присуствует). Ну и куча переведенных по рунету.
Ну, и вообще glut - это так себе. Есть кошерные способы инициализации и рендеринга, да и прочего для Linux'яток.
Всё очень просто в использовании.
А в исходниках Qt и примеры есть рабочие, которые можно взять за основу.