text: // dear imgui: Renderer for OpenGL3 / OpenGL ES2 / OpenGL ES3 (modern OpenGL
  // with shaders / programmatic pipeline) This needs to be used along with a
  // Platform Binding (e.g. GLFW, SDL, Win32, custom..) (Note: We are using GL3W
  // as a helper library to access OpenGL functions since there is no standard
  // header to access modern OpenGL functions easily. Alternatives are GLEW, Glad,
  // etc..)
  
  // Implemented features:
  //  [X] Renderer: User texture binding. Use 'GLuint' OpenGL texture identifier
  //  as void*/ImTextureID. Read the FAQ about ImTextureID in imgui.cpp.
  
  // You can copy and use unmodified imgui_impl_* files in your project. See
  // main.cpp for an example of using this. If you are new to dear imgui, read
  // examples/README.txt and read the documentation at the top of imgui.cpp.
  // https://github.com/ocornut/imgui
  
  // About OpenGL function loaders:
  // About OpenGL function loaders: modern OpenGL doesn't have a standard header
  // file and requires individual function pointers to be loaded manually. Helper
  // libraries are often used for this purpose! Here we are supporting a few
  // common ones: gl3w, glew, glad. You may use another loader/header of your
  // choice (glext, glLoadGen, etc.), or chose to manually implement your own.
  
  // About GLSL version:
  // The 'glsl_version' initialization parameter should be NULL (default) or a
  // "#version XXX" string. On computer platform the GLSL version default to
  // "#version 130". On OpenGL ES 3 platform it defaults to "#version 300 es" Only
  // override if your GL version doesn't handle this GLSL version. See GLSL
  // version table at the top of imgui_impl_opengl3.cpp.
  
  // Set default OpenGL loader to be gl3w
  #define IMGUI_IMPL_OPENGL_LOADER_GLAD
  #if !defined(IMGUI_IMPL_OPENGL_LOADER_GL3W) && \
      !defined(IMGUI_IMPL_OPENGL_LOADER_GLEW) && \
      !defined(IMGUI_IMPL_OPENGL_LOADER_GLAD) && \
      !defined(IMGUI_IMPL_OPENGL_LOADER_CUSTOM)
  #define IMGUI_IMPL_OPENGL_LOADER_GL3W
  #endif
  
  IMGUI_IMPL_API bool ImGui_ImplOpenGL3_Init(const char* glsl_version = NULL);
  IMGUI_IMPL_API void ImGui_ImplOpenGL3_Shutdown();
  IMGUI_IMPL_API void ImGui_ImplOpenGL3_NewFrame();
  IMGUI_IMPL_API void ImGui_ImplOpenGL3_RenderDrawData(ImDrawData* draw_data);
  
  // Called by Init/NewFrame/Shutdown
  IMGUI_IMPL_API bool ImGui_ImplOpenGL3_CreateFontsTexture();
  IMGUI_IMPL_API void ImGui_ImplOpenGL3_DestroyFontsTexture();
  IMGUI_IMPL_API bool ImGui_ImplOpenGL3_CreateDeviceObjects();
  IMGUI_IMPL_API void ImGui_ImplOpenGL3_DestroyDeviceObjects();
  