/s/1qUOHFv1y123BRvfoWpZyWQ 提取码: 7ury
一、OpenGL的概念
OpenGL是渲染2D、3D矢量图形硬件的一种软件接口。本质上说,它是一个3D图形和模型库,具有高度的可移植性,并且具有非常快的渲染速度。OpenGL并不是一种语言,而是更像一个C运行时函数库。它提供了一些预包装的功能,帮助开发人员编写功能强大的三维应用程序。 OpenGL可以在多种操作系统平台上运行,例如各种版本的Windows、UNIX/Linux、Mac OS 和 OS/2等。如今,OpenGL广泛流行于游戏、医学影像、地理信息、气象模拟等领域,是高性能图像和交互性场景处理的工业标准。
OpenGL的高效实现(利用了图形加速硬件)存在于Windows,部分UNIX平台和Mac OS。这些实现一般由显示设备厂商提供,而且非常依赖于该厂商提供的硬件。
二、OpenGL ES与WebGL
OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL 三维图形 API 的子集,针对手机、PAD和游戏主机等嵌入式设备而设计
WebGL(全写Web Graphics Library)是一种3D绘图协议,这种绘图技术标准允许把JavaScript和OpenGL ES 结合在一起,通过增加OpenGL ES 的一个JavaScript绑定,WebGL可以为HTML5 Canvas提供硬件3D加速渲染,这样Web开发人员就可以借助系统显卡来在浏览器里更流畅地展示3D场景和模型了,还能创建复杂的导航和数据视觉化。
三、OpenGL发展史
OpenGL是个开放的标准,虽然它由SGI(美国硅图公司)首创,但它的标准并不是控制在SGI的手中,而是由OpenGL体系结构审核委员会(ARB)所掌管。 ARB由SGC、DEC、IBM、Intel和Microsoft等著名公司1992年创立,后来又陆续添加了nVidia、ATI等图形芯片领域的巨擎。 ARB每隔4年开一次会,对OpenGL规范进行维护和改善,并出台计划对OpenGL标准进行升级,使OpenGL一直保持与时代的同步。
2006年,SGIG公司把OpenGL标准的控制从ARB移交给一个新的工作组:Khronos小组(www.khronos.org)。 Khronos是一个由成员提供资金的行业协会,专注于开放媒体标准的创建和维护。
四、OpenGL 工具库 GLUT
包含大约30多个函数,函数名前缀为glut。glut是不依赖于窗口平台的OpenGL工具包,由Mark KLilgrad在SGI编写(现在在Nvidia),目的是隐藏不同窗口平台API的复杂度。函数以glut开头,它们作为aux库功能更强的替代品,提供更为复杂的绘制功能,此函数由glut.dll来负责解释执行。由于glut中的窗口管理函数是不依赖于运行环境的,因此OpenGL中的工具库可以在X-Window, Windows NT, OS/2等系统下运行,特别适合于开发不需要复杂界面的OpenGL示例程序。对于有经验的程序员来说,一般先用glut理顺3D图形代码,然后再集成为完整的应用程序。这部分函数主要包括:
窗口操作函数:
窗口初始化、窗口大小、窗口位置函数等 glutInit()、glutInitDisplayMode()、glutInitWindowSize()、glutInitWindowPosition()
回调函数:
响应刷新消息、键盘消息、鼠标消息、定时器函数 GlutDisplayFunc()、glutPostRedisplay()、glutReshapeFunc()、glutTimerFunc()、glutKeyboardFunc()、glutMouseFunc()
创建复杂的三维物体:
这些和aux库的函数功能相同
五、项目技术分析
GLUT 库文件
本项目提供的 GLUT 库文件包括以下五个关键文件:
glut.dll 和 glut32.dll:动态链接库文件,用于在运行时加载 GLUT 库。
glut.lib 和 glut32.lib:静态链接库文件,用于在编译时链接 GLUT 库。
glut.h:头文件,包含了 GLUT 库的所有函数声明和宏定义。
环境配置步骤
下载 GLUT 库:
您可以从官方网站下载 GLUT 库文件,或者直接使用本项目提供的压缩包。
文件放置位置:
将 glut.dll 和 glut32.dll 分别放置在 C:/Windows/System32 和 C:/Windows/SysWOW64 目录下。
将 glut.lib 和 glut32.lib 放置在自定义的库文件夹中,例如 F:\WorkSpace\OpenGL\OpenGLLibrary\Include。
将 glut.h 放置在 F:\WorkSpace\OpenGL\OpenGLLibrary\Include\GL 目录下。
Visual Studio 配置:
打开 Visual Studio 项目,配置项目属性:
在 VC++ 目录 中添加库文件路径。
在 链接器 -> 输入 中添加 glut.lib 和 glut32.lib。
将解决方案配置设置为 Debug x86。
代码引用:
在代码中使用 #include "GL/glut.h" 引用 GLUT 头文件。
有疑问加站长微信联系(非本文作者)