2012-01-17 34 views
5

Quiero actualizar mi aplicación científica 3D de Freeglut a GLFW, pero me preocupaban los conflictos ocultos o la pérdida de datos. En realidad, mi aplicación funciona como un encanto con Freeglut y yo don No tiene ningún problema, pero se recomienda GLFW para OpenGL moderno (3.0+) en todos los libros y tutoriales modernos.Transformar proyecto C++ openGL existente de glut/freeglut a glfw

Miro la API de GLFW y parece que Glut con el prefijo glfw*, pero no estoy exactamente seguro. así que tengo tres preguntas en mente:

  1. ¿Vale la pena romper mi proyecto existente por causa GLFW, o se adhieren a freeglut?
  2. ¿Voy a perder alguna función del exceso?
  3. ¿Es GLFW compatible con GTK +? (Porque mi interfaz gráfica de usuario se basa en GTK)
+3

No veo ninguna razón por la que no puedas usar OpenGL 3.0+ con freeglut, si tu tarjeta lo admite –

+1

Bueno, de un vistazo a GLFW, veo más opciones que en freeglut. Supongo que esa es la razón. no estoy seguro si tho –

+2

Freeglut soporta OpenGL3 bien. Haga algo como 'glutInitContextVersion (3, 2); glutInitContextFlags (GLUT_FORWARD_COMPATIBLE); 'y ya está listo para rodar. –

Respuesta

3

3- Es GLFW compatible con GTK +? (porque mi GUI se basa en GTK)

Al usar GTK +, no debe utilizar Free-/GLUT ni GLFW. GTK + tiene un widget OpenGL y hace toda la gestión de eventos. Use eso.

+0

@Ndv Solo tenga en cuenta que GLFW (como freeglut) es solo ** una biblioteca GUI ** (como GTK +), ** que no tiene nada que ver con OpenGL **. –

+2

@Ndv Por lo tanto, si le gusta manejarlo usted mismo, no podrá manejar el contexto de OpenGL utilizando la API propia de la plataforma (wgl for win, glX for nix). De lo contrario, no hay argumento para GLFW/GLUT sino contra GTK +, ya que ambos son solo envoltorios para la gestión de OpenGL y GUI específica de la plataforma, lo que los convierte en nada más que ** bibliotecas GUI con soporte para gestión de contexto de OpenGL **. En este sentido, GLFW/GLUT y GTK + están exactamente en el mismo nivel de abstracción. De nuevo: ** GLFW/GLUT no pertenece ni tiene nada que ver con OpenGL **, no más que GTK +. –

+0

@Ndv: solo puedo estar de acuerdo con Christian Rau; * GLUT y GLFW no son de bajo nivel. * ¿Desea ver el nivel bajo? Luego, eche un vistazo a https://github.com/datenwolf/codesamples/tree/master/samples/OpenGL/x11argb_opengl – datenwolf

Cuestiones relacionadas