Fork of https://github.com/Dav1dde/glad with Hare support
hare: add some vulkan types and the protection function
81bb0afb — Christopher W. Nicholson 24 days ago
hare: add vulkan definition generation support
remove prefix from constants


browse  log 



You can also use your local clone with git send-email.


Vulkan/GL/GLES/EGL/GLX/WGL Loader-Generator based on the official specifications for multiple languages, including C/C++/Rust/D/Nim/Volt/Pascal.

Check out the webservice for glad2 to generate the files you need!

NOTE: The 2.0 branch is currently a beta version, the beta version number will not be updated and refers to the git HEAD.

Some languages are only available in the glad1 generator.


#include <glad/gl.h>
// GLFW (include after glad)
#include <GLFW/glfw3.h>

int main() {
    // -- snip --

    GLFWwindow* window = glfwCreateWindow(WIDTH, HEIGHT, "LearnOpenGL", NULL, NULL);

    int version = gladLoadGL(glfwGetProcAddress);
    if (version == 0) {
        printf("Failed to initialize OpenGL context\n");
        return -1;

    // Successfully loaded OpenGL
    printf("Loaded OpenGL %d.%d\n", GLAD_VERSION_MAJOR(version), GLAD_VERSION_MINOR(version));

    // -- snip --

The full code: hellowindow2.cpp

More examples in the examples directory of this repository.


The documentation can be found in the wiki.

Examples can be found in the example directory. Some examples:


For the source code and various Khronos files see LICENSE.

The generated code from glad is any of Public Domain, WTFPL or CC0. Now Khronos has some of their specifications under Apache Version 2.0 license which may have an impact on the generated code, see this clarifying comment on the Khronos / OpenGL-Specification issue tracker.