freeglut与glew的区别?

时间:2013-03-25 11:38:18

标签: opengl glew freeglut glfw

我最近开始学习OpenGL(> 3.3)&我注意到很多例子和教程同时使用freeglut和amp; glew,但是根本没有真正解释它们的区别。谷歌搜索后我发现的最佳描述阅读广告恶心,一直是OpenGL Related toolkits and APIs,但发现它缺乏。我甚至在SO上读过标签信息。

作为OpenGL的新手,我仍然试图掌握不同的概念。我已经到了创建一个使用glew,创建上下文(在Windows上,VS2010)和&的基本程序的阶段。绘制真正基本的形状,所有这些都不需要明确包含freeglut。所以我不明白为什么我需要它。

那么我的问题是,差异之间的区别是什么:
-freeglut
-glew
- (& glfw)
一个人可以做什么另一个不能

2 个答案:

答案 0 :(得分:50)

OpenGL Extension Wrangler( 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。

答案 1 :(得分:1)

我在他的大学里用它们做了一些工作。

GLEW是一个“跨平台的开源C / C ++扩展加载库”(来自其网站),而freeglut是一个窗口管理器,它取代了默认的OpenGL Utility Toolkit(GLUT)库。

所以,如你所见,两种不同的目的都有不同的目的。使用freeglut的意义在于它仍然是维护的,而默认的GLUT则不是,所以如果你想要修复错误和新功能,你应该使用它:)