23.2.11

Tirando teias: Configurando o OpenGL no Arch Linux

Olá a todos!

Faz um tempim desde que postei algo por aqui. Culpa da falta de disciplina e, principalmente, da importância de documentar passos da nossa vida de programador. Bem, estou em uma nova fase de vida, morando em Natal, RN, e iniciando meu mestrado aqui na cidade do sol.

Deixando a conversa de lado e sendo mais objetivo, estou iniciando estudos em CG e, obviamente, a necessidade de usar o OpenGL sempre aparece em nossas vidas. Estou usando o Arch Linux ja faz uns 6 meses (seriam 18 se eu contasse com o Chakra antes do "divorcio" com o Arch) e surgiu a necessidade de configurar e testar a biblioteca gráfica no meu laptop.

Supondo que você ja tenha instalado os drivers da sua placa de video, a configuração do OpenGL é bem simples: você deve instalar o freeglut, o mesa e o mesa-demos para ter completa funcionalidade para ja entrar com tudo na programação. :)

É sempre bom manter-se atualizado:

$sudo pacman -Syu

Instale todas as atualizações e então:

$ sudo pacman -S freeglut mesa mesa-demos openal glew

...que a coisa ta no ponto. Agora fazendo um breve teste. Tem este video que explicita como instalar o OpenGL e testa-lo em um debian-like (o cara ainda ta usando o KDE 4.5 :). Junto é fornecido este arquivo zip para testar se o OpenGL está funcionando devidamente.
Descompacte-o e na pasta descompactada dê um:

$ make

Que provavelmente irá gerar um erro assim:

g++ -Wall -o cube main.cpp imageloader.cpp -lglut
imageloader.cpp: In function 'Image* loadBMP(const char*)':
imageloader.cpp:141:2: warning: suggest parentheses around '&&' within '||'
/tmp/ccxo3cb6.o: In function `handleResize(int, int)':
main.cpp:(.text+0x18b): undefined reference to `gluPerspective'

Este erro é devido a não definição da flag especifica de compilação do OpenGL do g++. Então no Makefile do projeto, modifique a diretiva CFLAGS:

CFLAGS = -Wall -gGLU

Salve, dê outro:

$make

e é só correr pro abraço:


Outro ponto interessante é verificar se está ocorrendo a renderização via a placa gráfica. Para verificar dê um:

$glxinfo

E na saída procure a linha em que tem escrito direct rendering. Se seu driver estiver correto, a diretiva está marcada com um yes, caso contrário a renderização está por conta da CPU. Procure o driver correto da sua placa de video e instale-o para melhor desempenho dos aplicativos que você for desenvolver.

Em breve vou transcrever alguns tutoriais do OpenGL para linux que eu for fazendo, pois achar material especifico da plataforma é meio chato, apesar do OpenGL ser independente de SO. O problema é que a maioria dos focos de tutoriais e videos do OpenGL para linux são muito antigos e os mais recentes são de plataformas proprietarias.

Até a próxima.

4 comentários:

  1. Estou com tudo instalado, o rendering está yes, mas meus fps so chegam a: 302 frames in 5.0 seconds = 60.371 FPS rodando o glxgears.
    Meu drive é intel, e foi configurado certinho com o #X -configure.

    Tem alguma dica pra isso?

    Última versão do arch x86_64
    Processador i5
    VGA intel usando o drive i915

    ResponderExcluir
  2. Estou com tudo instalado, o rendering está yes, mas meus fps so chegam a: 302 frames in 5.0 seconds = 60.371 FPS rodando o glxgears.
    Meu drive é intel, e foi configurado certinho com o #X -configure.

    Tem alguma dica pra isso?

    Última versão do arch x86_64
    Processador i5
    VGA intel usando o drive i915

    ResponderExcluir
  3. Estou com tudo instalado, o rendering está yes, mas meus fps so chegam a: 302 frames in 5.0 seconds = 60.371 FPS rodando o glxgears.
    Meu drive é intel, e foi configurado certinho com o #X -configure.

    Tem alguma dica pra isso?

    Última versão do arch x86_64
    Processador i5
    VGA intel usando o drive i915

    ResponderExcluir
  4. Na verdade é o KDE é 3.X

    Você por um acaso tá usando o codeblocks?

    Preciso utilizá-lo mas não estou conseguindo.

    Esse cubo não apareceu aqui também não.

    Uso o Archlinux.

    ResponderExcluir