Я использую Ubuntu 18.04 LTS и пытаюсь реализовать 2d строки, используя OpenGl, но он ничего не отображает. я использую компилятор Ubuntu. Я установил библиотеку, используя терминал .
вот мой код
#include <GL/glut.h>
void display()
{
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_LINES);
glVertex2i(10,10);
glVertex2i(100,100);
glEnd();
glFlush();
}
int main(int argc, char** argv)
{
glutInit(&argc,argv);
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize (500, 500);
glutInitWindowPosition (100, 100);
glutCreateWindow ("points and lines");
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
вот как я компилирую и запускаю свою программу
g++ jamshaid.cpp -o jamoo -lglut -lGLU -lGL
./jamoo
Обновление 1
добавил init2D и попробовал другой ответ, но не работает. оно даже не меняет заголовок окна.
обновление 2
после обновления кода с этого сайта. Теперь у меня есть этот код, и он работает. не могли бы вы объяснить, почему это так. спасибо
#include <GL/glut.h>
void init2D(float r, float g, float b)
{
glClearColor(r,g,b,0.0);
glMatrixMode (GL_PROJECTION);
gluOrtho2D (0.0, 200.0, 0.0, 150.0);
}
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 0.0, 0.0);
glBegin(GL_LINES);
glVertex2i(10,10);
glVertex2i(100,100);
glEnd();
glFlush();
}
int main(int argc,char *argv[])
{
glutInit(&argc,argv);
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize (500, 500);
glutInitWindowPosition (100, 100);
glutCreateWindow ("points and lines");
init2D(0.0,0.0,0.0);
glutDisplayFunc(display);
glutMainLoop();
return 0;}