专题栏目:ARVRMR虚拟现实

OpenGL具有什么功能?

OpenGL作为一个性能优越的图形应用程序设计接口(API)它独立于硬件和窗口系统,在使用各种操作系统的计算机上都可用,并能在网络环境下以客户/服务器模式工作,是专业图形处理、科学计算等高端应用领域的标准图形库。在开发三维图形应用程序过程中 OpenGL具有以下功能。

(1)模型构建。OpenGL通过点、线和多边形等基本图元来绘制复杂的物体。为此, OpenGL中提供了丰富的基本图元绘制函数,从而可以方便地绘制三维物体。

(2)基本变换。 OpenGL提供了一系列的基本坐标变换:模型变换、取景变换、投影变换以及视口变换等。在构建好三维物体模型后模型变换能够使观察者在视点位置观察与视点相适应的三维物体模型;投影变换的类型决定了三维物体模型的观察方式,不同的投影变换得到的物体景象是不同的;视口变换则对模型的景象进行裁剪缩放,即决定整个三维模型在屏幕上的图像。

(3)光照处理。正如自然界中不可缺少光一样,要绘制具有真实感的三维物体就必须做相应的光照处理。 OpenGL里提供了管理4种光(射光、环境光、镜面光和漫射光)的方法,此外还可以指定物体模型表面的反射特性。

(4)物体着色。 OpenGL提供了两种模型着色模式,即RGB模式和颜色索引模式。在RGB模式中,颜色直接由RGB值来指定;而在索引模式中颜色值则由颜色表中的一个颜色索引值来指定。

(5)纹理映射。在计算机图形学中,把包含颜色、透明度值、亮度等数据的矩形数组称为纹理。纹理映射也可理解为将纹理粘贴在三维物体模型的表面上,以使三维物体模型看上去更加逼真。 OpenGL提供的一系列纹理映射函数,可使开发者十分方便地把真实图像贴到物体模型的表面上,从而可以在视口内绘制逼真的三维物体模型。

(6)动画效果。 OpenGL能够实现出色的动画效果,它通过双缓存技术(Double Buffer)来实现,即在前台缓存中显示图像的同时,在后台缓存中绘制下一幅图像;当后台缓存绘制完成后,就显示出该图像,与此同时前台缓存开始绘制第三幅图像,如此循环往复,便可提高图像的输出速率。

(7)位图和图像处理。 OpenGL提供了专门函数来实现对位图和图像的操作。

(8)反走样。在 OpenGL图形绘制过程中,由于使用的是位图,因此绘制出的图像的边缘会出现锯齿形状,这称为走样。为此, OpenGL中提供了点线、多边形的反走样技术。

内容来源:苗志宏《虚拟现实技术基础与应用》

发表评论

相关文章