OpenGL Family
  • is a cross-language, cross-platform application programming interface for rendering 2D and 3D vector graphics
  • managed by Khronos Group
  • is being replaced with Vulkan

OpenGL - Core

OpenGL

language specific to operating system (does not handle window creation nor device input/output)

GLEW

used for run time loading of the OpenGL API

GLM

for matrix/vector math

OpenGL - Interfaces

WGL

an API interface between OpenGL and Microsoft’s Windows System Interface

CGL

an API interface between OpenGL and Apple’s OS X

GLX

an API interface between OpenGL and Linux’s X Window System (aka X Window System extension)

OpenGL - Cross-Platform Libraries For Managing Windows & I/O Events

GLUT

  • allows us to create a windows, and receive mouse and keyboard input in a cross-platform way
  • a higher level interface that hides the differences between WGL, CGL, GLX, etc
  • primarily performs system-level I/O
  • library is no longer maintained, and its license did not permit the redistribution of modified versions of the library
  • open-source alternative to GLUT
    • FreeGLUT - intended to be a full replacement for GLUT, and has only a few differences

GLFW

  • allows us to create a windows, and receive mouse and keyboard input in a cross-platform way

OpenGL - Other