【发布时间】:2015-12-25 09:12:43
【问题描述】:
我目前正在 Windows 上学习 OpenGL,但有一些我不明白的地方。如果我想调用像glShaderSource 这样的函数,除非我链接 GLEW,否则它是未定义的。但是,一旦我链接 GLEW 并调用 glewInit,glShaderSource 就会突然定义并可供使用。我需要使用 GLEW 显式加载哪些类型的函数,以及在我初始化 GLEW 后会自动加载哪些函数?
【问题讨论】:
我目前正在 Windows 上学习 OpenGL,但有一些我不明白的地方。如果我想调用像glShaderSource 这样的函数,除非我链接 GLEW,否则它是未定义的。但是,一旦我链接 GLEW 并调用 glewInit,glShaderSource 就会突然定义并可供使用。我需要使用 GLEW 显式加载哪些类型的函数,以及在我初始化 GLEW 后会自动加载哪些函数?
【问题讨论】:
GLEW 的全部意义在于您不需要"explicitly load" functions。如果您想显式加载内容,则不会使用 OpenGL Loading Library. ;)
通过初始化 GLEW,您是在告诉它加载您的实现提供的所有 OpenGL 功能(它知道的)。您可以检查版本号或扩展名以查看实际加载的内容。但是一旦 GLEW 被初始化,它就会被加载。期间。
【讨论】: