图形显示系统中将选择的点与物体关联的装置与方法

文档序号:6406344阅读:142来源:国知局
专利名称:图形显示系统中将选择的点与物体关联的装置与方法
技术领域
本发明一般涉及图形显示系统的一位用户与在该系统的视频显示器上描绘的信息之间的一个界面。更具体地说,本发明定义了用于从以三维透视图显示在一个基于帧缓冲器的图形视频显示系统上的可见物体中进行选择的装置与方法。
将三维图形图象描绘在一个二维光栅扫描显示屏幕上通常包含使用一个帧缓冲器来存储供光栅显示同步扫描的最终图象。这一图形显示结构包括若干存储器,它们独立地存储窗口信息,一般遮蔽信息,以及Z缓冲器信息。美国专利4,609,917中描述了一个代表性系统。
在这种技术的范围内,帧缓冲器按象素位置存储图象信息,该图象信息经同步扫描、转换后在视频显示器上显示。帧缓冲器的信息包括由一台处理器生成三维物体、参照一个Z缓冲器进行深度比较并且只将可见的物体或物体的一部分写入帧缓冲器,将物体按窗口进行剪裁、并将其按一般遮蔽进行剪裁,以及其它事情等在内的许多数据处理的最终产物。结果是,在帧缓冲器中的二维图象在大多数情形中不能够直接反向关联到它们所起源的三维物体。
这种在原物体与帧缓冲器中的象素数据之间的缺乏直接对应关系归因于典型图形系统的结构。这一结构通常包括一个前端图形处理器,它以边界参数定义各物体,以及一个光栅化处理器,它接受这些物体参数并将它们按象素转换成数据。这样,三维物体被转换成沿光栅扫描参照线的象素数据。光栅化处理器综合了窗口平面的剪裁效果,遮蔽平面所定义的边界、以及最终定义在Z缓冲器中的三维物体相对于其它物体按象素的可见性。光栅化处理器只将满足遮蔽条件后的象素信息写入帧缓冲器并且物体要写入的象素具有比在这一象素位置上的以前的信息有一个更大的z轴深度。
这一三维图形显示系统结构与实施的惯例使它很难执行一个“选图”(pick)操作。选图操作包含由一位用户使用一个鼠标控制的光标或相似的指点装置在可见地描绘在视频显示器上的物体中选择一个。关于这一点,图形显示系统必须有能力识别光栅化处理器所描绘的许多物体中哪一个是画在显示屏上的该可见物体。当然,可以重新描绘帧缓冲器中的整个图象而在这样做时识别光标与物体的对应关系不幸的是,已知在再生比较复杂的图象中所要求的大量计算工作以及用户所期望的选图过程的刻不容缓,对于大多数三维描绘这不是一个切实可行的解决办法。
已知软件实现选图操作的速度慢得难以接受,在图形系统硬件中实现一个选图功能的现代实践中存在的另一个问题是选图硬件无能力判别描绘在帧缓冲器中并画在视频显示器上的物体的可见性。传统地实现的选图硬件可判别一个光标与提交描绘的一个物体之间的位置对应关系,但不能判别该物体是可见的还是隐蔽的。虽然新的三维图形学标准中现在规定了选图操作必须能够标识在选图位置上的可见物体,这一能力的高效率实现还有待于确定。
因而,存在着对图形系统装置与方法的一种需求,利用这种装置与方法的选图操作能够以与用户的期望相适应的速度在一个显示器上生成的一个三维图象中实现识别可见物体。
本发明定义了结合窗口平面、遮蔽平面与一个Z缓冲器进行操作、在以帧缓冲器为基础的图形显示系统范围内实现一个选图功能的装置结构与方法。本发明特别适合于下述的图形显示结构,其中有一个前端图形处理器,通过提供有关物体的顶点位置、彩色参数以及Z深度参数的信息,使用诸如三角形或矩形等物体图元素定义提交描绘的物体。然后在一个光栅化处理器中对各图元的信息进行处理以生成帧缓冲器的象素数据线。光栅化处理器确认要求写入帧缓冲器中的象素素数据是在当前有效的窗口中的,不是要进行遮蔽操作的,并且从早先存在于Z缓冲器中的Z深度位置来测定是可见的。
根据本发明的一个较佳实例,一个前端图形处理器将选图窗口的位置与每一个要描绘的物体的范围进行比较。具有与选图窗口相重合的范围的物体被标识为光栅化处理器要重新描绘的。在前端图形处理器中将要重新描绘的物体的范围按选图窗口剪取。按选图窗口剪积的物体范围的顶点参数数据被传送给光栅化处理器,进行重新描绘以及与窗口与遮蔽约束进行比较。光栅化处理器在这种重新描绘经过裁剪的物体范围中利用识别物体的Z缓冲器也确定了可见性。在选图操作的一个精密的实施中,按选图窗口剪取的物体范围的可见度可以根据百分比或阈值标准得到进一步量化与比较。
在考虑了下面提出的详细实施例以后,本发明的这些与其它的特征将得到更清楚的理解与全面的赏识。


图1是实现一个三维选图操作的较佳结构的功能方块图。
图2是在视频显示器上的一个三维图象的示意图。
图3与4为展示在视频显示器上实施选图功能的不同环境的示意图。
图5是展示选图操作实施过程的流程图。
图6是展示其中存在不同深度的图元的一个选图窗口的示意图。
图1示出了一个三维图形显示控制系统的功能性结构。前端图形处理器1接受来自一个高层处理器的生成物体的请求,然后将该物体再分成以彩色及顶点的三维位置数据定义的多边形图元,例如矩形或三角形。这些从顶点表示的边界参数信息被传送到光栅化处理器与显示器控制器2去转换成视频显示器上沿光栅线的独立的象素数据。将光栅化数据写入VRAM(视频随机存取存储器)型帧缓冲器3。以传统的方式,通过一个串行端口连续扫描帧缓冲器3并由数模转换器4(一般称为RAMDAC)转换成由扫描同步的RGB(红绿兰)视频彩色数据。由缓冲器3按象素存储整个视频显示屏幕的彩色数据。
为最先描绘在帧缓冲器3中的合成图象而提供给光栅化处理器2的边界参数信息通常是从一连串图元传送的。由于可见性取决于以前与以后写入帧缓冲器3中的各物体的Z深度,可见性是未知的。这一描绘图象的惯例归因于帧缓冲器是用来存储图象的最终形式的,而最终形式是受窗口的位置与形状、相继写入的各物体的相对深度(例如它们是在前景中还是在背景中),以及广义上可用在判定是否一个物体的全部或一部分是可见的过程中的其它遮蔽功能的影响的。结果,如同在视频显示屏幕上所看到的,帧缓冲器中的图象是没有特定的检查跟踪的多个物体的比较的最终结果。
为了理解存储在帧缓冲器3中的信息的含义,设想在一个视频显示屏幕6上要生成图2中所示的简单三维图形的情况。总体上,该图形包括在前景中的一辆汽车、从前景延伸到背景的一条路、以及在背景中的一棵树。然而,在生成汽车的过程中,车轮与支承的细节也必须要提出来描绘。
构成图象中的各种物体的图形物体图元从前端图形处理器1传送给光栅化处理器与显示器控制器2。在得出该数据必须取代从前存储在帧缓冲器3中该象素的数据以前,光栅化处理器2分析表示各象素的数据。在提交这里所示的图象以前指示各象素当前被赋予的窗口的号码的数据已经写入RAM7。常规比较涉及对存储在RAM7中的这些不同的窗口平面进行分析,保证正在生成的物体象素是位于当时定义的一个可见窗口中的。光栅化处理器与显示器控制器2所执行的另一个比较涉及在遮蔽平面RAM8中的模式,这种实践是为了确认某些其它的遮蔽功能并不排除将这一新的象素数据写入帧缓冲器3。最后,光栅化处理器与显示器控制器2对所描绘的象素信息的Z深度相对于存储在Z缓冲器RAM9中的Z深度作出评估。
Z缓冲器RAM9中按象素存储着表示存储在帧缓冲器中的图象象素深度的数据。除非一个新的象素数据是在以前存储的数据的前方即在更前面的前景中,光栅化处理器与显示器控制器2禁止将这一新的象素数据写入帧缓冲器3中。从光栅化处理器与显示器控制器2将一个象素描绘到帧缓冲器3的过程中所执行的各种逻辑交互制约中,人们无疑地理解到,从帧缓冲器3中的数据在视频显示屏幕上生成的一个图象基本上脱离了用于生成该图象的物体。选图平面RAM20是用于在选图操作中进行描绘操作的,这一点下面将要说明。
鉴于软件实现的速度太慢以及以成倍增加的象素数目实现高分辨率图形显示系统的趋势,用软件处理物体边界数据来直接提供视频显示图象是不现实的。
图1中的结构可以用市场供应的设备来实现。要求前端图形处理器1具备的功能可用德克萨斯仪器公司(Texas Instruments制造的TMS 320 C 30器件来完成。光栅化处理器与显示器控制器2可用德克萨斯仪器公司的TMS34010或TMS34020器件。帧缓冲器3、窗口平面RAM7、遮蔽平面RAM8,选图平面RAM20以及Z缓冲器RAM9可用诺如东芝(Tosiba)526-268这样的存储器器件来实现。一种代表性的数模转换器4便是布鲁克特利(Brooktree)BT461。
本发明是旨在改进的,它给予图形显示系统用户从一幅显示的组合图象中快速选择物体或“选图”的能力。本发明包括选图功能的一种硬件实现的提高速度。在图形视频显示系统的当代有代表性的三维结构中,选图操作明显地遇到两个问题。第一,帧缓冲器中的图象与用于生成该图象的物体之间没有直接的联系。结果,用户从帧缓冲器中的象素位置选择的图案不能直接与产生该图案的物体相关联。第二是在一定程度上相关的问题,包含将选图操作限制在显示在屏幕上的一个可见物体上。例如,在没有可见性限制的情况中,图2中正方形选图窗口所执行的选图可能导致选择了轮胎(这是可见的并且是期望的)、或路、或树、或减震器、或甚至汽车的轴。本发明消除了这种不希望的选图结果。
作为第一个考虑,本发明意识到帧缓冲器3中的数据所代表的某些信息将在标识选图窗口中用户可见的物体的过程中有必要重新生成。重新生成的程度与重新生成操作的分配对于本发明的利益是关键性的。从而,本发明确定了一种结构与实施,利用它们,仅对延伸进选图窗口中的物体进行图象重新生成。例如,图3示出了位于被四个交错的三角形图案复盖的一个大园10上的一个选图窗口12。根据本发明要重新生成的物体将不包括完全在选图窗口外面的物体(诸如小园13)。此外,虽然硬件实现的光栅化对于重新描绘图象能提供极佳的速度,本发明也认识到可以用在前端图形处理器1与光栅化处理器与显示器控制器2之间审慎地分配操作来更有效地实现重新描绘功能。有鉴于此,根据本发明的选图操作理想地包含用前端图形处理器1按选图窗口剪取物体,并且使用光栅化处理器2来重新描绘这样剪取的物体。
例如,如图4中的选图窗口12示出为拥有小园形物体14及很大的矩形物体16。鉴于其大小与曲线形状由光栅化处理器与显示器控制器2重新描绘出物体14将是一种可以接受的实施。然而,如果完全由光栅化处理器与显示器控制器2来完成,则大区域16将耗费大量的重新描绘时间。在这种情况中,进一步调用前端图形处理器1的边界比较能力,从而以位置以及彩色参数定义了小矩形区域17(即选图窗口12与矩形区域16的交合)。由于物体的边界相关处理是前端图形处理器1的特长,参照图4所描述的剪取就分配给前端图形处理器1执行。
假定前端图形处理器1对矩形物体的操作非常高效,本发明提供了“范围”(extent)的建立。范围是定义为其边界为物体在x和y方向上的最大与最小值的矩形区域。前端图形处理器1很容易生成范围。
因此,令前端图形处理器1为所有物体都定义了范围,然后将这些范围按选图窗口的边界剪取,就可以使选图操作的重新描绘高效地实现。然后将这样剪取的物体范围的选择边界信息传送给光栅化处理器与显示器控制器2用于重新描绘。
在光栅化处理器与显示器控制器2中完成重新描绘按选图窗口剪取的物体范围并不产生帧缓冲器3的内容的改变,而是较理想地作为数据进入一个特别指定的存储器的一个或多个平面,在图1中标识为选图平面存储器20。当要求重新描绘的一个象素被确定为其Z值等于Z缓冲器存储器9的那个值时,数据便按象素位置进入选图平面存储器20中。Z值的匹配表示被重新描绘的象素在视频显示器上是可见的,因此可能是用户所寻找的物体的一部分。当对每一个所剪取的物体范围的重新描绘操作结束时,选图平面存储器20中就包含了该物体的可见象素的一个图案。最好,这些图案是经逐个物体加权的。
选图操作的一个较不精密的版本每当发现一个按选择窗口剪裁的要求重新描绘的物体至少有一个单一的象素具有一个与相关的Z缓冲存储器数据匹配的Z深度时,只向前端处理器提供一个中断信号。这一版本不需要选图平面存储器20。反之,在光栅化与显示器处理器2中可设置一个标志,而后供前端图形处理器1在结束每一个重新画出的图元或图元组时查询,来确定用途。
图1的功能块图中的各设备所执行的较佳操作定义在图5的流程图中。在启动选图操作时,前端图形处理器1使用存储在诸如图1中的方块18与19表示的存储器中的选图窗口边界与物体边界数据定义选图窗口边界与物体范围。然后,将物体范围按选图窗口边界剪取,以确定哪些物体范围,如果有的话,必须重新描绘。然后,将各按选图窗口剪取的物体范围以传输其顶点参数数据提交给光栅化处理器与显示器控制器2去重新描绘。在重新描绘各选图窗口剪取的物体范围的过程中,光栅化处理器与显示器控制器2通过考虑存储在窗口平面存储器7与遮蔽平面存储器8中的遮蔽效果来评估象素的可见性每个要重新描绘的象素的Z深度值用存储在Z缓冲存储器9中的对应象素位置的值进行比较。如果检测到一个Z深度匹配,该物体象素便被假定为可见的,从而是选图操作的潜在目标,在本发明的较佳实施中,这一Z缓冲器重合起动到选图平面存储器中一个对应象素位置上的一个写操作。
基本程序是可以进行多种改进的。例如,早已指出过,当第一次出现一个重新描绘的所剪取的物体范围与一个Z缓冲器深度匹配时可以产生一个中断。一旦这样标识了一个基本物体,该物体加亮显示在视频显示器屏幕上。此后,用户可以随意考虑随后的物体。本发明的另一种实施涉及将选图平面存储器作为便笺式存储器使用。根据这一实施,为各选图窗口剪取的物体范围写入选图平面存储器的图案以复盖的百分比或其它加权准则进行比较,以标识用户最可能寻找的候选物体。例如,考虑图6的选图窗口21中的三角形物体A、B、C与D的图案,A是距离最近的。复盖百分比的比较将因其较大的可见度特征而选择物体D,尽管事实上物体D可能不是要重新描绘的第一个物体范围,并且可能距观察者在深度上是最远的。
图1中的结构提供了在选图窗口中的各物体的一个加权比较。光栅化处理器与显示器控制器2重新描绘各选图窗口剪取的物体范围,并且在选图平面存储器20中按象素适当地写入表示选图窗口中各象素的状态的二进制数据。各剪取的物体范围重新描绘以后,前端图形处理器1读取并处理选图平面存储器20中的图案,以得到可见象素的一个加权平均值。对各要重新描绘的剪取的物体范围重复这一操作,并且以一个确定哪一个是选图操作的最可能的候选物体的比较作为结束。假定一个标定大小的选图窗口可包含一个或更多的象素,并且图形系统的分辨率再不断增长,用加权方法来标识所选物体的客观需要随着被观察物体的细节的增加而增加。
这里定义的装置与操作使一个先进的三维图形个人计算机或工作站的用户能够使用一个光标定义的选图窗口实施一个选图操作,同时基本上实时地优化地选择可见物体。这些特征是在一台帧缓冲器光栅扫描视频显示器的范围内提供的,其中,存储在一个帧缓冲器中并显示给用户的图形图象包括窗口平面、遮蔽平面、多个重叠的物体的效果,并且已经消除了隐蔽表面与边线。本发明以功能分配正确估价与利用了一个前端图形处理器与一个光栅化处理器及显示器控制器的独立属性。光栅化处理器与显示器控制器用Z深度重合识别所选的可见物体,来重新描绘物体有两种方法可供选择。第一,只有与选图窗口具有重叠范围的那些物体是重新描绘的候选物体。第二,重新描绘只限于已经按选图窗口边界剪取了的物体范围。此外本发明包括了权衡同时出现在选图窗口中的多个物体的相对重要性的能力,这是使用一个用于存储经各个不同选图窗口剪取的物体范围的Z缓冲器比较结果的选图平面存储器来实现的。
虽然本发明已以特定实施例的方法说明与展示,本装置与方法应被理解为包括下面提出的权利要求书所定义的整个结构与实施范围。
权利要求
1.一种装置,用于在一台视频显示器上描绘由三维物体构成的图象的一个系统中挑选一个可见物体,其特征在于一个用于存储图象深度数据的Z缓冲器;用于定义一个选图窗口边界的装置;用于有选择地重新描绘物体的装置;以及用于将Z缓冲器中的数据与有选择地重新描绘的物体的Z数据进行比较以检测在选图窗口中的可见物体的装置。
2.权利要求1所述的装置,其特征在于用于有选择地重新描绘的装置对于有选择地重新描绘的物体与选图窗口的边界的一个重叠是有反应的。
3.权利要求2所述的装置,其特征在于用于在一个选图窗口中检测可见物体的装置包括一个存储器,用于存储图象窗口或遮蔽数据;以及用于将窗口或遮蔽数据与有选择地重新描绘的物体的数据进行比较的装置。
4.权利要求3所述的装置,其特征在于所述用于有选择地描绘物体的装置将物体范围与选图窗口边界进行比较以选择在选图窗口边界内具有范围的物体。
5.一种用于描绘图形图象的装置,适用于从描绘的三维物体中挑选可见物体,其特征在于一个Z缓冲器存储器,用于存储表示存储在帧缓冲器中的图象数据的相对深度的数据;一个平面存储器,用于存储表示在描绘存储在帧缓冲器中的图象中使用的窗口或遮蔽的数据;用于存储物体边界数据的装置;用于定义一个选图窗口边界的装置;一个前端处理器装置,用于识别延伸到选图窗口边界内的物体;以及一个光栅化处理器装置,用于重新描绘被识别的物体,它还识别哪些物体是可见的。
6.权利要求5所述的装置,其特征在于该光栅化处理器装置使用Z缓冲器数据与平面存储器数据来识别可见物体。
7.权利要求6所述的装置,其特征在于该物体边界数据是由物体范围组成的。
8.权利要求7所述的装置,其特征在于该光栅化处理器根据该前端处理器提供的边界参数数据描绘物体图元的内部。
9.权利要求8所述的装置,其特征在于该光栅化处理器装置按象素聚集与评估数据以识别一个可见的物体。
10.一种方法,用于从一台图形视频显示器上描绘的多个三维物体中挑选一个可见的物体,其特征在于下述步骤定义一个选图窗口边界;以比较边界识别在该选图窗口中的物体;有选择地重新描绘被识别的物体;以及将重新描绘的物体的深度与选图窗口边界内的对应象素位置上的深度数据进行比较以检测可见的物体。
11.权利要求10所述的方法,其特征在于所述在选图窗口内识别物体的步骤包括定义物体的范围;以及识别与选图窗口重叠的物体范围。
12.权利要求11所述的方法,其特征在于所述有选择地重新描绘被识别的物体的步骤包括确定物体范围与选图窗口之间的重叠区域;以及有选择地重新描绘被识别的物体的重叠区域。
全文摘要
从一台视频显示器上所描绘的图象中挑选三维物体的装置与方法。物体象素在深度上与一个Z缓冲器中的数据进行比较以确定可见性。被重新描绘的物体的数目与大小受到前端图形处理器定义的物体范围以及只重新描绘按选图窗口的边界剪取了的范围的限制。重新描绘操作并不改变存储在帧缓冲器中并且重复地被扫描的三维图形图象。从选图窗口内的多个物体中选择可包括使用一个按物体存储可见性数据的选图平面存储器的一个加权比较。
文档编号G06T15/30GK1060547SQ9110943
公开日1992年4月22日 申请日期1991年10月5日 优先权日1990年10月12日
发明者德伯位·迪恩·布拉斯, 斯蒂芬·非利普·拉基, 琼·克里斯托弗·克莱尔, 帕奥罗·西多利 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1