OpenGL en tu GNU/Linux

02Dic07

Por trabajos en los estudios me veo metido en la programación con OpenGL y por tanto con GLUT. En la universidad tan solo me dieron el GLUT para Microsoft Windows y eso, me pareció mal más que nada, porque si hay posibilidad de utilizar Free Software se debe aprovechar por encima que la propietaria. Por ello, hoy explicare como instalar las dependencias de GLUT para utilizar OpenGL sin problemas en tu GNU/Linux.

Primero que nada hay que tener un compilador de C, los más conocidos son gcc, g++, g77 y make. Esto no es problema ya que con aptitude o apt-get se instala fácilmente.

sudo apt-get install gcc g++ g77 make

De este modo tendremos todos los compiladores.

Una vez instalado el compilador pasamos a instalar las dependencias para OpenGL y por tanto de GLUT. Para ello instalaremos las dependencias freeglut3, freeglut3-dbg y freeglut3-dev. En principio con freeglut3-dev habría bastante. Para ello

sudo apt-get install freeglut3 freeglut3-dbg freeglut3-dev

Ya tenemos instaladas las dependencias y por tanto GLUT y OpenGL.

Fuente: nemediano.wordpress.com

Anuncios


19 Responses to “OpenGL en tu GNU/Linux”

  1. 1 trahumante

    Bueno, gracias que me ha servido tu información.

  2. 2 Aprendiendo

    hola.
    Estyo empesando a programar en linux… Yo estuoy programando en C++ y utilizo g++ como compilador me entiendes ??? ahora mis ddas son:

    1.- Es necesario instalar los demas aparte de g++ (gcc g77 make ) para que mi programa hecho en OpenGL corra y funcione??

    2.- No se como utilizar la libreria OpenGL. Y seria de mucha ayuda un manual para linux ya q solo encuentro para Windows.

    3.- He leido del ALLERGO para ubuntu/linux pero encuentro su manual y es para windows por ejemplo.

    4.- Algun ejemplo del uso de la libreria como llamarla, sintaxis, etcetera; y cual es la mejor libreria grafica y mas facil de usar…

    Desde ya muchas gracias…

  3. Hola Aprendiendo xD

    te recomiendo que los instales todos, te ahorraras dolores de cabeza y te aseguras de que funciona. En teoría con g++ deberías tener bastante supongo pero ya te digo, pesan poco y te quitas dolores de cabeza.

    Las librerías OpenGL funcionan igual bajo Microsoft Windows como en GNU/Linux. Son las mismas, tanto las funciones como las librerías. Solo cambia que debes quitar las librerías externas a OpenGL que son exclusivas para Microsoft Windows. Si no utilizas, el programa el 100% portable.

    ALLEGO es API de OpenGL, como lo es GLUT. También tienes SDL del cual hay bastante información y es multiplataforma y 100% portable. Si no me equivoco ALLEGO también será 100% portable como SDL o GLUT, solo debes ir con cuidado si utilizas librerías que son para Microsoft Windows externas a OpenGL.

    ALLEGO yo no lo he tocado, ni lo he visto, así que no te puedo decir mucho. De SDL hay material libre por internet, no es difícil de encontrar. Busca “programación con SDL” y te saldrá mucho material. Si prefieres GLUT la mayoría esta en ingles, bueno, de GLUT como de los otros, aunque de SDL hay bastante en castellano para empezar.

    El ejemplo de que lo quieres? de ALLEGO?

    Ah, por cierto, donde digo que ahí instalar opengl, estas instalando GLUT pero como en sus dependencias tiene OpenGL, se instala este también. Esto solo es porque yo necesitaba GLUT y así tampoco me complicaba la vida.

    Espero haberte ayudado.

    Saludos!

  4. 4 dt:Espina

    se agradece el aporte me sirvio mucho

  5. 5 Ayuda

    Hola,¿ me puedes indicar qué bibliotecas tengo que ligar al momento de compilar el programa con gcc o g++ y podrías decirme si puedo compilar programas que utilicen la biblioteca openglut? Gracias

  6. Hace tiempo que no toco esto. Si no me equivoco para compilar un programa hecho con openglut (GLUT) hay que linkear -lglut al compilar.

    saludos

  7. 7 agustin

    hola…

    mi pregunta es ke repositorios tengo ke agregar porke estoy usando mandriva 2008
    y no me baja las dependencias…

    usro “urpmi” pero no encuentra los paquetes…

    si pudieras poner las dependencias te lo agradeceria…

    saludos..

  8. Hola agustin,

    siento la confusión, no entendí tu pregunta. Siguiendo la fuente de donde saque para instalar GLUT y OpenGL pone la siguientes dependencias:

    freeglut3 freeglut3-dbg freeglut3-dev ftgl-dev gle-doc glut-doc glutg3 glutg3-dev libglu1-mesa libglu1-mesa-dev libgl1-mesa libgl1-mesa-dev libgl1-mesa-dri libglut3 libglut3-dev mesa-common-dev mesa-demos mesa-swrast-source mesa-utils

    Espero que te sea de ayuda.

    Repositorios no tengo ni idea, lo siento.

  9. 9 Nataly

    hola, buen dato, me ha servido mucho.

    Tengo un problema con la librería glaux, como la cargo?

  10. 10 Joni

    Buena, este es el primero de muchos tutoria que encuentro y sirve!!!!!!!!!!!

    Gracias Viejo!!!

  11. 11 zidane

    Hola!

    yo pude instalar las librerias sin nungún problema, pero cada vez que intento compilar alguno de los demos que descargué me manda errores como este:

    gerardo@gerardo-laptop:~/Escritorio$ gcc accum.c
    /tmp/ccYPRg6C.o: In function `Init’:
    accum.c:(.text+0x11): undefined reference to `glClearColor’
    accum.c:(.text+0x22): undefined reference to `glClearAccum’
    accum.c:(.text+0x2c): undefined reference to `glGenLists’
    accum.c:(.text+0x44): undefined reference to `glNewList’
    accum.c:(.text+0x57): undefined reference to `glColor3f’
    accum.c:(.text+0x77): undefined reference to `glRectf’
    accum.c:(.text+0x7c): undefined reference to `glEndList’
    accum.c:(.text+0x86): undefined reference to `glGenLists’
    accum.c:(.text+0x9e): undefined reference to `glNewList’
    accum.c:(.text+0xb1): undefined reference to `glColor3f’
    accum.c:(.text+0xd1): undefined reference to `glRectf’
    accum.c:(.text+0xd6): undefined reference to `glEndList’
    /tmp/ccYPRg6C.o: In function `Reshape’:
    accum.c:(.text+0xfb): undefined reference to `glViewport’
    accum.c:(.text+0x105): undefined reference to `glMatrixMode’
    accum.c:(.text+0x10a): undefined reference to `glLoadIdentity’
    accum.c:(.text+0x114): undefined reference to `glMatrixMode’
    accum.c:(.text+0x119): undefined reference to `glLoadIdentity’
    /tmp/ccYPRg6C.o: In function `Key’:
    accum.c:(.text+0x157): undefined reference to `glPolygonMode’
    accum.c:(.text+0x15c): undefined reference to `glutPostRedisplay’
    accum.c:(.text+0x16d): undefined reference to `glPolygonMode’
    accum.c:(.text+0x172): undefined reference to `glutPostRedisplay’
    /tmp/ccYPRg6C.o: In function `Draw’:
    accum.c:(.text+0x189): undefined reference to `glPushMatrix’
    accum.c:(.text+0x1a6): undefined reference to `glScalef’
    accum.c:(.text+0x1b0): undefined reference to `glClear’
    accum.c:(.text+0x1bd): undefined reference to `glCallList’
    accum.c:(.text+0x1cf): undefined reference to `glAccum’
    accum.c:(.text+0x1d9): undefined reference to `glClear’
    accum.c:(.text+0x1e6): undefined reference to `glCallList’
    accum.c:(.text+0x1f8): undefined reference to `glAccum’
    accum.c:(.text+0x20a): undefined reference to `glAccum’
    accum.c:(.text+0x20f): undefined reference to `glPopMatrix’
    accum.c:(.text+0x21e): undefined reference to `glutSwapBuffers’
    accum.c:(.text+0x225): undefined reference to `glFlush’
    /tmp/ccYPRg6C.o: In function `main’:
    accum.c:(.text+0x2c5): undefined reference to `glutInit’
    accum.c:(.text+0x300): undefined reference to `glutInitDisplayMode’
    accum.c:(.text+0x30f): undefined reference to `glutInitWindowSize’
    accum.c:(.text+0x319): undefined reference to `glutCreateWindow’
    accum.c:(.text+0x328): undefined reference to `glutReshapeFunc’
    accum.c:(.text+0x332): undefined reference to `glutKeyboardFunc’
    accum.c:(.text+0x33c): undefined reference to `glutDisplayFunc’
    accum.c:(.text+0x341): undefined reference to `glutMainLoop’
    collect2: ld devolvió el estado de salida 1

    Espero me puedan orientar. De antemano gracias

  12. Hola zidane,

    el problema que tienes es que no linkeas las librerías de opengl a la hora de compilar y por eso no las encuentra.

    Para compilar
    gcc miprograma.c -o miprograma -lglut

    -lglut porque utilizas glut 😛

    mírate el orden y opciones y además te recomiendo que aprendas a utilizar los makefile. En caso de que no te aclares utiliza Eclipse y configuralo para que lo haga él, yo lo hacía así 😉

    salu2

  13. 13 zidane

    Gracias!!!XD

  14. 14 rodolfo

    te sugiero que incluyas las librerias de la siguiente manera
    #include

  15. 15 rodolfo

    “GL/glut.h”

  16. 16 rodolfo

    en vez de glut.h poner GL/glut.h

  17. 17 david

    hola! tengo unas dudas tengo unos codigos de texturas, iluminacion y movimiento trabajando con windows. Pero al pasarlas a linux me da problema, mas que nada por las librerias, porque son para windows (tgaload.h tgaload.cpp…).
    No se si tenga que instalar librerias adicionales de opengl para trabajar desde linux.

  18. Por ahora todo bien, gracias por la ayuda.


  1. 1 GLUT y OpenGL con la API Eclipse para C/C++ « GNUbuntu

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s


A %d blogueros les gusta esto: