c++ - 什么是 Glew、Glut 和 glfw3?哪些在 Opengl 3/4 中已被弃用

标签 c++ opengl

关闭。这个问题需要更多focused .它目前不接受答案。












想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post .

去年关闭。




Improve this question




我一直在网上阅读关于 OpenGl 3 和 4 与以前的版本有何不同。

一些教程要求:

#include <GL/glew.h>

其他人将拥有:
#include <GLUT/glut.h>

什么是Glew , Glutglfw3 ?哪些已弃用,哪些在现代 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/

相关文章:

c++ - 如何将用户定义的类用作模板类的一种类型,并正确地为这两个类重载 <<?

c++ - 没有使用 glShadeModel(GL_SMOOTH) 的颜色插值

opengl - 二次幂纹理的效率有多高?

java - 如何在 java LWJGL 的游戏中添加光照?

multithreading - 带网络代码的OpenGL程序示例?

c++ - 将整数参数从 Vb6 传递到 C++ dll

c++ - std::vector 的替代方案,因为重新分配会使指向元素的指针无效

java - 字符串中的空终止

c# - 使用带有 C# 的 OpenGL 截取游戏的屏幕截图

opengl - 如何在 glsl 支持中使用#include ARB_shading_language_include