[CG 从零开始] 2.弄清 OpenGL工具链

1. 跨平台窗口管理

为了将 OpenGL 渲染的内容在操作系统的窗口中显示出来,我们不可避免的需要调用操作系统的 API 创建窗口、渲染上下文等等,每个操作系统的 API 都不一样,为了减少繁琐工作以及为了程序的可以移植性,有一些工具库帮助我们完成了这些事情,使得我们不需要和 native API 打交道。

1.1 glut

OpenGL Utility Toolkit (GLUT) 是一个用于 OpenGL 程序的实用程序库,主要执行与主机操作系统的系统级 I/O。执行的功能包括窗口定义、窗口控制以及键盘和鼠标输入的监控。还提供了用于绘制许多几何图元(实体和线框模式)的例程,包括立方体、球体和犹他茶壶。GLUT 对创建弹出菜单也有一些有限的支持。

GLUT 的两个目标是允许在操作系统之间创建相当可移植的代码(GLUT 是跨平台的)并使学习 OpenGL 更容易。在使用 GLUT 时开始使用 OpenGL 编程通常只需要几行代码,并且不需要了解操作系统特定的窗口 API。

1.2 freeglut

freeglut 可以认为是 glut 的替代品,glut 已经不在维护和更新了,已经太老了,而且 glut 的许可不许修改并发布,所以后面有了 freeglut,freeglut 支持的操作系统更加完善,而且不断在更新、维护。

1.3 glfw

GLFW 是一个开源的多平台库,用于桌面上的 OpenGL、OpenGL ES 和 Vulkan 开发。它提供了一个简单的 API,用于创建窗口、上下文和表面,接收输入和事件。GLFW 是用 C 语言编写的,支持 Windows、macOS、X11 和 Wayland。glfw 很年轻,而且很活跃在 github 已经有了 3.9k+ star, 可以来代替 glut 和 freeglut。

2. OpenGL 函数加载库

OpenGL 加载库是一个在运行时加载指向 OpenGL 函数、核心以及扩展的指针的库。这是在大多数平台上从 1.1 以上的 OpenGL 版本访问函数所必需的。扩展加载库还抽象出不同平台上加载机制之间的差异。

大多数扩展加载库不需要包含 gl.h。相反,它们提供了自己必须使用的头文件。大多数扩展加载库使用代码生成来构造加载函数指针和包含的头文件的代码。

运行时加载可以进行 fallback 机制,例如某个能力当前平台不支持,那么可以降级到另一个功能上。

2.1 glew

OpenGL Extension Wrangler Library (GLEW) 是一个跨平台的开源 C/C++ 扩展加载库。GLEW 提供了有效的运行时机制来确定目标平台支持哪些 OpenGL 扩展。OpenGL 核心和扩展功能在单个头文件中公开。GLEW 已经在各种操作系统上进行了测试,包括 Windows、Linux、Mac OS X、FreeBSD、Irix 和 Solaris。

2.2 glad

GLAD 继 GL3W,GLEW之后,是一个比较获取的函数加载库,提供在线生成服务,可以选择自己需要的能力。官方网址为https://glad.dav1d.de/

2.3 结论

作为实验、学习、能力验证等,使用 glfw + glad 即可满足需求。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: "axu2cg_ai.rar" 是一个文件的名称,具体内容没有提供。根据该名称的后缀 ".rar" 可以推测这是一个压缩文件,常见的压缩格式之一。压缩文件可以将多个文件或文件夹打包成一个文件,用于减小文件大小和方便传输。 根据文件的名称,我们无法确定这个文件的具体内容是什么。要了解该文件的内容,需要解压缩该文件。用户可以使用压缩软件(例如WinRAR、7-Zip等)将 ".rar" 格式的文件解压缩,以获取其中包含的文件或文件夹。 解压缩后的文件可能是各种各样的,这取决于上传者打包文件时的目的和意图。它可能是应用程序、文档、图像、视频等各种类型的文件。 在解压缩文件之前,确保文件的来源安全可信。有时候,压缩文件可能包含恶意软件、病毒或损坏的文件。因此,在解压缩文件之前,建议使用安全软件对其进行扫描,并确保文件来源可靠。 总之,"axu2cg_ai.rar" 是一个 ".rar" 格式的压缩文件,导致其具体内容需要进行解压缩操作,才能确定其中包含的文件或文件夹。 ### 回答2: axu2cg_ai.rar 是一个文件的名称,其中 ".rar" 是文件的扩展名,表明这是一个被压缩的文件。通常,".rar" 格式的文件由 WinRAR 程序创建,并用于将一个或多个文件打包成一个单独的压缩文件。 由于无法对文件内容进行了解,无法提供关于该文件的具体信息。然而,基于常见的文件命名规则,"axu2cg_ai.rar" 可能与 "axu2cg" 或 "ai" 相关。可以猜测,"axu2cg" 和 "ai" 可能是文件的标识符、名称、分类或编码。需要打开或解压文件后才能获取更多关于该文件的详细信息。 需要注意的是,打开或解压缩文件时,要确保使用合法的软件,并且来源可信。遵循计算机安全最佳实践,不要打开未知来源或可疑的文件,以防止潜在的威胁和风险。 ### 回答3: axu2cg_ai.rar是一个压缩文件,其中包含了与AI相关的内容。RAR是一种常见的压缩格式,可以通过解压软件进行解压缩和访问。 axu2cg_ai.rar可能包含了一些AI模型、算法、代码等与人工智能相关的文件。通过解压缩后,我们可以查看其中的文件内容,了解其中可能包含了哪些与AI技术有关的内容。 对于开发人员和研究人员来说,axu2cg_ai.rar可能是一个非常有价值的资源。他们可以在其中找到有关机器学习、深度学习、自然语言处理等领域的相关文件,其中可能有一些研究成果、实现代码、训练好的模型等。这些内容可以帮助他们更好地理解和研究AI技术,并可以作为自己项目的基础。 此外,axu2cg_ai.rar也可能是一些教育资源的压缩包,其中包含了一些与AI教学相关的课程资料、实验、案例等。对于学生和学习者来说,这些资源可以作为学习AI的参考资料,帮助他们更好地学习和运用AI技术。 总之,axu2cg_ai.rar是一个与AI相关的压缩文件,其中可能包含了与人工智能相关的内容,对于开发人员、研究人员以及学生来说都可能具有一定的学习和研究价值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值