OpenGL, shaders, and GLSL
Open Graphics Library (OpenGL) is a programming library that handles 2D and 3D graphics. OpenGL works on all major desktop operating systems and there is also a version, OpenGL ES, that works on mobile devices.
OpenGL was originally released in 1992. It has been refined and improved over more than twenty years. Furthermore, graphics cards manufacturers design their hardware to make it work well with OpenGL. The point of telling you this is not for the history lesson, but to explain that it would be a fool's errand to try and improve upon OpenGL, and using it in 2D (and 3D) games on the desktop, especially if you want your game to run on more than just Windows, is the obvious choice. We are already using OpenGL because SFML uses OpenGL. Shaders are programs that run on the GPU itself, so let's find out more about them next.
The programmable pipeline and shaders
Through OpenGL we have access to what is called a programmable pipeline...