现在,计算机图形学的功能与应用已经得到了广泛承认,大量的图形硬件和软件系统已经应用到了几乎所有的领域。通用计算机甚至许多手持计算器也已经普遍具备二维及三维应用的图形功能。在个人计算机上也可以配用多种交互输人设备及图形软件包。对于高性能应用,可以选择许多高级的专用图形硬件系统和技术。本章将探讨图形硬件和图形软件包的基本特性。
1视频显示设备
图形系统一般使用视频显示器作为其基本的输出设备。一直以来,大部分视频监视器的操作是基于标准的阴极射线管(Cathode Ray TubeCRT)设计的但是也已经出现一些其他技术近年来,平板显示(flat-panel)由于其耗电少和薄型设计而变得越来越流行。
1.1 刷新式CRT
图 2.1给出了CRT的基本工作原理。由电子枪发射出的电子束(阴极射线)通过聚焦系统和偏转系统,射向屏幕上涂覆有荧光层的指定位置。在电子束轰击的每个位置,荧光层都会产生一个小亮点。由于荧光层发射的光会很快衰减,因此必须采用某种方法来保持屏幕图像。一种方法是将图形信息作为电荷分布存储在 CRT 上。这种电荷分布用来保持荧光粉处于激活状态。但现在用得较多的维持荧光粉亮度的办法是快速控制电子束反复重画图像。这类显示器称为刷新式CRT(refresh CRT),在屏幕上重复画图的频率称为刷新频率(refresh rate)。
CRT 电子枪的主要元件是受热激发的金属阴极和控制栅极(参见图2.2)。通过给称为灯丝的线圈通电来加热阴极,引起受热的电子“沸腾出”阴极表面。在CRT封装内的真空里,带负电荷的自由电子在较高的正电压的作用下加速冲向荧光屏。该加速电压可由 CRT封装内靠近荧光屏处充以正电荷的金属涂层生成,或者采用加速阳极(参见图2.2)。有时,电子枪结构中把加速阳极和聚焦系统放在同一部件中。
电子束的强度受设置在控制栅极上的电压电平控制。控制栅极是一个金属圆筒,紧挨着阴极安装。若在控制栅极上加上较高的负电压,则将阻止电子活动从而截断电子束,使之停止从控制栅极末端的小孔通过。而在控制栅极上施以较低的负电压,则仅仅减少了通过的电子数量。由于荧光层发射光的强度依赖于轰击屏幕的电子数量,因此可以通过改变控制栅极的电压来控制显示的光强。我们使用图形软件命令来设定各个屏幕位置的亮度级,这将在第3 章进行讨论
CRT的聚焦系统用来控制电子束在轰击荧光层时会聚到一个小点。否则,由于电子互相排斥,电子束在靠近屏幕时会散开。聚焦既可以用电场实现,也可以用磁场实现。对于静电聚焦电子束通过如图2.2所示的带正电荷的金属圆简,该圆筒形成一个静电透镜。静电透镜的作用是使电子束聚焦在屏幕的中心,正如光学透镜将光束聚焦在指定的焦距一样。类似透镜的聚焦效果,可以由环绕CRT封装外部安装的线圈所形成的磁场来完成。磁性聚焦透镜能在屏幕上产生最小尺寸的亮点。
在高精度系统中,还使用附加的聚焦硬件,以保持电子束能聚焦到所有屏幕位置。因为多数CRT 弯曲部分的直径大于从聚焦系统到屏幕中心的距离,所以电子束到屏幕不同点所经过的距离是不同的。因此,电子束只能在屏幕中心正确聚焦。当电子束移到屏幕边框时,所显示的图像会变得模糊。系统可按电子束的屏幕位置来调整聚焦,从而弥补这一缺陷。
电子束的偏转受电场或磁场控制。CRT通常配备一个装在其封装外部的磁性偏转线圈,如图2.1所示。使用两对线圈,将它们成对地安装在CRT 封装的颈部,一对安装在颈部的顶部和底部,另一对设置在颈部两侧。每对线圈产生的磁场造成横向偏转力,该力正交于磁场方向,也垂直于电子束的行进方向。一对线圈实现水平偏转,另一对则实现垂直偏转。调节通过线圈的电流可得到适当的偏转量。当采用静电偏转时,则在 CRT 封装内安装两对行极板。一对为水平放置,控制垂直偏转;另一对为垂直放置,控制水平偏转(参见图2.3)。
通过将 CRT电子束的能量转移到荧光层,就可以在屏幕上形成亮点。当电子束的电子撞击到荧光层并停止运动时,其动能被荧光层吸收。电子束能量的一部分因摩擦而转换为热能,余下部分导致荧光层原子的电子跃迁到较高的量子能级。经过一段短暂的时间之后,“激活”的荧光层电子释放了较小的量子光能,开始回落到自身的稳定状态。我们在屏慕上看到的是所有的电
子光发射的组合效应:发光点随所有激活的荧光层电子转移到自身的基本能级后,会很快衰减荧光层发射光线的频率(或颜色)同被激活量子态与基本状态之间的能级差成正比。CRT采用的荧光层有着不同的类型。除了颜色之外,这些荧光层之间的主要差异是它们的余辉(persistence)时间:CRT电子束移走后,它们将继续发光(即激活电子转为基本态)多长时间。余辉时间定义成从屏幕发光到衰减为其原亮度十分之一的时间。较短余辉时间的荧光层,需要较高的刷新速率来保持屏幕图形不闪烁。短余辉的荧光层适用于动画,而长余辉荧光层则适用于显示高复杂度的静态图形。虽然有的荧光层的余辉时间大于一秒,但是对于图形监视器通常采用余辉时间为10~60ms的材料制成。
图2.4 表明了屏幕上一个亮点的亮度分布。亮点中心位置的亮度最大,并按高斯分布向亮点的边缘衰减。这个分布依赖于CRT电子束横截面的电子密度分布。CRT无重叠显示的最多点数称为分辨率(resolution)。虽然它常常简述为每个方向的总点数但更精确的分辨率定义是在水平和垂直方向上每厘米可绘制的点数。亮点的强度满足高斯分布(参见图2.4)因此要使两个相邻亮点保持区别其间隔应大于亮点强度在最大强度值的60%时的直径。这种覆盖位置如图2.5 所示。亮点尺寸也依赖于亮度。当每秒有更多的电子加速飞向荧光层时,CRT 电子束的直径及发光亮点的面积增大。此外,增大的激活能量趋向于传播到邻近的荧光原子,而不是正对着电子束的路径,这就进一步加大了亮点直径。因此,CRT 的分辨率取决于荧光层的类型、显示的亮度、聚焦系统及偏转系统。典型的高质量系统分辨率为 1280x1024,在许多系统中还要用到更高的分辨率。高分辨率系统常常称为高清晰度系统(high-definitionsystem)。图形监视器的物理尺寸是由屏幕对角线的长度给定的。可从12 英寸(1英寸=2.54厘米)到27英寸或更大一些。CRT监视器可与各类计算机系统相连接,因此可实际绘制的屏幕点数依赖于与它相连接的系统的能力。
1.2光栅扫描显示器
使用CRT的普通图形监视器是基于电视技术的光栅扫描显示器(raster-scan display)。在光栅扫描系统中,电子束横向扫描屏幕,一次一行,从顶到底依次进行。每一行称为一个扫描行(scan line)。当电子束横向沿每一行移动时,电子束的强度不断变化,从而建立亮点组成的一个图案。图形定义保存在称为刷新缓存(refresh buffer)或缓存(frame buffer)的存储器中这里的帧(frame)是指整个屏幕范围。该存储器保存一组对应屏幕所有点的强度值。电子束在屏幕上逐点移动时由从刷新缓存取出的强度值控制其强度。这样,如图2.6 所示,在屏幕上“画图”是每次一行。每个可由电子束点亮的屏幕点称为一个像素(pixel或pel是 pictureelement 的简写)。由于刷新缓存用来存储屏幕颜色值,因此它也称为颜色缓存(color bufer)。除了颜色以外,像素的其他信息也存储在缓存中,因而不同的缓存区域有时统称为“帧缓存”。光栅扫描系统对于屏幕的每一点都有存储强度信息的能力,从而使之较好地适用于包含细微阴影和彩色模式的场景的逼真显示。家用电视和打印机是另一类使用光栅扫描方式的例子。
光栅系统常用称为分辨率的像素个数作为其特征。视频显示器的另一特征是纵横比(aspectratio),定义为系统能显示的像素列数除以行数的结果(有时术语纵横比用来表示扫描行数被像素列数除的结果)。纵横比还可用在屏幕上显示水平和垂直方向相同长度线段所需的点数之比来描述因此,纵横比为4/3表示用4 点绘出的水平线与用3点绘出的直线有相同的物理长度,如相同的厘米数。类似地,任意矩形(包括整个屏幕)的纵横比可用其宽度除以高度所得的结果来描述。
光栅系统可以显示的颜色或灰度等级依赖于 CRT 使用的荧光粉类型及每一像素对应的顿缓存中的位数。对于一个简单的黑白系统来说,每一个屏幕点或亮或暗,因此每个像素只需一位来控制屏幕位置上的亮度。该位取值为1,表示电子束在该位置时开通,取值为0表示电子束在该位置时关闭。如果要使电子束除了“开”、“关”两状态之外有更多的强度等级,那么就需要提供附加位。在高性能系统中每一像素可多达24位,这时分辨率为1024 x1024 的屏幕要使用3MB容量的刷新缓存。每像素的位数有时也称为缓存深度(depth)或位平面(bit plane)数。每像素一位的帧缓存通常称为位图(bitmap),而每像素多位的缓存称为像素图(pixmap),但是这些术语也用来表述任意个二进制值的阵列或彩色阵列像素图。
当刷新频率不太低时,我们会感觉到刷新过程中相邻两帧的内容是平稳过渡的。在每秒24帧以下时,我们会感觉到屏幕上相邻图像之间有间隙,即图像出现闪烁。例如,早期的无声电影以每秒16 顿的速率拍摄因而放映时有闪烁现象。在20世纪20年代开发有声系统时,电影速率已增加到每秒24顿,因而消除了闪烁及演员的不稳定运动。早期的光栅计算机系统按每次刷新30来设计,因而产生了较好的结果,但由于监视器上的显示技术与电影有着根本的不同,因此图片质量的改善还依赖于监视器更高的刷新频率。电影放映机可以通过持续放映一帧直到下一帧开始放映来保持显示结果的连续性。但是在视频监视器上,荧光点在点亮后立即开始衰退。因此,现在多数扫描显示器使用每秒60~80 的刷新频率部分系统达到每秒120的刷新频率。有些图形系统设计成使用可变刷新频率。例如,为立体显示应用选择高刷新频率,使其在交替显示场景的两个视图时不会闪烁。这一类应用通常使用多个帧缓存的方法。
有时,刷新频率以每秒多少周期或赫兹(HZ)为单位进行描述,其中一个周期对应于一顿。因此,我们可以将每秒60的刷新频率简单地称为60 H。在每条扫描线末端,电子返回到屏幕的左边,然后又开始显示下一条扫描线。刷新每条扫描线后,电子束返回到屏幕左端,这称为电子束的水平回扫(horizontalretrace)。而在每(以一秒的1/80到1/60显示)的终止处电子束返回(垂直回扫,verticalretrace)到屏幕的左上角,开始显示下一顿。
在某些光栅扫描系统和TV中采用了隔行(interlaced)刷新方式分两次显示每一。第一次电子束从顶到底,一行隔一行地扫描。垂直回扫后,电子束再扫描另一半扫描线(参见图2.7)。这种隔行扫描方式使得在逐行扫描所需时间的一半时,就能看到整个屏幕显示。隔行扫描技术主要用于较慢的刷新频率。例如,对于一个老式的、每秒30 的非隔行扫描显示器,可能会注意到它产生了闪烁。但是,采用隔行扫描,两次扫描中的每一次可以用1/60 秒完成,也就是刷新频率接近每秒60。这是避免闪烁且提供相邻扫描线包含类似显示信息的有效技术
1.3随机扫描显示器
当CRT用于随机扫描显示器(randomscandis-play)时,其电子束只在屏幕上显示图形的部分移动。电子束逐条地跟踪图形的组成线条,从而生成线条图。因此,随机扫描显示器也称为向量显示器(vector display)、笔划显示器(stroke-writing display)或笔迹显示器(calligraphic display)。图形的组成线条由随机扫描系统按任意指定的顺序绘制并刷新(参见图2.8)。笔式绘图仪也以类似的方式工作,它是随机扫描、硬拷贝设备的一个例子.
随机扫描系统的刷新频率依赖于显示的线数。这时图形的定义是存放在称为刷新显示文件存储区的一组画线命令。刷新显示文件称为显示列表(display list)、刷新显示文件(refresh displayfile)向量文件(vectorfile)或显示程序(display program)。为了显示指定的图形系统周期地按显示文件中的一组命令依次画出其组成线条。当所有画线命令处理完后,系统周期地返回到该列表的第一条画线命令。
随机扫描显示器设计成每秒30~60 次画出图形的所有线条。高性能的向量系统在这样的刷新速率中能处理约 100000条短线。当显示的线条很少时,则延迟每个刷新周期,以避免刷新速率超过每秒 60 。否则,线条的刷新过快,可能会烧坏荧光层。随机扫描系统用于画线应用,如建筑和工程布局图等,它不能显示逼真的有阴影的场景。由于图形定义是作为一组画线命令来存储而非所有屏幕点的强度值,所以向量显示器一般具有比光栅系统更高的分辨率。另外,向量显示器的 CRT 电子束直接按线条路径画线,因而生成光滑线条。相比之下,光栅系统通过显示一组离散点来画线,因而生成锯齿状线条。但是,光栅系统极大的灵活性和提高的画线能力还是淘汰了向量技术。
1.4彩色CRT监视器
CRT监视器利用能发射不同颜色的荧光层的组合来显示彩色图形。不同荧光层的发射光组合起来,可以生成一种按其比例而定的可见颜色。
显示彩色图形的一种方法是在屏幕上涂上多层不同的荧光粉。发射颜色由电子束在荧光层中的穿透深度决定。这种方法称为电子束穿透法(beam-penetration),它常用于红、绿两层结构速度慢的电子束只激活外面的红色层,速度快的电子束能穿过红色层并激活里面的绿色层。而中速的电子束通过发射红、绿光的组合来生成两种另外的颜色:橙色和黄色。电子的速度,也就是屏幕上任意一点的颜色,受电子束的加速电压控制。电子束穿透法是随机扫描监视器生成彩色图形的廉价途径,但是只能有较少的颜色种类,而且图形质量不如其他方法的好。
萌罩法(shadow-mask)常用于光栅扫描系统(包括彩色电视机)因为它能产生的彩色范围比电子束穿透法大得多。这种方法基于我们熟悉的由红、绿、蓝三原色来组合颜色的原理,称为 RGB颜色模型(RGB color model)。对于每个像素位置,荫罩CRT有三个荧光彩色点:一个荧光点发射红光,另一个发射绿光,而第三个发射蓝光。这类CRT有三支电子枪,与每个彩色点一一对应,而荫罩栅格位于紧靠涂覆有荧光层的屏幕之后。由于人眼可将三点发出的光结合成一种组合色,因此三种荧光粉发射出的光生成像素位置的一个小颜色点。图2.9给出了通常用于彩色CRT系统的 delta-delta 荫罩法。其中的三支电子束一起被偏转、聚焦并发射到荫罩上。荫罩上有按荧光点模式分布的一系列孔。当三支电子束通过荫罩上的孔时,将激活一个点三角形,从而在屏幕上显示一个小的彩色亮点。荧光点以三角形排列,并使每支电子束通过荫罩时,只能激活与之对应的彩色点。三支电子枪的另一配置结构是按线(in-line)排列。其中,三支电子枪及屏幕上相应的RGB 彩色点都沿扫描线而不是成三角形模式排列。这种电子枪的按线排列容易保持对齐状态,通常用于高分辨率的彩色CRT。
改变三支电子束的强度等级,可以改变荫罩 CRT 显示的颜色。关掉三支枪中的两支,我们只能得到来自单个激活荧光点的颜色(红、绿、蓝)。在以相同的电子束强度激活三点时,我们将看到白色。黄色由相同强度的绿点和红点产生,品红由相同强度的蓝点和红点产生。而当蓝点和绿点的激活程度相同时,将呈现青色。在某些低价格系统中,电子束只能置为开或关,因此只能显示八种颜色。较高级的系统可以为电子束设置中间强度等级,这样就允许生成几百万种不同的颜色。
彩色图形系统可以根据配用多种 CRT 显示设备进行设计。某些廉价的家用计算机系统和电视游戏机则设计成能配用彩色电视机和 RF(radio-frequency,无线电频率)调制器。RF 调制器的作用是模拟广播电视台的信号。这意味着必须组合图形的颜色和亮度信息,并叠加到广播频率载波信号上作为电视机的输人。然后,电视机中的电路从 RF 调制器接收这种信号,抽取图形信息,并在屏幕上进行显示。正如我们可以预料的,由于 RF 调制器和TV 电路对图形信息的额外处理,将会降低图像显示的质量。
合成式监视器(composite monitor)是用于允许广播电路旁路的电视适配设备。这些显示设备仍然要求组合图形信息,但无须载波信号。它将图形信息组合为合成信号、然后由监视器分离
所得图形的质量仍然不是太好。人们将图形系统的彩色CRT设计成RGB监视器(RCB monitor)。这些监视器采用荫罩法目不经任何中间处理,直接从计算机系统取得每支电子枪(红、绿和蓝)的强度等级。在高质量的光栅图形系统的帧缓存中,每个像素对应24位每支电子枪允许256级电压设置因而每个像素有近1700万种颜色可供选择。每个像素具有24个存储位的RGB彩色系统通常称为全彩色系统(full-color system)或真彩色系统(true-colorsystem)。
1.5平板显示器
虽然多数图形监视器还是采用CRT构造,但是其他一些技术可能很快要替代CRT监视器平板显示器(flat-panel display)代表一类相比CRT能减小体积减轻重量并节省功耗的视频设备。平板显示器的一个有意义的特性是比 CRT要薄,可以把它们挂在墙上或戴在手腕上。有些平板显示器上甚至还可以进行书写,因此它们可用于袖珍式笔记本。平板显示器另外还用于小型TV监视器、计算器、袖珍式视频游戏机、膝上型计算机、航空座椅上的电影屏幕、电梯内的告示牌以及在要求不高的便携式监视器的应用场合中作为图形显示器。
我们可以把平板显示器分为两类:发射显示器(emissivedisplay)和非发射显示器(nonemissivedisplay)。发射显示器是将电能转换为光能的设备。等离子体显示板、薄膜光电显示器及发光二极管都是发射显示器的实例。平板 CRT 也已发明出来,其中的电子束以平行于屏幕的方向加速然后偏转90°轰击屏幕。但是,还未证实平板 CRT 同其他发射设备一样可以实际应用。非发射显示器利用光学效应将太阳光或来自某些其他光源的光转换为图形模式。液晶设备是非发射平板显示器的最重要的例子。
等离子体显示板(plasma panel)也称气体放电显示器(gas-dischargedisplay),通过将通常包含氛气的混合气体充人两块玻璃板之间的区域而构成。一块玻璃板上放置一系列垂直导电带,而另一块玻璃板上构造一组水平导电带(参见图2.10)。在成对的水平和垂直导电带上施加点火电压,导致两导电带交叉点处的气体进人电子和离子的辉光放电等离子区。图形的定义存储在刷新缓存中,点火电压以每秒60 次的速率刷新像素位置(导电带的交叉处)。使用交变电流方法快速提供点火电压,可以得到较亮的显示。像素之间的分隔是由导电带的电场提供的。等离子体显示板有一个缺点,即它是一种严格的单色设备,但现在已开发出能显示彩色和灰度等级的等离子显示器。
薄膜光电显示器(thin-filmelectroluminescentdisplay)具有与等离子体显示板类似的结构。不同之处是它在玻璃板之间的区域充以荧光物,诸如硫化锌与锰的胶状物,而不再是气体(参见图2.11)。当一个足够高的电压加到一对交叉的电极时,荧光层在两电极交叉区域成为一个导电体。电能由锰原子吸收,然后释放能量成为一发光亮点,这类似于等离子体显示板的辉光放电的等离子体效应。光电显示器比等离子体显示板需要更多的功耗,而且难以达到好的颜色和灰度等级显示。
第三类发射设备是发光二极管(light-emitting diode LED)。二极管以矩阵排列形成显示器的像素位置,图形的定义存储在刷新缓存中。如同 CRT 的扫描线刷新一样,信息从刷新缓存读出并转换为电压电平,然后应用于二极管,在显示器上产生发光图案。
液晶显示器(liquid-crystal display,LCD)通常用于小型系统,如膝上型计算机及计算器(参见图2.12)。这些非发射设备生成图形的原理是,通过能阻塞或传递光的液晶材料,传递来自周围的或内部光源的偏振光。
术语液晶(liquidcrystal)是指这些化合物具有晶状结构的分子,并且可以像液体那样流动。平板显示器通常使用线状的液晶化合物,它们趋向于保持杆状分子的长轴排列。因此平板显示器可用线状的液晶构成,如图2.13所示。其中有两块玻璃板,每块都有一个光偏振器,与另一块形成合适的角度,内部充以液晶材料。在一块板上排放水平透明导体行,而另一块板上则放置垂直透明导体列。行、列导体的交叉处定义一个像素位置。通常,分子按图2.13中所示的“开态”排列。经过该材料的偏振光被扭曲,使之通过对面的偏振器,从而将光反射给观察者。如果要关掉像素,我们可以将电压置于两交叉导体,使分子对齐,从而不再扭曲偏振光。这类平板显示设备可视为无源矩阵(passive-matrix)LCD。图形的定义存储在刷新缓存,以每秒60 顿的速率刷新屏幕,与发射设备相同。使用固态电子设备时,通常也利用背光,因而系统不完全依赖于外部光源。可以使用不同的材料或染料来显示颜色,并在每个屏幕位置放置一个三合一的彩色像素。构成LCD的另一种办法是在每个像素位置放置一个品体管,并采用薄膜晶体管技术。晶体管用来控制像素位置的电压,并阻止液晶单元慢性漏电。这些设备称为激活矩阵(active-matrix)显示器。
1.6三维观察设备
显示三维场景的图形监视器的设计,采用了从振动的柔性镜面反射 CRT 图像的技术。此类系统的操作原理如图2.14 所示。当变焦反射镜振动时改变焦距长度。这些振动是同CRT 上对象的显示同步的。因此,将该对象上的每一点从镜面反射到空间位置,对应于该点到指定观察位置的距离。这样就允许我们围绕着一个对象或场景行走,并从不同的角度进行观察。除了显示三维图像,这些系统也能显示选定对象在不同深度横截面的二维“切片”,例如在医学应用中分析来自超声波造影和 CAT 扫描设备的数据:在地质应用中可以分析地形的地震数据,在设计应用中引入实体对象,以及分子系统和地形系统的三维仿真应用。
1.7立体感和虚拟现实系统
表示三维对象的另一种技术是显示具有立体感的视图。这种方法并不生成真实的三维图像而是为观察者的每只眼睛给出不同的视图来提供三维效果,从而使场景带有深度。为得到具有立体感的投影,首先需要得到从相对于每只眼睛(左眼与右眼)的观察方向上产生的有关场景的两个视图。可以通过指定不同的观察位置,并由计算机生成场景来获得这两个视图,或者用一对立体照相机拍摄某些对象或场景来获得这两个视图。当我们同时用左眼得到左视图、右眼得到右视图时,则两个视图合成为单个图像,并感觉到场景带有深度。产生立体感效果的途径之一是使用光栅系统在不同的刷新周期交替显示两种视图。通过眼镜观察屏幕,每个镜片设计成高速交替的快门,这种快门能同步阻止另一视图的显示,图2.15 是使用液晶快门和使眼镜与屏幕视图同步的红外线发射器的一种设计。
立体感视图也是虚拟现实(virtual-reality)系统的一个组成部分。用户可以步人场景并同环境进行交互。带有生成立体感视图的光学系统的头套可用来连接交互输人设备,从而定位并操纵场景中的对象。头套内的传感系统跟踪观察者的位置,以便在观察者“走进”并同显示进行交互时,能看见对象的正面和背面。另一种生成虚拟环境的方法是使用投影仪在布局好的墙上生成场景,观察者使用头套和戴在右手的数据手套同虚拟场景进行交互(参见2.4节)
低成本交互虚拟现实环境可以用视频监视器、立体眼镜和头部跟踪设备构建。跟踪设备放置在视频显示器的顶部,并用来监视头部的运动。因此,对场景的观察位置可跟随头部位置的变化而变化。