购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.2.5 计算机图形设备接口标准CGI

计算机图形接口标准CGI(computer graphics interface)是ISO TC97组提出的图形设备与图形软件之间的接口标准,标准号是ISO DP 9636。CGI是与设备无关的计算机图形标准,是一个与一个或多个设备相关的图形设备驱动程序之间进行数据交换和控制的标准。它既可以以子程序的形式提供给用户使用,又可以作为一种隐含的标准支持软件实现GKS、PHIGS等高层图形标准。CGI提供的功能集包括控制功能集、独立于设备的图形对象输出功能集、输入和应答功能集、图段功能集以及产生、修改、检索和显示像素数据的光栅功能集。在二维图形设备中能够找到CGI支持的功能,但没有任何一个图形设备包含CGI定义的所有功能,从这个意义上讲,CGI是用户程序和虚拟设备的接口。

我们把一个CGI的实现称为对象,对象既可以是一个程序也可以是硬件设备。CGI用户就是与设备无关的、用CGI对象实现的应用程序。应用程序和对象间的接口由CGI引用模式来描述,基于CGI应用程序和CGI对象的配置情况,引用模式提供了一个概念上的框架来说明CGI在计算机图形环境中应该怎样被使用。CGI包含3种引用模式:应用、对象、CGI产生器同解释器的配置。同时,为了利用应用程序创建、保存、修改和显示图形,CGI提供了管道机制。CGI的管道分为3种:第一种是图形对象管道,它用来说明应用程序怎样使用CGI提供的功能来创建图形;第二种是光栅管道,它用来说明图形对象管道以及与它相关的图形输出功能同光栅虚拟设备以及光栅操作功能之间的关系;第三种是输入管道,它用来说明CGI虚拟设备是怎样支持交互式输入的。

CGI的控制功能集包括CGI能涉及的虚拟设备和出错处理功能,从而实现对图形图像信息以及接口的非图形与图形部分的内部关系的管理。这些功能可大致分为如下5个方面。

(1)虚拟设备管理 提供了对虚拟设备的控制,包括启动和终止用户与CGI虚拟设备的对话期,管理虚拟设备上的画面等。

(2)坐标空间 在CGI中能接触到两个坐标系,一个是设备坐标系DC,另一个是虚拟设备坐标系VDC。从VDC到DC的映射是通过VDC的一个范围子集和在DC中定义的一个设备接口来确定的。

(3)视点 控制怎样使定义在虚拟设备坐标空间中的图形图像显示在绘画面上。

(4)出错处理 CGI规定了错误发生后所执行的动作,它们是出错检测、出错报告和出错处理,并且通过在CGI虚拟设备中设置的出错队列来保存这些出错的信息。此出错队列是一个栈,用户可以从CGI虚拟设备的栈中检索出出错信息。

(5)数值精度要求 CGI数值精度要求的说明。用户通过这种功能能够建立对CGI数据流接口上精度影响的各种类型的数据。

CGI的输出功能集创建包含用户画面的图形对象并控制它们的显示,确定图形对象的显示特性和几何特性。用户能够借助输出功能,使用标准图元或广义图元来生成标准图形对象或非图形对象,并且它能完成有关的控制和询问。CGI输出功能集包括以下5类:①图元功能,创建包含用户画面的图形对象;②属性功能,定义图形对象的属性;③属性控制功能,用户可控制图形对象的属性;④检索功能,返回与对象有关的信息;⑤输出询问功能,返回输出属性状态表和属性描述表有关的信息。

CGI的输入和应答功能集是指在CGI中,按返回数据的类型可以将逻辑输入设备分为8类,即定位、笔画、取值、选择、拾取、字符串、光栅和其他输入设备。光栅类的输入设备用来输入像素阵列,相应的物理设备是摄像机、扫描仪等。其他逻辑输入设备用来输入指定格式的数据记录,比如声音输入设备等。每种逻辑设备有4种输入方式:请求、采样、事件和应答。在应答请求方式下,允许将该逻辑输入设备的当前值反馈到相应的CGI虚拟设备上。

CGI的图段功能集定义了图形对象组合到图段中,并用唯一的图段标志符标识的一种方法,而且还提供了产生、修改和操纵图段的功能。这些功能包括图段操作、图段属性和图段查询。

CGI的光栅功能集提供了产生、检索、修改和显示像素数据的功能。大部分的图形设备是光栅设备或向量设备,两者都可以用来绘制直线或圆等图形对象。但是,这两种设备绘制出的图形对象是不同的。光栅设备用点阵列来显示图形,这些点总是位于设备坐标上。向量设备上显示的图形对象是连续的,但不一定和设备坐标相交,它独立于图形设备的分辨率。相比较而言,光栅设备所显示的图形不如向量设备所显示的图形光滑,并且显示的效果要根据分辨率而有所差异。但光栅设备支持向量设备所不支持的一些功能,我们把这些功能称为光栅操作功能集。第一个支持光栅操作的计算机图形标准就是我们所说的CGI。要支持光栅虚拟设备除了需要图形对象管道外,还需要光栅管道。一个画面中的许多像素所占据的内存区域称为位图,图形和图像的表示就是通过从位图中读像素并在光栅虚拟设备上显示出来的。CGI的光栅功能集包括以下3种:①光栅控制。在CGI中把位图分为可显示位图和不可显示位图,不可显示位图又分为全深度位图和映像位图。全深度位图是和显示器上每个像素用多少位来表示相匹配的,而映像位图的每个像素只有一位。位图操作可以把虚拟设备空间VDC中特定区域内的图像映射到当前的设备空间DC中来。从VDC到DC的一系列变换过程中并不会改变已有位图中像素的数量,只会影响位图在VDC中表示的区域。②光栅操作。包括像素阵列数据的检索和显示,各种形式的位图运算以及位图区域的移动、联合和复制等。③光栅属性。用来设置源位图和目的位图之间进行像素操作的绘图方式和填充位图区域功能。CGI中定义的位图绘制方式包含加运算型、布尔运算型(与、或、非)和比较运算型。此外,CGI还提供了对光栅描述表、光栅状态表和位图状态表的询问功能。 m++kR98bsM0/eNPyCNWWVJbE4VxPoRNOcvpO+oW/SYLNEY9zXtOrVr50cyxOjbF6

点击中间区域
呼出菜单
上一章
目录
下一章
×