关闭。这个问题需要更多focused .它目前不接受答案。
想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post .
去年关闭。
Improve this question
我一直在网上阅读关于 OpenGl 3 和 4 与以前的版本有何不同。
一些教程要求:
#include <GL/glew.h>
其他人将拥有:
#include <GLUT/glut.h>
什么是
Glew
, Glut
和 glfw3
?哪些已弃用,哪些在现代 opengl 中使用?
最佳答案
GLEW(或 OpenGL Extension Wrangler)几乎是一个加载程序,可帮助您以“简单”的方式管理 OpenGL。一般来说,OpenGL 库的函数已经在您的计算机上,以二进制形式 (.dll) 包含在您的图形驱动程序中,而 GLEW 是您和已经存在于其中的 OpenGL 之间的门户。它以一种方便您使用的方式提供了OpenGL的功能。这就是 GLEW 开发人员所说的“加载函数指针”的意思——访问计算机的图形驱动程序并从中加载特定函数,以便您可以在 C++ 代码中使用它们。
备注 :实际上你可以自己做 GLEW 做的事情,正如 t.niese 在评论部分指出的那样,但这对初学者来说是一个很大的挑战,因此使用 GLEW 更方便。
另一方面,GLFW(或图形库框架)是一个库,可帮助您管理诸如窗口、其大小、参数、基本输入和事件等内容。 GLEW 需要设置一个窗口和一个有效的 OpenGL 上下文,而这正是 GLFW 派上用场的地方。
有趣的是,这些库不仅是为了让您的开发生活更轻松,而且让您的部署速度更快。 GLEW 和 GLFW 是跨平台的,因此您不必在不同平台上编写同一应用程序的不同版本。
实践表明,GLEW/GLAD + GLFW 是基于 OpenGL 的现代计算机图形的常见用途。但是,您可以根据需要选择其他库。但是一般的方法是使用这些,因为它们支持最新版本的 OpenGL,并且总是得到更新。
如果您是 OpenGL 的新手并想学习它的基础知识,您应该查看此 youtube playlist .有一个简单且非常快速的 OpenGL 教程,并且作为开发人员,您绝对应该知道一些事情。玩得开心!
编辑
GLUT 和 GLFW 基本相同,但您需要知道的是,最初的 GLUT 已经不受支持 20 年,并且有一个免费的开源替代方案,称为 freeglut。所以,我想这就是您所说的“已弃用”的意思:)
关于c++ - 什么是 Glew、Glut 和 glfw3?哪些在 Opengl 3/4 中已被弃用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61671010/