图形硬件
现在,计算机图形学的功能与应用已经得到了广泛承认,大量的图形硬件和软件系统已经应用到了几乎所有的领域。
通用计算机甚至许多手持计算器也已经普遍具备二维及三维应用的图形功能。在个人计算机上也可以配用多种交互输入设备及图形软件包。对于高性能应用,可以选择许多高级的专用图形硬件系统和技术。
视频显示设备
图形系统一般使用视频显示器作为其基本的输出设备。
刷新式 CRT
一直以来,大部分视频监视器的操作是基于标准的阴极射线管(CRT)设计的,但是也已经出现一些其他技术。近年来,平板显示由于其耗电少和薄型设计而变得越来越流行。
CRT 的基本工作原理。由电子枪发射出的电子束(阴极射线)通过聚焦系统和偏转系统,射向屏幕上涂覆有荧光层的指定位置。在电子束轰击的每个位置,荧光层都会产生一个小亮点。
由于荧光层发射的光会很快衰减,因此必须采用某种方法来保持屏幕图像。一种方法是将图形信息作为电荷分布存储在 CRT 上。这种电荷分布用来保持荧光粉处于激活状态。但现在用得较多的维持荧光粉亮度的办法是快速控制电子束反复重画图像。这类显示器称为刷新式 CRT,在屏幕上重复画图的频率称为刷新频率。
光栅扫描显示器
使用 CRT 的普通图形监视器是基于电视技术的光栅扫描显示器。在光栅扫描系统中,电子束横向扫描屏幕,一次一行,从顶到底依次进行。每一行称为一个扫描行。当电子束横向沿每一行移动时,电子束的强度不断变化,从而建立亮点组成的一个图案。
在某些光栅扫描系统和 TV 中,采用了隔行刷新方式分两次显示每一帧。
图形定义保存在称为刷新缓存或帧缓存的存储器中,这里的帧是指整个屏幕范围。该存储器保存一组对应屏幕所有点的强度值。电子束在屏幕上逐点移动时由从刷新缓存取出的强度值控制其强度。
在屏幕上“画图”是每次一行。每个可由电子束点亮的屏幕点称为一个像素。由于刷新缓存用来存储屏幕颜色值,因此它也称为颜色缓存。除了颜色以外,像素的其他信息也存储在缓存中,因而不同的缓存区域有时统称为“帧缓存”。
光栅系统常用称为分辨率的像素个数作为其特征。
视频显示器的另一特征是纵横比,定义为系统能显示的像素列数除以行数的结果(有时术语纵横比用来表示扫描行数被像素列数除的结果)。纵横比还可用在屏幕上显示水平和垂直方向相同长度线段所需的点数之比来描述。
光栅扫描系统对于屏幕的每一点都有存储强度信息的能力,从而使之较好地适用于包含细微阴影和彩色模式的场景的逼真显示。其可以显示的颜色或灰度等级依赖于 CRT 使用的荧光粉类型及每一像素对应的帧缓存中的位数。
随机扫描显示器
当 CRT 用于随机扫描显示器时,其电子束只在屏幕上显示图形的部分移动。电子束逐条地跟踪图形的组成线条,从而生成线条图。因此,随机扫描显示器也称为向量显示器、笔划显示器或笔迹显示器。图形的组成线条由随机扫描系统按任意指定的顺序绘制并刷新。
为了显示指定的图形,系统周期地按显示文件中的一组命令依次画出其组成线条。当所有画线命令处理完后,系统周期地返回到该列表的第一条画线命令。
随机扫描显示器设计成每秒 30~60 次画出图形的所有线条。高性能的向量系统在这样的刷新速率中能处理约 100000 条短线。当显示的线条很少时,则延迟每个刷新周期,以避免刷新速率超过每秒 60 帧,导致烧坏荧光层。
彩色 CRT 监视器
CRT 监视器利用能发射不同颜色光的荧光层的组合来显示彩色图形。不同荧光层的发射光组合起来,可以生成一种按其比例而定的可见颜色。
显示彩色图形的一种方法是在屏幕上涂上多层不同的荧光粉。发射颜色由电子束在荧光层中的穿透深度决定。这种方法称为电子束穿透法,它常用于红、绿两层结构。
速度慢的电子束只激活外面的红色层,速度快的电子束能穿过红色层并激活里面的绿色层。而中速的电子束通过发射红、绿光的组合来生成两种另外的颜色:橙色和黄色。
荫罩法常用于光栅扫描系统(包括彩色电视机),此方法基于我们熟悉的由红、绿、蓝三原色来组合颜色的原理,称它为 RGB 颜色模型。
对于每个像素位置,荫罩 CRT 有三个荧光彩色点:一个荧光点发射红光,另一个发射绿光,而第三个发射蓝光。这类 CRT 有三支电子枪,与每个彩色点一一对应,而荫罩栅格位于紧靠涂覆有荧光层的屏幕之后。由于人眼可将三点发出的光结合成一种组合色,因此三种荧光粉发射出的光生成像素位置的一个小颜色点。
改变三支电子束的强度等级,可以改变荫罩 CRT 显示的颜色。在某些低价格系统中,电子束只能置为开或关,因此只能显示八种颜色。较高级的系统可以为电子束设置中间强度等级,这样就允许生成几百万种不同的颜色。
人们将图形系统的彩色 CRT 设计成 RGB 监视器。这些监视器采用荫罩法且不经任何中间处理,直接从计算机系统取得每支电子枪(红、绿和蓝)的强度等级。在高质量的光栅图形系统的帧缓存中,每个像素对应 24 位,每支电子枪允许 256 级电压设置,因而每个像素有近 1700 万种颜色可供选择。每个像素具有 24 个存储位的 RGB 彩色系统通常称为全彩色系统或真彩色系统。
平板显示器
平板显示器代表一类相比 CRT 能减小体积、减轻重量并节省功耗的视频设备。
我们可以把平板显示器分为两类:发射显示器和非发射显示器。发射显示器是将电能转换为光能的设备。等离子体显示板、薄膜光电显示器及发光二极管都是发射显示器的实例。非发射显示器利用光学效应将太阳光或来自某些其他光源的光转换为图形模式。液晶设备是非发射平板显示器的最重要的例子。
非发射设备生成图形的原理是,通过能阻塞或传递光的液晶材料,传递来自周围的或内部光源的偏振光。
术语液晶是指这些化合物具有晶状结构的分子,并且可以像液体那样流动。平板显示器通常使用线状的液晶化合物,它们趋向于保持杆状分子的长轴排列。
如图所示,平板显示器可用线状的液晶构成,其中有两块玻璃板,每块都有一个光偏振器,与另一块形成合适的角度,内部充以液晶材料。在一块板上排放水平透明导体行,而另一块板上则放置垂直透明导体列。
行、列导体的交叉处定义一个像素位置。通常,分子按图中所示的“开态”排列。经过该材料的偏振光被扭曲,使之通过对面的偏振器,从而将光反射给观察者。如果要关掉像素,我们可以将电压置于两交叉导体,使分子对齐,从而不再扭曲偏振光。这类平板显示设备可视为无源矩阵 LCD。
构成 LCD 的另一种办法是在每个像素位置放置一个晶体管,并采用薄膜晶体管技术。晶体管用来控制像素位置的电压,并阻止液晶单元慢性漏电。这些设备称为激活矩阵显示器。
三维观察设备
显示三维场景的图形监视器的设计,采用了从振动的柔性镜面反射 CRT 图像的技术。此类系统的操作原理如图所示。
当变焦反射镜振动时改变焦距长度。这些振动是同 CRT 上对象的显示同步的。因此,将该对象上的每一点从镜面反射到空间位置,对应于该点到指定观察位置的距离。这样就允许我们围绕着一个对象或场景行走,并从不同的角度进行观察。
除了显示三维图像,这些系统也能显示选定对象在不同深度横截面的二维“切片”。
立体感和虚拟现实系统
表示三维对象的另一种技术是显示具有立体感的视图。这种方法并不生成真实的三维图像,而是为观察者的每只眼睛给出不同的视图来提供三维效果,从而使场景带有深度。
立体感视图也是虚拟现实系统的一个组成部分。用户可以步入场景并同环境进行交互。带有生成立体感视图的光学系统的头套可用来连接交互输入设备,从而定位并操纵场景中的对象。
头套内的传感系统跟踪观察者的位置,以便在观察者“走进”并同显示进行交互时,能看见对象的正面和背面。
另一种生成虚拟环境的方法是使用投影仪在布局好的墙上生成场景,观察者使用头套和戴在右手的数据手套同虚拟场景进行交互。
光栅扫描系统
简易光栅系统的结构如图所示,除了中央处理器(CPU)之外,还使用一个视频控制器或显示控制器来控制显示设备的操作。其中,帧缓存可以在系统存储器的任意位置,视频控制器通过访问顿缓存来刷新屏幕。
在常用的光栅系统组织中,帧缓存使用系统存储器的固定区域且由视频控制器直接访问。帧缓存的位置及相应的屏幕位置均使用笛卡儿坐标。
应用程序使用图形软件包的命令来设定显示对象相对于笛卡儿坐标系原点的坐标位置。多数情况下将坐标原点定义在屏幕的左下角。在屏幕刷新等硬件处理及某些软件系统中,像素位置以屏幕左上角为参考。
下图展示了视频控制器的基本刷新操作流程。有两个寄存器用来存放屏幕像素的坐标。开始时,为顶部扫描行将 x 寄存器置为 0、将 y 寄存器置为顶部扫描行号。
存储在帧缓存中该像素对应位置的值被取出,并用来设置 CRT 电子束的强度值。然后,x 寄存器增加 1,并且该过程对顶部扫描线上的下一个像素重复执行,并沿该扫描线对每个像素重复执行。
在处理完顶部扫描线的最后一个像素之后,x 寄存器复位为 0,y 寄存器减 1,指向顶部扫描行的下一行。然后,依次处理沿该扫描线的各像素,并且该过程对每条后继的扫描线重复执行。
当循环处理完底部扫描线的所有像素后,视频控制器将寄存器复位为最高行扫描线上第一个像素的位置,刷新过程重复开始。
为了加速像素处理,视频控制器每次从刷新缓存中取出多个像素值。这些像素强度则存放在单独的寄存器中,用来为一组相邻的像素控制 CRT 电子束的强度。当处理完该组像素后,从帧缓存取出下一块像素值。
视频控制器还能在不同的刷新周期内从不同的存储区中取出像素强度值。例如,在高性能系统中,常常提供两个帧缓存,一个缓存用来刷新,另一个以强度值填充。然后,这两个缓存可以互换角色。
光栅扫描显示处理器
下图给出了建立光栅系统的一种方法,其中包含独立的显示处理器,有时也指图形控制器或显示协处理器。显示处理器的用途是使 CPU 从图形的复杂处理中解脱出来。除了系统存储器以外,还可以提供独立的显示处理器的存储区域。
显示处理器的主要任务是将应用程序给出的图形定义数字化为一组像素强度值,并存放在帧缓存中,这个数字化过程称为扫描转换。扫描转换将给定直线和其他几何对象的图形命令转换为一组与屏幕像素位置对应的离散点。
例如,直线段的扫描转换意味着必须确定最接近于直线段路径的像素位置,并把每个位置的强度值存入帧缓存。图形定义中其他对象的扫描转换也使用类似的方法。
显示处理器也能执行某些附加的操作。这些功能包括生成各种线型(虚线、点线或实线)、显示彩色区域,及对显示对象执行某些变换和管理。显示处理器一般都有与鼠标等输入设备的接口。
小结
基于电视技术的光栅刷新监视器是主流的显示设备。光栅系统使用帧缓存来存储每一屏幕位置(像素)的颜色值。CRT 电子束从上到下扫描屏幕每一行时从帧缓存(也称为刷新缓存)中取出这些信息,从而在屏幕上画出图形。老式的向量显示器通过在指定的端点之间画出直线段来构成图形。图形以一组画线指令的形式存放。
现在已经出现了许多其他的视频显示设备。尤其是平板显示技术正在快速发展,而这些设备现在已应用于包括桌面型和膝上型计算机的各种系统中。等离子和液晶设备是平板显示器的两个例子。其他的技术有三维和立体观察系统等。虚拟现实系统使用立体显示头套或标准的视频监视器。