|
|
ACGL does not handle the creation of a window or the creation of an OpenGL context. You need a system specific library for this, the following are possible libs for this, but other will also work.
|
|
|
|
|
|
## GLFW
|
|
|
|
|
|
GLFW is a small library that helps to open a window with an OpenGL context on Linux, MacOS X and Windows. It's very basic but provides you will all needed functions to create a window, read mouse and keyboard input and even read joysticks and gamepads. This is highly recommended for basic game-related applications due to its simplicity and good portability.
|
|
|
|
|
|
Pros:
|
|
|
* Good portability
|
|
|
* Quick to understand with good documentation
|
|
|
* Allows for more complex context creation (specific version, debug contexts, etc.)
|
|
|
* Joystick support
|
|
|
|
|
|
Cons:
|
|
|
* No support for UI (buttons, slider, text etc.)
|
|
|
|
|
|
For a simple UI, AntTweekBar can be used.
|
|
|
|
|
|
|
|
|
## QT 4 / QT 5
|
|
|
|
|
|
For UI heavy applications QT can be used. Create a window and a QGLWidget for the OpenGL rendering.
|
|
|
|
|
|
Pros:
|
|
|
* Portable
|
|
|
* Lots of documentation
|
|
|
* Can build complex UIs
|
|
|
|
|
|
|
|
|
Cons:
|
|
|
* Very limited context creation
|
|
|
* No Joystick support
|
|
|
* Modern OpenGL contexts can be problematic on Macs (also: QT5 is required for this)
|
|
|
|
|
|
|
|
|
## GLUT or FreeGLUT
|
|
|
|
|
|
GLUT was suggested in some older OpenGL examples and tutorials but is not well supported anymore. FreeGLUT is better supported but still falls short in portability (especially modern MacOS X) and modern features (more advanced OpenGL context creation). GLFW is a good alternative! |