我最近开始学习 OpenGL (> 3.3),我注意到很多示例和教程都使用 freeglut 和 glew,但根本没有真正解释其中的区别。在谷歌搜索和阅读令人作呕的内容之后,我发现的最好的描述是这个 OpenGL Related toolkits and APIs但发现有所欠缺。我什至读过 SO 上的标签信息。
作为 OpenGL 的新手,我仍在努力掌握不同的概念。我已经到了创建一个使用 glew 的基本程序的阶段,创建上下文(在 Windows 上,VS2010),并绘制真正基本的形状,所有这些都不需要显式包含 freeglut。所以我不明白为什么我需要它。
所以我的问题是,以下之间的区别是什么:
- 自由过剩
-格卢
-(&glfw)
什么是一个人可以做而另一个人不能做的事情?
最佳答案
OpenGL扩展牧马人(GLEW)用于访问现代OpenGL API函数(版本3.2到最新版本)。如果我们使用古老版本的OpenGL,那么我们可以访问OpenGL函数只需包含为 #include <GL/gl.h>
但在现代OpenGL中,API函数是在运行时确定的,而不是编译时确定的。 GLEW 将处理 OpenGL API 的运行时加载。关于 GLEW,请参阅 here
GLFW 或 freeglut 将允许我们创建一个窗口,并以跨平台的方式接收鼠标和键盘输入。 OpenGL 不处理窗口创建或输入,因此我们必须使用这些库来处理窗口、键盘、鼠标、操纵杆、输入和其他用途。
GLFW和freeglut是我们的替代方案,根据我们的需要我们可以选择任何一个,但GLEW与它们不同,用于OpenGL API 的运行时加载。
关于opengl - freeglut 与 glew 的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15613978/