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

OpenGL configurado no Linux

editar

A Maior parte da distribuição Linux dependem da Mesa3D projeto para prover uma implementação para OpenGL. ela fornece bibliotecas da OpenGL comum e para a OpenGL ES 1.x e 2.0.

O nome exato dos pacotes pacotes necessários para insta-la dependerão exclusivamente da distribuição, Saber quais são os pacotes de sua distribuição pode fazer você poupar muito tempo e dor de cabeça com a instalação, por exemplo para uma distribuição Debian-based (com apt-get ou ferramentas equivalentes), você pode usar os seguintes comandos:

  • Instalar os arquivos .h das bibliotecas do OpenGL
sudo apt-get update
sudo apt-get install libgl1-mesa-dev
  • Instalar um compilador GCC C/C++ associado com a ferramenta make:
sudo apt-get update
sudo apt-get install build-essential

Bibliotecas

editar

Neste wikilivro, nós usaremos muito o GLEW, FreeGLUT e GLM, certifique que estas bibliotecas de desenvolvimento estão instaladas:

sudo apt-get install libglew1.5-dev freeglut3-dev libglm-dev

Somente a partir de 10-2011 que GLM faz parte do pacote básico dos sistemas Debians. Se você quer usar outra distribuição, nós recomendados que você instale as diretivas do compilação, que estão na pasta /usr/include/glm. Uma vez que aqui estão apenas os cabeçalhos da biblioteca, você não precisa compilar uma biblioteca .so - apenas copie os codigo de lá.

A biblioteca GLM esta disponível para Arch Linux no AUR chamado glm.

Drivers

editar

o OpenGL é a API primária para gráficos 3D nos sistemas GNU/Linux. se seu dispositivo suportar aceleração 3D pelo GNU/Linux, então provalmente terá uma distribuição OpenGL

Opções Proprietárias

editar

A Nvidia geralmente ofereçe drivers não livres para na nvidia driver por seu website. O drivers Fglrx é suportado pelos dispositivos ATI atuais, mas ele é código fechado e está disponível pelo website da ATI.

Opção livres ou de código aberto

editar

Se sua CPU tiver suporte gráfico incluídom então os código aberto do drivers já vem como padrão no kernel Linux.

Atualmente apenas antigo chips da ATI rodarão com um driver Radeon de código aberto, se você possui um novo chip, você será forçado a usar o mediocre driver fglrx, a AMD recentemente disponibilizou as especificações dos seu chips, assim como um novo driver Radeon-HD, que deverá está disponível em alguns meses(já deve estar).

veja em | RadeonFeature para mais informações.

O driver de código aberto nouveau suporta dispositivos nVidia, mas não é completo com um driver nVidia de código fechado.

O suporte aos driver OpenGL do sistema Linux consiste em dois arquivos:

  • libGL.so para os gráficos padrão; libGL.so deve está disponível no carregador de bibliotecas (referencia pelo man do ldconfig)
  • glx.so (este nome pode variar) no suporte do Xorg ao OpenGL; glx.so é uma extensão carregada como diretivas no xorg.conf(referencia pelo man para xorg.cong)

A maioria dos aplicativos OpenGL também precisam da libGLU.so; as funções da GLU para aceleração-grafica, mas é implementado pelo Mesa e é uma excelente opção.

Informações sobre a instalação do OpenGL

editar

Digite no terminal para ver as informações sobre o seu driver OpenGL, incluindo quais extensões ela suporta:

glxinfo | grep OpenGL

IDEs (Ferramentas de Desenvolvimento)

editar

Neste Tutorial você precisará de um Makefiles to compilar seus códigos, você pode editar a fonte pelo seu editor de texto favorito, como o Emacs, vim, gedit, krite e etc...

As IDEs disponíveis no GNU/Linux, são:

  • Code::Blocks
  • Anjuta
  • KDevelop
  • Eclipse CDT

é muito simples a adaptação dos Makefiles para estes ambientes.

Instalando os cabeçalhos apropriados para o OpenGL

editar

Se eventualmente sua distribuição não tiver pacotes disponíveis para o Mesa3D, você pode compilar pelo código fonte com um usual

./configure
make
make install

que são os procedimento de instalação, MAS CUIDADO COM OS CONFLITOS DAS BIBLIOTECAS OPENGL.

Os softwares Mesa pode substituir as bibliotecas da sua distribuição ou as instaladas manualmente, como os binários da nVidia ou os binários da fglrx. Então esteja ciente e procure(slocate ou find) de todas as pastas listadas em /etc/ld.so.conf para libGL.so. as várias cópias da libGL.so estão na diretiva LD_LIBRARY_PATH, se não estiver referindo ao mesmo arquivo, pode indicar algum conflito. remova tudo mas a cópia que você deseja executar.

Os cabeçalhos estão instaladas na [install_root]/include/GL - nos sistemas Debian, está localizada em /usr/locwhenal/include/GL quando compilada pelas fontes ou /usr/include/GL quando instalados pelos pacotes prontos.

o cabeçalho "official" estão disponivel pela SGI, porem estão bem desatualizadas.