Foros - Stratos

Programadores => General Programadores => Mensaje iniciado por: zupervaca en 24 de Septiembre de 2005, 07:17:32 PM

Título: Linux + Opengl - Glut
Publicado por: zupervaca en 24 de Septiembre de 2005, 07:17:32 PM
 como sabreis por otros post estoy dandole un poco de caña a opengl, he estado buscando tutoriales de como inicializar una ventana para opengl sin glut, pero no encuentro nada, siempre vienen los ejemplos con glut, ¿alguien sabe algun sitio donde venga un tutorial?

saludos
Título: Linux + Opengl - Glut
Publicado por: zupervaca en 24 de Septiembre de 2005, 07:34:38 PM
 bueno al final lo acabe encontrado, ¿donde? donde esta todo :P

http://www.codesampler.com/linuxsrc.htm

saludos

pd: lo pongo por si a alguien le pudiera parecer interesante
Título: Linux + Opengl - Glut
Publicado por: Snakers en 24 de Septiembre de 2005, 08:04:14 PM
 Yo tambien ando haciendo lo mismo...yo tampoco uso glut..
lo que hago es hago la ventana con sdl y luego utilizo
Opengl con las librerias gltext.h,glu.h y gl.h..y eso...
sin e dicho algo mal son errores del novato....
Título: Linux + Opengl - Glut
Publicado por: Zaelsius en 24 de Septiembre de 2005, 10:59:21 PM
 Aprovecho para recomendar GLFW, un envoltorio plataforma muy ligero y simple para OpenGL (muerte a Glut!!). Es lo que vengo utilizando para mis experimentos OpenGL en PC/Mac
Título: Linux + Opengl - Glut
Publicado por: Snakers en 24 de Septiembre de 2005, 11:22:28 PM
 Entonces solo sirve para crear la ventana y utilizar las
posibilidades que tiene GL.h(por lo que he visto,no??)!!
Parece bueno...creo que lo utilizare...
Título: Linux + Opengl - Glut
Publicado por: samsaga2 en 25 de Septiembre de 2005, 12:01:16 AM
 Pues segun mi humilde opinion la mejor combinacion es OpenGL + SDL. Puedes mirar los ejemplos que bienen son bastante autoexplicativos... libsdl.org.
Título: Linux + Opengl - Glut
Publicado por: Snakers en 25 de Septiembre de 2005, 12:01:35 AM
 Ahh...e estado probandolo y me he bajado la version para Dev-Cpp
y e leido sobre GLFW y rectifico ya que no me deja editar el post
anterior que es la libreria de windows pero mas predecible o algo
asi no?y Gl.h tambien!!
Creo,nose corrijeme si me equivoco!!
Salu2
Título: Linux + Opengl - Glut
Publicado por: TheAzazel en 25 de Septiembre de 2005, 04:38:10 PM
Cita de: "samsaga2"Pues segun mi humilde opinion la mejor combinacion es OpenGL + SDL. Puedes mirar los ejemplos que bienen son bastante autoexplicativos... libsdl.org.
Creo que es una de las mejoras opciones...sobre todo por portabilidad....
Título: Linux + Opengl - Glut
Publicado por: zupervaca en 25 de Septiembre de 2005, 07:37:17 PM
 aprovecho el mismo post para preguntar donde me puedo bajar los archivos necesarios para compilar opengl en linux ya que por defecto no viene

saludos
Título: Linux + Opengl - Glut
Publicado por: zupervaca en 25 de Septiembre de 2005, 09:31:32 PM
 perdonar puse mal la pregunta, no es compilar el opengl en linux, es compilar algo que yo haga usando opengl, por defecto en el ubuntu no existe ni siquiera el gl/gl.h y en los paquetes no he visto nada relacionado con opengl
Título: Linux + Opengl - Glut
Publicado por: _XUTI_H_ en 25 de Septiembre de 2005, 10:12:04 PM
 
Cita de: "zupervaca"... en el ubuntu no existe ni siquiera el gl/gl.h y en los paquetes no he visto nada relacionado con opengl
Umm, si usas Ubuntu igual tienes que usar el apkget o como se diga de la debian ...

Pero yo en la Suse lo encontre por "mesa" en los paquetes. Pega una ojeada y comentas ...ç

ata lego
Título: Linux + Opengl - Glut
Publicado por: zupervaca en 25 de Septiembre de 2005, 11:37:43 PM
 no he encontrado nada de lo que me decias por el instalador de paquetes, con lo que lo estoy instalando todo (nooo), alguno tendra que ser y si no mal rollo <_<

saludos
Título: Linux + Opengl - Glut
Publicado por: TheAzazel en 25 de Septiembre de 2005, 11:39:35 PM
 que te faltan...los headers?
Título: Linux + Opengl - Glut
Publicado por: zupervaca en 25 de Septiembre de 2005, 11:54:02 PM
 pues me da error de que no estan definidas las funciones, constantes y demas del opengl, con lo que los .h no estan, no se si valen los que tengo en windows y despues tampoco sabria donde meterlas ya que en linux cuando pones <> en vez de "" hace caso al makefile o como va?

lo he instalado todo y sigue sin rular
Título: Linux + Opengl - Glut
Publicado por: TheAzazel en 26 de Septiembre de 2005, 12:08:59 AM
Cita de: "zupervaca"pues me da error de que no estan definidas las funciones, constantes y demas del opengl, con lo que los .h no estan, no se si valen los que tengo en windows y despues tampoco sabria donde meterlas ya que en linux cuando pones <> en vez de "" hace caso al makefile o como va?

lo he instalado todo y sigue sin rular
Los .h suelen estar en /usr/include. En concreto, gl.h y glut.h deberian estar en ese path bajo un subdirectorio llamado GL, mira alli a ver si tienes lo tienes...aunque lo dudo porque cuando indicas un el compilador por defecto buscara en ese ruta(o las que tenga asignadas), no puedo asegurarte al 100% pero en todas las distribuccion que he trabajado... los .h esta en ese path que te dije.

En el makefile, si utilizas el parametro del compilador -I path... tambien buscara en ese path los headers dados... con -L le puedes indicar path donde tienes librerias (aunque yo prefiero usar aqui rutas absolutas modificadas con variables dentro del makefile...en gustos colores).

Y lo mismo en esta pagina..encuentras lo que probablemente no tengas (lib+headers):
Mesa

suerte
Título: Linux + Opengl - Glut
Publicado por: janio en 27 de Septiembre de 2005, 03:12:17 PM
 Tal vez te falte instalar paquete(s) -dev.

En Debian viene en xlibmesa-gl-dev
Título: Linux + Opengl - Glut
Publicado por: shephiroth en 19 de Octubre de 2005, 07:08:49 PM
 Muy buenas.

Se que hace mucho tiempo que se inicio este post, y me  lo meti en favoritos pq sabía que algun día lo usaría. Pues bien, el día ha llegado, y me apena mucho tener que reabrirlo y tener que molestarlos.

Como ya comente hace tiempo tengo intenion de portar mi pequeño juego a linux...mas como una forma de aprender como se hace que por el hecho de necesitarlo. He seguido este post desde el principio, bajandome el ejemplo de codesampler, e instalandome las librerias que citais, pero no ha habido manera.....

Como el codigo lo teneis en codesampler prefiero no ponerlo aqui, pero si alguien cree que es necesario no tengo problema en ponerlo. Sin embargo, este es el resultado de mi compilacion:


jorge@debian:~$ cd pruebas
jorge@debian:~/pruebas$ ls -l
total 16
-rw-r--r--  1 jorge jorge 12725 2005-10-13 02:05 ventana.cpp
jorge@debian:~/pruebas$ g++ -o ventana ventana.cpp
/tmp/cci8YrNM.o(.text+0x22): En la función `main':
: undefined reference to `XOpenDisplay'
/tmp/cci8YrNM.o(.text+0x7a): En la función `main':
: undefined reference to `glXQueryExtension'
/tmp/cci8YrNM.o(.text+0x127): En la función `main':
: undefined reference to `glXChooseVisual'
/tmp/cci8YrNM.o(.text+0x156): En la función `main':
: undefined reference to `glXChooseVisual'
/tmp/cci8YrNM.o(.text+0x1b3): En la función `main':
: undefined reference to `glXCreateContext'
/tmp/cci8YrNM.o(.text+0x22f): En la función `main':
: undefined reference to `XCreateColormap'
/tmp/cci8YrNM.o(.text+0x2d1): En la función `main':
: undefined reference to `XCreateWindow'
/tmp/cci8YrNM.o(.text+0x31a): En la función `main':
: undefined reference to `XSetStandardProperties'
/tmp/cci8YrNM.o(.text+0x33a): En la función `main':
: undefined reference to `glXMakeCurrent'
/tmp/cci8YrNM.o(.text+0x350): En la función `main':
: undefined reference to `XMapWindow'
/tmp/cci8YrNM.o(.text+0x36c): En la función `main':
: undefined reference to `XNextEvent'
/tmp/cci8YrNM.o(.text+0x4b2): En la función `main':
: undefined reference to `glViewport'
/tmp/cci8YrNM.o(.text+0x4bf): En la función `main':
: undefined reference to `XPending'
/tmp/cci8YrNM.o(.text+0x500): En la función `init()':
: undefined reference to `glClearColor'
/tmp/cci8YrNM.o(.text+0x50c): En la función `init()':
: undefined reference to `glEnable'
/tmp/cci8YrNM.o(.text+0x518): En la función `init()':
: undefined reference to `glMatrixMode'
/tmp/cci8YrNM.o(.text+0x51d): En la función `init()':
: undefined reference to `glLoadIdentity'
/tmp/cci8YrNM.o(.text+0x549): En la función `init()':
: undefined reference to `gluPerspective'
/tmp/cci8YrNM.o(.text+0x7f7): En la función `loadTexture()':
: undefined reference to `glGenTextures'
/tmp/cci8YrNM.o(.text+0x80c): En la función `loadTexture()':
: undefined reference to `glBindTexture'
/tmp/cci8YrNM.o(.text+0x828): En la función `loadTexture()':
: undefined reference to `glTexParameteri'
/tmp/cci8YrNM.o(.text+0x844): En la función `loadTexture()':
: undefined reference to `glTexParameteri'
/tmp/cci8YrNM.o(.text+0x88d): En la función `loadTexture()':
: undefined reference to `glTexImage2D'
/tmp/cci8YrNM.o(.text+0x8a2): En la función `render()':
: undefined reference to `glClear'
/tmp/cci8YrNM.o(.text+0x8ae): En la función `render()':
: undefined reference to `glMatrixMode'
/tmp/cci8YrNM.o(.text+0x8b3): En la función `render()':
: undefined reference to `glLoadIdentity'
/tmp/cci8YrNM.o(.text+0x8d2): En la función `render()':
: undefined reference to `glTranslatef'
/tmp/cci8YrNM.o(.text+0x8ff): En la función `render()':
: undefined reference to `glRotatef'
/tmp/cci8YrNM.o(.text+0x92c): En la función `render()':
: undefined reference to `glRotatef'
/tmp/cci8YrNM.o(.text+0x941): En la función `render()':
: undefined reference to `glBindTexture'
/tmp/cci8YrNM.o(.text+0x95d): En la función `render()':
: undefined reference to `glInterleavedArrays'
/tmp/cci8YrNM.o(.text+0x979): En la función `render()':
: undefined reference to `glDrawArrays'
/tmp/cci8YrNM.o(.text+0x998): En la función `render()':
: undefined reference to `glXSwapBuffers'
/tmp/cci8YrNM.o(.text+0x99f): En la función `render()':
: undefined reference to `glFlush'
collect2: ld devolvió el estado de salida 1


Solo comentar que no es problema de librerias, tengo la carpeta GL en su sitio y contiene tanto gl.h como glu.h como glx.h, todas en minusculas y accesibles......el compilador no se queja de encontrar los archivos, y es lo q me molesta.....

A ver si me pueden echar un cable, GRACIAS ^^
Título: Linux + Opengl - Glut
Publicado por: senior wapo en 19 de Octubre de 2005, 07:50:34 PM
 Pues va a ser que si es problemas de librerias, no es por nada  :P

Te has olvidado de decirle al compilador con que librerias enlazar :)

g++ -o ventana ventana.cpp -L/usr/X11R6/lib -lx11 -lXext -lm -lgl -lglut

Te lo he puesto de memoria, asi que las rutas o nombres de librerias (ojo mayusculas) pueden no ser correctos. Como poco, te falla al linkar con Xlib (-lX11) y con opengl. Ya no me acuerdo si la libreria opengl en Linux  era -lgl o -lmesagl o similares...
Título: Linux + Opengl - Glut
Publicado por: shephiroth en 19 de Octubre de 2005, 08:42:08 PM
 Vale, muchas gracias, al final me funciono ^_^

Por si alguien le interesa el comando final fue:
g++ -o ventana ventana.cpp -L/usr/X11R6/lib -lX11 -lXext -lm -lGL -lGLU

GRACIAS
Título: Linux + Opengl - Glut
Publicado por: vicho en 19 de Octubre de 2005, 09:32:49 PM
 consejo, usen SDL :P