GLEW 是如何工作的?

How does GLEW work?

我目前正在Windows上学习OpenGL,有些地方我不明白。如果我想调用像 glShaderSource 这样的函数,除非我 link GLEW,否则它是未定义的。然而,一旦我 link GLEW 并调用 glewInitglShaderSource 突然被定义并可以使用。我需要使用 GLEW 显式加载哪些功能,以及哪些功能会在我初始化 GLEW 后自动加载?

GLEW 的全部意义在于您不需要 "explicitly load" functions. If you wanted to explicitly load things, you wouldn't be using an OpenGL Loading Library. ;)

通过初始化 GLEW,您告诉它加载您的实现提供的所有 OpenGL 功能(它知道)。您可以检查版本号或扩展以查看实际加载的内容。但是一旦 GLEW 被初始化,它就会被加载。期间.