OpenGL概述
OpenGL(Open Graphics Library 开发图形库)是一个跨编程语言、跨平台的三维的计算机图形模型库。
OpenGL是SGI公司开发的一套计算机图形处理系统,是图形硬件的软件接口,任何一个OpenGL应用程序无须考虑其运行环境所在平台与操作系统,在任何一个遵循OpenGL标准的环境下都会产生相同的可视效果。OpenGL不是一种编程语言,而是一种API(Application Programming Interface,应用程序编程接口)。
OpenGL功能
OpenGL作为一个性能优越的图形应用程序设计界面API,它独立于硬件和窗口系统,在运行各种操作系统的各种计算机上都可用,在军事,广播电视,CAD/CAM/CAE,娱乐,艺术造型,医疗影像,虚拟世界等领域都有着广泛的应用。它具体有一下功能。
- 模型绘制:OpenGL能够绘制点,线,和对边形。应用这些基本的形体,可以构造出几乎所有的三维模型。OpenGL通常用模型的多边形的顶点来描述三维模型。
- 模型观察:在建立了三维景物模型后,就需要用OpenGL描述如何观察所建立的三维模型。观察三维模型是通过一系列的坐标变换进行的。模型的坐标变在使观察者能够在视点位置观察与视点相适应的三维模型景观。在整个三维模型的观察过程中,投影变换的类型决定观察三维模型的观察方式,不同的投影变换得到的三维模型的景象也是不同的。最后的视窗变换则对模型的景象进行裁剪缩放,即决定整个三维模型在屏幕上的图像。
- 颜色模式的指定:OpenGL应用了一些专门的函数来指定三维模型的颜色。程序开发者可以选择二个颜色模式,即RGBA模式和颜色表模式。在RGBA模式中,颜色直接有RGB值来指定;在颜色表模式汇总,颜色值则由颜色表中的一个颜色索引值来指定。开发者还可以选择平面着色和光滑着色二种着色方式对整个三维景观进行着色。
- 光照应用:用OpenGL绘制的三维模型必须加上光照才能更加与客观物体相似。OpenGL提供了管理四种光(辐射光,环境光,镜面光和漫射光)的方法,另外还可以指定模型表面的反射特性。
- 图像效果增强:OpenGL提供了一系列的增强三维景观的图像效果的函数,这些函数通过反走样,混合和雾化来增强图像的效果。反走样用于改善图像中线段图形的锯齿而更平滑,混合用于处理模型的半透明的效果,雾化使得影像从视点到远处逐渐褪色,更接近于真实。
- 位图和图像处理:OpenGL还提供了专门对位图和图像进行操作的函数
- 文理映射:三维景物因缺少景物的具体细节而显得不够真实,为了更加逼真地表现三维景物,OpenGL提供了纹理映射的功能。OpenGL提供了一系列纹理映射函数使得开发者可以十分方便地把真实图像贴到景物的多边形上,从而可以在视窗内绘制逼真的三维景观。
- 实时动画:为了获得平滑的动画效果,需要先在内存中生成下一副图像,然后把已经生成的图像从内存