Okay, so I already know why I need GLEW, but only up to a point.
If I am using modern OpenGL stuff, probably from version 3.0 onwards, and/or am using the Core Profile, then GLEW is required as without it compilation produced error such as glGenVertexArrays
was not declared.
So GLEW does a bit of background work including the modern OpenGL functions we would like to use, probably.
Apart from that, does it do anything else? Also, how does it work.
As an example, does it improve cross-platform compilation? (Require less modifications to code if moving from Linux to Windows or OS X for example?
Does it also improved the "cross-platform-ness" of graphics hardware? For example, say we had two identical computers, including the OS. A program is compiled using OpenGL 4.3 commands on one system. If the other system has a graphics card or driver which only supports OpenGL 3.3, does GLEW help with that? (Compiling shaders for an older version of OpenGL, perhaps?)
So you can probably see I don't actually know what GLEW does or how it does it.
One last point; does anyone know how to use GLEW with GLFW? I might post that as a separate question actually.