Introdução OpenGL

Definição

OpenGL é um conjunto de bibliotecas desenvolvidas para aplicação gráfica.

Esta biblioteca contém um conjunto de funções que agrupam comandos de baixo nível. Permitindo criação de ambientes 2D e 3D.

Entre as várias bibliotecas existentes podemos mencionar a GLU e a GLUT.

GLU (OpenGL Utility Library) é instalada junto com o OpenGL, destinada principalmente para manipulação de matrizes complexas.

GLUT (OpenGL Utility Toolkit) que é um pacote independente de plataforma, que inclui um conjunto de bibliotecas para interface gráfica.

Instalando no linux

Nosso foco aqui é 100% linux, por isso vou apresentar 2 formas de instalar no linux.

Para instalar o OpenGL basta digitar o seguinte comando:

apt install mesa-utils freeglut3-dev freeglut3 mesa-utils-extra

Instalação do OpenGL

A instalação seguiu conforme apresentado:

Procedimento de instalação do OpenGL

Vídeo mostrando o processo:

Procedimento de instalação do OpenGL

Localizando as libs em C

Agora que instalamos as bibliotecas, temos que acha-las.

Os include ficam localizados em

/usr/include/GL

Caminho dos includes para compilação em C

Segue abaixo a contraprova de sua localização:

Agora as libs ficam em

/usr/lib/x86_64-linux-gnu/

Conforme contraprova abaixo:

Caminho instalado em um ubuntu

Criando o Hello World

Bom como é de costume, iremos criar o nosso primeiro programa.

Não será muito inovador, mas tem a base para evoluirmos.

GIT

O código dele esta no git:

https://github.com/marcelomaurin/opengl_hello

Primeiro criaremos nosso fonte: hello.cpp


#include <GL/glut.h>

void displayMe(void)
{
	glClear(GL_COLOR_BUFFER_BIT);
        glBegin(GL_POLYGON);
        glVertex3d(0, 0, 0);
        glVertex3d(1, 0, 0);
        glVertex3d(1, 1, 0);
        glVertex3d(0, 1, 0);
        glEnd();
        glFlush();
}


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

Agora iremos montar nosso arquivo de compilação: Makefile


CC=g++

SOURCE=hello.cpp
BIN=hello

LIBRARYS=-L/usr/lib/x86_64-linux-gnu/ -lglut -lGLU -lm -lGL

all: clean compile

clean:

compile:
	$(CC) $(SOURCE) -o $(BIN) $(LIBRARYS)

E para completar a festa a imagem gerada e em seguida o vídeo apresentando:

Imagem de um quadrado 2D, gerado por OpenGL

Vídeo no Youtube

Vídeo de apresentação do OpenGL sendo compilado em Linux.

Referências

https://www.opengl.org/

https://askubuntu.com/questions/96087/how-to-install-opengl-glut-libraries

OpenGL – Uma Abordagem Prática e Objetiva – Marcelo Cohen , Isabel Hard Manssour