Pergunta

Estou começando a aprender OpenGL e eu não tenho certeza, como configurá-lo em (Ubuntu) Linux.

Eu acho que isso poderia ser uma maneira:

OpenGL é apenas uma linguagem gráfica especificação (ou interface) e corretamente usá-lo eu tenho que baixar alguma biblioteca (para o sistema operacional específico) que implementa a especificação OpenGL .

Depois de longa pesquisa e de várias fontes, descobri que a biblioteca gráfica Mesa 3D seria o melhor para mim.

Eu também achei a biblioteca SDL (Simple DirectMedia Layer), mas parece ser uma biblioteca para todas as outras coisas ao lado de gráficos (por exemplo GUI, entrada de som, teclado e mouse, ...). Eu só precisa de uma biblioteca de gráficos, para que ele irá implementar a especificação OpenGL.

Como um usuário interface gráfica do I usar a biblioteca Gtkmm e eu sou "muito satisfeito" com ele até agora, então eu gostaria de gtkmm "connect" com OpenGL - para que eu encontrei uma extensão para a biblioteca gtkmm chamado gtkglextmm por meio de que eu deveria ser capaz de desenhar a animação OpenGL para uma janela (ou DrawingArea em Gtkmm jargão) em GUI (mas eu não tentei ainda, então eu espero que ele vai trabalhar :-)).

E o último problema é a compilação cruzamento Linux para o Windows (com o compilador cruzado MinGW). Até agora, eu tenho com sucesso cruz compilado (de Linux para Windows) todo o meu trabalho feito com a biblioteca Gtkmm.

Quando eu combiná-lo com OpenGL, não seja nenhum problema para compilar cruz-lo (por exemplo, que eu preciso para ligação algo especial quando compilar com o compilador GCC, ou devo distribuir alguma biblioteca do Windows OpenGL com a minha candidatura)?

Eu ficaria muito satisfeito I você confirmou que estou na direção certa ou me virei na direção certa que eu poderia fazer algo mais fácil ou melhor caminho.

Foi útil?

Solução

Em certa medida a sua placa gráfica dependente, os pacotes de driver proprietário incluem seu próprio libGL.so e também incluem o libGL.la (a ligação contra o .so) e quaisquer arquivos relevantes do cabeçalho.

  • Nvidia -. OpenGL bibliotecas e cabeçalhos estão incluídos no pacote de driver proprietário
  • ATi fglrx -. OpenGL bibliotecas e cabeçalhos estão incluídos no pacote de driver proprietário
  • Drivers Open Source - bibliotecas e cabeçalhos OpenGL são fornecidos como parte da Mesa. Dependendo da sua distribuição pode ser necessário instalar os pacotes * -devel para obter os cabeçalhos e bibliotecas vinculáveis ??que você precisa.

Se você estiver usando uma placa Intel ou Matrox, ou você está executando uma placa ATI com o motorista raiva, Radeon ou radeonhd você está usando os drivers de código aberto.

GLUT será o caminho mais curto para um programa de trabalho. Caso contrário, você precisa escrever o código para criar o contexto OpenGL (específico OS)-se.

Se você ainda está tendo problemas, avise-nos mais sobre o que não está trabalhando para você.

Editar Aqui estão alguns exemplos de comandos / código que pode ser relevante ou útil.

GCC compilação:

gcc -lGL glprogram.c -o glprogram

Inclui:

#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glut.h>

Outras dicas

Deve todos apenas trabalhar fora da caixa dado os pacotes corretamente.

Dito isto, aqui é o pedaço relevante do Build-Depends: usado para construir o RGL pacote (que fornece no dispositivo OpenGL para R ) em Debian . Como Ubuntu usa as mesmas configurações para a sua compilação do pacote, você deve realmente aposta definido:

libgl1-mesa-dev | libgl-dev, libglu1-mesa-dev | libglu-dev, \
libpng12-dev, libx11-dev, libxt-dev, x11proto-core-dev

Os meios | alternativa, para que você possa usar os pacotes baseados em mesa ou aqueles que correspondem à sua placa gráfica (como os vários pacotes nvidia- *).

Basta pegar alguns exemplos OpenGPl de algum lugar e experimentá-lo.

Você vai direção certa. Eu usei Eclipse CDT + SDL + openGL para desenvolver meu aplicativo no Ubuntu Linux (eu usei este tutorial para a instalação: http://www.ferdychristant.com/blog/articles/DOMM-72MPPE ) e, em seguida, compilado com êxito meu aplicativo no Windows com Dev C ++

Eu não sou de muita ajuda no reino Linux. E eu estou para trás os tempos quando se trata de OpenGL. No entanto, parece que NeHe tem um novo conjunto de tutoriais onde eles estão colocando juntos algum código de base legal.

Como dizem no site:

Ao escrever os novos tutoriais temos vários objectivos:

  • Write usando um pano limpo, simples e padrão de codificação consistente
  • Write usando moderna C ++
  • permanecer totalmente cross-platform (que é a força de OpenGL depois de tudo)
  • inspirar as pessoas a apresentarem as suas próprias lições com base em nossa BaseCode

Então, eu recomendo pelo menos dar o seu código de uma tentativa. NeHe tem uma tradição de longa data de criar algumas muito agradáveis ??tutoriais.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top