Большинство компиляторов предоставляют вам заголовок OpenGL, который обеспечивает поддержку OpenGL 1.1, но большинство функций, представленных в этой версии OpenGL, давно устарели и не имеют важных функций, таких как шейдеры и объекты буфера вершин. GLEW - это просто заголовок (есть исходный файл, который также должен быть скомпилирован, но вы можете просто включить его в свой проект), который обеспечивает более новую функциональность OpenGL.
Что это значит под расширением?
Вот ссылка с OpenGL.org о них. Это просто дополнительные функции для OpenGL, которые не являются частью OpenGL. Они предоставляют функциональные возможности, которые могут быть полезны, но вы не можете гарантировать, что они будут работать на каждом компьютере, поскольку они не являются частью ядра OpenGL.
Что значит загружать указатели на функции OpenGL?
OpenGL реализован графическим драйвером как набор функций, реализованных в соответствии со спецификацией, а не как отдельная библиотека, поэтому его нельзя просто связать с вашим проектом.
Вы должны вызвать функцию (например, GetProcAddress, но это зависит от платформы, для которой вы разрабатываете), чтобы получить указатель функции во время выполнения от драйвера для каждой функции OpenGL.
GLEW существует, потому что делать это может быть очень сложно. Гораздо проще, когда вы можете просто включить заголовок и вызвать одну функцию во время инициализации, что и делает GLEW. Кроме того, GLEW является кроссплатформенным.
Что это значит под «ядром и расширениями»?
Это означает, что он предоставляет функции OpenGL, а также расширения OpenGL.