Programação com OpenGL/Instalação/Windows
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
editarA 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- Bibliotecas de Desenvolvidos do freeglut para Windows - link com -lfreeglut em vez de -lglut32; e não use o assistente do Code::Blocks para projetos com GLUT pois é especifica para o GLUT não-livre.
- Using OpenGL & GLUT in Code::Blocks - um bom tutorial mas em inglês, adicione
#include <windows.h>
antes de incluir o glut.h não-livre.
GLEW
editarO 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>
- Link: uma Biblioteca Extensão da OpenGL para Montagem - Instalação
- Link: usuários do glew : lista de discussão aonde foi relatado a questão da ligação(linkagem) - espero que o desenvolvedores do GLEW providencie os binários compatíveis com o MinGW.
o Glee apenas compilará estaticamente no Windows ( sem compilação-cruzada através do GNU/Linux ) mas não dará este problema.
GLM
editaro 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 )
editarPara 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.