2014-09-07 19 views
25

La mia università ha iniziato a insegnare un corso che include la programmazione OpenGL. Ci fanno usare FreeGLUT per creare una finestra e un contesto per OpenGL, ma ho trovato un corso online su lynda.com su OpenGL in cui usano GLFW invece di FreeGLUT.Qual è la differenza tra FreeGLUT vs GLFW?

Quindi voglio sapere quale devo usare e quali sono le differenze tra i due?

risposta

32

FreeGLUT:

  • Sulla base della API GLUT.
  • GLUT è presente da circa la stessa OpenGL.
  • Molti tutorial ed esempi usano GLUT.
  • Si occupa di implementare il ciclo degli eventi e funziona tramite i callback (utile per cose semplici, rende molto più difficili cose come loop di animazione a tempo e bassa latenza).

GLFW:

  • Progettato da zero con le esperienze di altri framework in mente.
  • Fornisce un controllo molto più preciso sulla creazione del contesto e sugli attributi della finestra.
  • GLFW- Fornisce funzioni di supporto di threading di base (creazione thread, sincronizzazione). - rimosso da GLFW-3
  • GLFW- Fornisce supporto per il caricamento di file di immagini di base. - rimosso da GLFW-3
  • Fornisce accesso molto dettagliato ai dispositivi di input.
  • Il ciclo degli eventi ha il controllo del programmatore che consente tempi più precisi e bassa latenza.
+0

Quindi glfw è meglio se si sta cercando un'applicazione conplex? – varun

+11

È importante notare che ** GLFW3 ** non ha più funzionalità di caricamento delle immagini o di threading. Viene mantenuto come una semplice libreria per la creazione di finestre con contesti OpenGL. – Iggy

+4

Si noti inoltre che freeglut va oltre l'API GLUT e implementa le proprie estensioni che consentono anche un maggiore controllo sugli attributi di contesto e finestra e consente inoltre all'utente di scrivere il ciclo degli eventi, come nel caso di GLFW. – derhass

Problemi correlati