我正在寻找对初学者友好的解释。官方网站的解释太短,导致我提出的问题多于答案:
- 什么是GLEW?
OpenGL扩展Wrangler库(GLEW)是跨平台的开源C / C ++ 扩展加载库。GLEW提供了有效的运行时机制,用于确定目标平台上支持哪些OpenGL扩展。
- 但是什么是扩展加载库?
OpenGL加载库是在运行时加载指向OpenGL函数,核心以及扩展的指针的库。
加载指向OpenGL函数的指针是什么意思?
什么是扩展名?
“ 核心和扩展 ” 是什么意思?
我正在寻找对初学者友好的解释。官方网站的解释太短,导致我提出的问题多于答案:
OpenGL扩展Wrangler库(GLEW)是跨平台的开源C / C ++ 扩展加载库。GLEW提供了有效的运行时机制,用于确定目标平台上支持哪些OpenGL扩展。
OpenGL加载库是在运行时加载指向OpenGL函数,核心以及扩展的指针的库。
加载指向OpenGL函数的指针是什么意思?
什么是扩展名?
“ 核心和扩展 ” 是什么意思?
Answers:
大多数编译器都为您提供了OpenGL标头,该标头提供了对OpenGL 1.1的支持,但是该版本OpenGL中提供的大多数功能早已被弃用,并且缺少诸如着色器和顶点缓冲对象之类的重要功能。GLEW基本上只是提供更新的OpenGL功能的标头(有一个源文件也必须编译,但您可以仅将其包含在项目中)。
扩展是什么意思?
这是OpenGL.org关于它们的链接。它们只是OpenGL的附加功能,不属于OpenGL。它们提供了可能有用的功能,但是您不能保证它们将在每台计算机上都能使用,因为它们不是核心OpenGL的一部分。
加载指向OpenGL函数的指针是什么意思?
OpenGL由图形驱动程序实现为根据规范实现的一堆功能,而不是独立的库,因此不能简单地链接到您的项目。
您必须调用一个函数(例如GetProcAddress,但这取决于您要开发的平台),以便在运行时从驱动程序获取每个OpenGL函数的函数指针。
之所以存在GLEW,是因为这样做很难。当您仅包含一个标头并在初始化过程中调用一个函数时,这要容易得多,这正是GLEW所做的。另外,GLEW是跨平台的。
“核心和扩展”是什么意思?
这意味着它提供OpenGL功能以及OpenGL扩展。