Programação com OpenGL/Instalação/Windows

Origem: Wikilivros, livros abertos por um mundo aberto.

Todos os sistema operacional Microsoft Windows posterior ao Windows 95 vem com uma implementação disponível (geralmente a versão 1.4). porem, se você instalar(ou atualizar) os drivers para sua placa gráfica então você estará usando uma implementação do OpenGL da própria fabricante.

OpenGL[editar | editar código-fonte]

A biblioteca OpenGL é normalmente chamada de OpenGL32.dll na pasta \system32, localizada na pasta de instalação do sistema ( normalmente c:\windows).

Os cabeçalhos compatíveis com o OpenGL estão na maioria dos compiladores, se cabeçalho não precisa ser totalmente atualizada para rodar suas implementações do OpenGL, agora se você quiser toda as novas funções você terá que linkar manualmente as extensões do OpenGL.

GLUT[editar | editar código-fonte]

GLEW[editar | editar código-fonte]

O GLEW é um pacote oficial destinada a trabalhar com visual c++ - mas se você estiver usando o MinGW/GCC com o Code::Blocks, não se preocupe - você pode:

  • Linkar diretamente pelo .dll ( em vez de adicionar uma .lib incompatível do MinGW )
  • Ou você pode recompilar e usa-la com uma biblioteca compartilhada, usando o MSys:
cd glew-1.7.0/
make
  • Ou você pode compilar a GLEW estaticamente e adicionar o glew32s.lib nas bibliotecas de ligação, na opções do linker:
#define GLEW_STATIC
#include <GL/glew.h>

o Glee apenas compilará estaticamente no Windows ( sem compilação-cruzada através do GNU/Linux ) mas não dará este problema.

GLM[editar | editar código-fonte]

o GLM possui apenas cabeçalhos de biblioteca, assim você precisa apenas descompactar o GLM em um diretório e colocar suas includes na diretiva path nas propriedades do projeto.

Compilação Cruzada ( Cross-Compilation )[editar | editar código-fonte]

Para fazer uma compilação cruzada da GLEW ( baixe o ultimo lançamento em .tgz):

cd /usr/src/glew-1.7.0/
make SYSTEM=linux-mingw32

Uma exemplo de compilação-cruzada pela linha de comando:

i586-mingw32msvc-g++ triangle.cpp ../common/shader_utils.cpp \
-I/usr/src/freeglut/include -L/usr/src/freeglut/lib -lfreeglut \
-I/usr/src/glew-1.7.0-mingw/include/ -L/usr/src/glew-1.7.0-mingw/lib/ -lglew32 \
-lopengl32 -mwindows -o triangle.exe

Uma compilação cruzada(Cross-Compilation) é quando você compilas o código de em um sistema operacional para outro.