2014-09-07 7 views
25

Meine Universität begann einen Kurs zu unterrichten, der OpenGL-Programmierung beinhaltet. Sie lassen uns FreeGLUT verwenden, um ein Fenster und einen Kontext für OpenGL zu erstellen, aber ich fand einen Online-Kurs bei lynda.com über OpenGL, in dem sie GLFW anstelle von FreeGLUT verwenden.Was ist der Unterschied zwischen FreeGLUT vs GLFW?

Also ich möchte wissen, welchen soll ich verwenden und was sind die Unterschiede zwischen den beiden?

Antwort

32

freeglut:

  • Basierend auf dem GLUT-API.
  • GLUT ist seit ungefähr so ​​lange wie OpenGL selbst.
  • Viele Tutorials und Beispiele verwenden GLUT.
  • kümmert sich um die Implementierung der Ereignisschleife und funktioniert durch Rückrufe (gut für einfache Sachen, macht Dinge wie genau zeitlich animierte Loops und niedrige Latenz Eingabe viel schwieriger).

GLFW:

  • Entwickelt von Grund auf mit den Erfahrungen anderer Rahmenbedingungen im Auge behalten.
  • Bietet viel bessere Kontrolle über Kontext-Erstellung und Fensterattribute.
  • GLFW- Bietet grundlegende Funktionen zur Thread-Unterstützung (Thread-Erstellung, Synchronisation). - aus GLFW-3 entfernt
  • GLFW- Bietet Unterstützung für das Laden von Bilddateien. - aus GLFW-3 entfernt
  • Ermöglicht sehr detaillierten Zugriff auf Eingabegeräte.
  • Ereignisschleife ist in der Steuerung des Programmierers, die viel präziser Timing und niedrigere Latenz ermöglicht.
+0

Also GLFW ist besser, wenn man für eine conplex Anwendungen geht? – varun

+11

Es ist wichtig zu beachten, dass ** GLFW3 ** keine Threading- oder Bildladefunktionen mehr bietet. Es wird als einfache Bibliothek zum Erstellen von Fenstern mit OpenGL-Kontexten verwendet. – Iggy

+4

Man sollte auch beachten, dass freeglut über die GLUT-API hinausgeht und eigene Erweiterungen implementiert, die auch mehr Kontrolle über Kontext- und Fensterattribute erlauben und es dem Benutzer auch ermöglichen, die Ereignisschleife zu schreiben, wie es bei GLFW der Fall ist. – derhass

Verwandte Themen