Драйвер видеокарты
Программа от производителя видеокарты (NVIDIA, AMD, Intel), через которую Windows и программы управляют видеокартой. В драйвере лежит готовый код всех функций OpenGL для этой видеокарты.
Драйвер ставит установщик производителя видеокарты или сама Windows через Windows Update. Отдельной установки OpenGL нет: драйвер видеокарты и есть то, что содержит код функций OpenGL. На компьютере с рабочим драйвером код OpenGL уже есть, и программе ничего ставить не нужно.
OpenGL — это описание: как функция называется, что принимает и что должна сделать. Код каждой функции, например glGenBuffers,
пишет производитель видеокарты. Поэтому у видеокарт разных производителей это разный код с одним именем и одними параметрами.
Какую версию OpenGL получит программа, зависит от версии драйвера, а не от Windows.
Файлы с кодом лежат на диске с момента установки драйвера. В программу код попадает, когда создаётся окно с OpenGL
(glfwCreateWindow): Windows находит драйвер видеокарты, на которой окно будет рисовать, и подгружает код драйвера в программу.
После этого у драйвера можно спросить адрес любой функции. Загрузчик glad задаёт вопрос функцией wglGetProcAddress
и записывает полученный адрес в указатель с именем функции. Вызов glGenBuffers(...) в коде программы идёт по адресу из этого указателя,
то есть прямо в код драйвера. Указатель лежит в программе и ведёт в драйвер, а не наоборот.