我最近开始学习 OpenGL (> 3.3) 并且我注意到很多示例和教程都使用 freeglut 和 glew,但根本没有真正解释其中的区别。在谷歌搜索和阅读令人作呕的内容之后,我发现的最好的描述是这样的OpenGL相关工具包和API http://www.opengl.org/wiki/Related_toolkits_and_APIs#Context.2FWindow_Toolkits但发现有所欠缺。我什至读过 SO 上的标签信息。
作为 OpenGL 的新手,我仍在尝试掌握不同的概念。我已经到了创建一个使用 glew 的基本程序的阶段,创建上下文(在 Windows 上,VS2010),并绘制真正基本的形状,所有这些都不需要显式包含 freeglut。所以我不明白为什么我需要它。
所以我的问题是,什么是不同之处之间:
- 自由过剩
-glew
-(&glfw)
一个人能做什么对方不能?
OpenGL 扩展牧马人 (GLEW)用于访问现代 OpenGL API 函数(版本 3.2 到最新版本)。如果我们使用古老版本的 OpenGL,那么我们可以访问 OpenGL 函数,只需包括#include <GL/gl.h>
但在现代OpenGL中,API函数是在运行时确定的,而不是编译时确定的。 GLEW 将处理 OpenGL API 的运行时加载。关于 GLEW 请参阅here https://stackoverflow.com/tags/glew/info
GLFW or freeglut将允许我们创建一个窗口,并以跨平台的方式接收鼠标和键盘输入。 OpenGL 不处理窗口创建或输入,因此我们必须使用这些库来处理窗口、键盘、鼠标、操纵杆、输入和其他用途。
GLFW and freeglut根据我们的需要,我们可以选择任何一种,但是GLEW与它们不同的是,它们用于运行时加载 OpenGL API。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)