2012-01-17 16 views
5

Voglio aggiornare la mia applicazione 3D scientifica da Freeglut a GLFW, ma mi preoccupo di conflitti nascosti o perdita di dati, In realtà la mia applicazione funziona come un fascino con Freeglut e I don Non ho alcun problema, ma GLFW è raccomandato per i moderni OpenGL (3.0+) in tutti i libri e tutorial moderni.Trasforma progetto OpenGL C++ esistente da glut/freeglut a glfw

Guardo l'API GLFW e sembra che sia Glut con il prefisso glfw*, ma non ne sono proprio sicuro. così Ho tre domande in mente:

  1. Vale la pena di rompere il mio progetto esistente per amor GLFW, o un bastone per freeglut?
  2. Sto per perdere qualche caratteristica di eccesso?
  3. GLFW è compatibile con GTK +? (Perché la mia GUI è basata su GTK)
+3

Non vedo alcun motivo per cui non è possibile utilizzare opengl 3.0+ con freeglut, se la scheda lo supporta –

+1

Bene, da uno sguardo in GLFW, vedo più opzioni quindi in freeglut. Immagino che questo sia il motivo. non sono sicuro che il –

+2

Freeglut supporti correttamente OpenGL3. Fai qualcosa come "glutInitContextVersion (3, 2); glutInitContextFlags (GLUT_FORWARD_COMPATIBLE); 'e sei pronto per il lancio. –

risposta

3

3- È GLFW compatibile con GTK +? (perché la mia GUI è basata su GTK)

Utilizzando GTK + non si dovrebbe usare né Free-/GLUT né GLFW. GTK + ha un widget OpenGL e gestisce tutti gli eventi. Usa quello.

+0

@Ndv Basta ricordare che GLFW (come freeglut) è solo ** una libreria GUI ** (come GTK +), ** che non ha nulla a che fare con OpenGL **. –

+2

@Ndv Quindi, se ti piace gestirlo da solo, non ti aggirerai gestendo il contesto OpenGL da solo utilizzando l'API della piattaforma stessa (wgl per win, glX per nix). Altrimenti non ci sono argomenti per GLFW/GLUT ma contro GTK +, in quanto entrambi sono solo wrapper per la piattaforma specifica OpenGL e GUI managament, rendendoli nient'altro che ** librerie GUI con supporto per la gestione del contesto OpenGL **. A questo proposito GLFW/GLUT e GTK + sono esattamente nello stesso livello di astrazione. Ancora: ** GLFW/GLUT non appartiene o non ha nulla a che fare con OpenGL **, non più di GTK +. –

+0

@Ndv: non posso che essere d'accordo con Christian Rau; * GLUT e GLFW non sono di basso livello. * Vuoi vedere un basso livello? Quindi dai un'occhiata a https://github.com/datenwolf/codesamples/tree/master/samples/OpenGL/x11argb_opengl – datenwolf

Problemi correlati