2014-09-07 15 views
25

Moja uczelnia rozpoczęła naukę kursu obejmującego programowanie OpenGL. Sprawiają, że używamy FreeGLUT do stworzenia okna i kontekstu dla OpenGL, ale znalazłem kurs online na stronie lynda.com o OpenGL, w którym używają GLFW zamiast FreeGLUT.Jaka jest różnica między FreeGLUT a GLFW?

Więc chcę wiedzieć, z którego należy korzystać i jakie są różnice między tymi dwoma?

Odpowiedz

32

freeglut:

  • oparciu o API GLUT.
  • GLUT istnieje od około tak długo, jak sam OpenGL.
  • Wiele tutoriali i przykładów tam używanych używa GLUT.
  • Zajmuje się implementacją pętli zdarzeń i działa poprzez wywołania zwrotne (dobre dla prostych rzeczy, sprawia jednak, że precyzyjne pętle animacji i wejście o niskiej latencji są znacznie trudniejsze).

GLFW:

  • Zaprojektowany od podstaw z doświadczeń innych ram w umyśle.
  • Daje znacznie lepszą kontrolę nad tworzeniem kontekstu i atrybutami okna.
  • GLFW- Zapewnia podstawowe funkcje obsługi wątków (tworzenie wątków, synchronizacja). - usunięto z GLFW-3
  • GLFW- Zapewnia podstawową obsługę ładowania plików obrazów. - usunięto z GLFW-3
  • Zapewnia bardzo szczegółowy dostęp do urządzeń wejściowych.
  • Pętla zdarzeń jest pod kontrolą programisty, co pozwala na wiele precyzyjnych ustawień czasowych i mniejszych opóźnień.
+0

Więc glfw jest lepszy, jeśli chodzi o aplikacje conplex? – varun

+11

Należy pamiętać, że ** GLFW3 ** nie ma już funkcji wątkowania ani ładowania obrazu. Jest przechowywany jako prosta biblioteka do tworzenia okien z kontekstami OpenGL. – Iggy

+4

Należy również zauważyć, że freeglut wykracza poza API GLUT i implementuje własne rozszerzenia, które pozwalają również na większą kontrolę nad atrybutami kontekstu i okna, a także umożliwia użytkownikowi zapisanie pętli zdarzeń, tak jak ma to miejsce w przypadku GLFW. – derhass

Powiązane problemy