What is the difference between FreeGLUT vs GLFW?

varun picture varun · Sep 7, 2014 · Viewed 30.7k times · Source

My university started teaching a course which includes OpenGL programming. They make us use FreeGLUT to create a window and a context for OpenGL, but I found an online course at lynda.com about OpenGL in which they use GLFW instead of FreeGLUT.

So I want to know which one should I use and what are the differences between the two?

Answer

datenwolf picture datenwolf · Sep 7, 2014

FreeGLUT:

  • Based on the GLUT API.
  • GLUT has been around for about as long as OpenGL itself.
  • Many tutorials and examples out there use GLUT.
  • Takes care of implementing the event loop and works through callbacks (good for simple stuff, makes things like precisely timed animation loops and low latency input much harder though).

GLFW:

  • Designed from scratch with the experiences of other frameworks in mind.
  • Gives much finer control over context creation and window attributes.
  • GLFW-2 Provides basic threading support functions (thread creation, synchronization). –– removed from GLFW-3
  • GLFW-2 Provides basic image file loading support. –– removed from GLFW-3
  • Gives very detailed access to input devices.
  • Event loop is in control of the programmer which allows for much preciser timing and lower latency.