GLSL version definition

In the recent mess-around with opengl on Windows I found out that:

(char*)glGetString(GL_SHADING_LANGUAGE_VERSION)

will yield an error telling me the GLSL version constant is not defined.

The solution I documented after some googling is to include "glext.h" and "khrplatform.h" from the Kronos OpenGL Registry.

Khronos OpenGL® Registry - The Khronos Group Inc

Another thing is when calling imgui, more specifically:

char* GLSL_version = (char*)glGetString(GL_SHADING_LANGUAGE_VERSION);
ImGui_ImplOpenGL3_Init(GLSL_version);

At least for Windows the imgui will render with shader compiling error since "GLSL_version" will be defined as "4.60". The imgui on the other hand is expecting another format for GLSL version string:

ImGui_ImplOpenGL3_Init("#version 460");

Changing it to the above format allows imgui to funtion as expected.