DEV Community

Cover image for How to install OpenGL in Ubuntu in C++?
Saheb Giri
Saheb Giri

Posted on

How to install OpenGL in Ubuntu in C++?

What Is OpenGL?

OpenGL is a Graphics rendering API which is operating system independent, window system independent and has high-quality color images composed of geometric and image primitives. OpenGL APIs can use following -

  1. GL
  2. GLU
    • OpenGL Utility
  3. Glut
  4. FLTK
  5. GLEW

Now lets see how to install OpenGL in Ubuntu.

Now because GLUT (OpenGL Utility Toolkit) depends upon OpenGL and a number of other related libraries, if we install GLUT then OpenGL will be automatically be installed.

First update the repository using the given command

$ sudo apt-get update
Enter fullscreen mode Exit fullscreen mode

Run the following command to install OpenGL.

$ sudo apt-get install libglu1-mesa-dev freeglut3-dev mesa-common-dev
Enter fullscreen mode Exit fullscreen mode

Now to test if OpenGL libraries are working fine on our Linux machine, we will create a C++ program and test it.

So create a following C++ Program.

#include <GL/glut.h>

void displayMe(void)
{
    glClear(GL_COLOR_BUFFER_BIT);
    glBegin(GL_POLYGON);
        glVertex3f(0.5, 0.0, 0.5);
        glVertex3f(0.5, 0.0, 0.0);
        glVertex3f(0.0, 0.5, 0.0);
        glVertex3f(0.0, 0.0, 0.5);
    glEnd();
    glFlush();
}

int main(int argc, char** argv)
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_SINGLE);
    glutInitWindowSize(400, 300);
    glutInitWindowPosition(100, 100);
    glutCreateWindow("Hello world!");
    glutDisplayFunc(displayMe);
    glutMainLoop();
    return 0;
}
Enter fullscreen mode Exit fullscreen mode

Now give the command below to compile your code.

$ g++ main.cpp -o firstOpenGlApp -lglut -lGLU -lGL
Enter fullscreen mode Exit fullscreen mode

Now run your OpenGl program with following command

$ ./firstOpenGlApp
Enter fullscreen mode Exit fullscreen mode

You will see something like this on your screen if everythings went well.
OpenGl in Ubuntu using C++

Discussion (1)

Collapse
eshikalopez1 profile image
EshikaLopez

I want to learn about C++ and java languages, so someone suggest me how can I learn online best tantrik in Faridabad