我最近开始学习OpenGL(> 3.3)&我注意到很多例子和教程同时使用freeglut和amp; glew,但是根本没有真正解释它们的区别。谷歌搜索后我发现的最佳描述阅读广告恶心,一直是OpenGL Related toolkits and APIs,但发现它缺乏。我甚至在SO上读过标签信息。
作为OpenGL的新手,我仍然试图掌握不同的概念。我已经到了创建一个使用glew,创建上下文(在Windows上,VS2010)和&的基本程序的阶段。绘制真正基本的形状,所有这些都不需要明确包含freeglut。所以我不明白为什么我需要它。
那么我的问题是,差异之间的区别是什么:
-freeglut
-glew
- (& glfw)
一个人可以做什么另一个不能?
答案 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)