CN1818976A - 进行图形处理的方法及相关装置 - Google Patents
进行图形处理的方法及相关装置 Download PDFInfo
- Publication number
- CN1818976A CN1818976A CNA2006100676096A CN200610067609A CN1818976A CN 1818976 A CN1818976 A CN 1818976A CN A2006100676096 A CNA2006100676096 A CN A2006100676096A CN 200610067609 A CN200610067609 A CN 200610067609A CN 1818976 A CN1818976 A CN 1818976A
- Authority
- CN
- China
- Prior art keywords
- plane
- cut
- vertex list
- cuts
- summit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Image Generation (AREA)
Abstract
本发明是提供一种进行图形处理的方法及相关装置。在将三维空间的多边形物体依据视野范围而投影显示于二维屏幕时,该物体交界于视野范围内外的平面要经过裁切。在已知技术中,不同裁切平面的顶点会依据三角扇的基本型态而分别记录于不同的顶点列表。而在本发明的一实施例中,物体经裁切后所有裁切平面的所有顶点可统一以三角列表的基本型态记录于同一顶点列表中,以增进图形处理的效能。
Description
技术领域
本发明是提供一种进行图形处理的方法与相关装置,尤指一种在依据视野范围裁切三维物体时以较佳的基本型态来记录裁切后顶点以增进图形处理效能的图形处理方法及相关装置。
背景技术
以图形画面呈现各种各样的文件、信息、数据与数据以方便使用者浏览、检视、观察、整理,已经成为现代计算机系统最重要的功能之一。其中,虚拟实境式的图形呈现技术能让使用者方便地检视三维虚拟物体,在医学影像、计算机辅助设计/制造(CAD/CAM)、实境仿真(像是飞行仿真)、多媒体游戏等多种领域中都有重要的应用,故虚拟实境式的三维空间图形呈现技术,也就成为现代信息厂商研发的重点之一。
在三维空间图形呈现技术中,是将虚拟三维空间中的三维物体及场景进行一定的图形处理,以便将这些物体/场景投影显示于二维屏幕上;等效上,此二维屏幕可视为虚拟照相机对三维空间拍摄所得的照片。当使用者观看此二维屏幕上呈现的图形时,就好像是通过此虚拟照相机的二维成像(也就是照片)来观察三维空间中的物体及场景,而这也就能实现虚拟实境式的图形呈现。
在现代的三维空间呈现技术中,虚拟三维空间中的三维物体可由许多平面(face)组合形成,故也被称为多边形物体。事实上,由于三角形的特殊几何特性(像是三顶点一定共面),故三维物体中的平面会以三角形为基础而被进一步划分一或多个三角平面;最终,三维物体会以三角平面作为最基础的架构单元;集合各个三角平面,就能完整组合出一个物体。由于三角平面的位置可由其三个顶点的坐标所定义,故将物体中各三角平面的顶点坐标集合列表,就能以表列的这些顶点来描述该物体在三维空间中占据的位置及体积。
如本领域技术人员所知,在以多个三角平面组合出各种形状的平面或三维物体时,由于不同的三角平面常会以一定的基本型态(primitive)相邻排列,故在将这些三角平面的顶点记录于顶点列表时,也可依据不同的基本型态来安排以不同的模式/不同的顺序而将各顶点的坐标记录于同一顶点列表中。请参考图1;图1示意了如何以不同基本型态的顶点列表来记录多边形的各个顶点。图1中是以五边形为例来说明;此五边形有四个顶点A1至A5,可划分出三个三角平面,如图5所示。当要以这些三角形的顶点来描述原本的四边形时,可将这三个三角平面看成是三个独立的三角形,故可根据一三角列表(triangle-list)的基本型态,以顶点列表{A1,A2,A3,A1,A3,A4,A1,A4,A5}这种排列顺序(也就是依序记录各三角形的三个顶点)来记录各顶点的坐标。另一方面,由于这三个三角平面共享了同一顶点,故可把这三个三角平面想成是一个以顶点A1为中心的三角扇,并且用三角扇(triangle-fan)这种基本型态的顺序{A1,A2,A3,A4,A5}来将各顶点的坐标记录为顶点列表,也就是先记录作为扇形中心的顶点A1,再依序记录扇形缘上各顶点。其它的顶点列表基本型态还包含有三角条(triangle-stripe)等等。
由以上对基本型态的讨论可知,即使是同样的三角平面配置,在依据不同的基本型态来将各顶点的坐标记录于顶点列表后,各个顶点列表的内容也会不一样。所以,每一个顶点列表都会有其对应的基本型态;在解读顶点列表时,一定要先依据其对应的基本型态设定其顶点解读的顺序,才能由一顶点列表中正确解读出该顶点列表所描述的多边形或物体。
以顶点列表来描述虚拟三维空间中的各个物体及场景,并针对各顶点列表来进行适当的图形处理,就能进一步计算出各个顶点会被投影至二维屏幕上的哪一个位置,等效上也就能将三维空间投影至二维屏幕,在二维屏幕上呈现虚拟照相机的成像结果。
不过,就像是真实的照相机一样,三维空间图形呈现技术中的虚拟照相机也会有一定的视野范围。举例来说,在照相机正前方的物体会被拍摄至照片(二维屏幕)的中央,但在照相机镜头左方/右方或甚至后方的物体,很可能无法被照相机捕捉,也就不会呈现在照片中;由镜头前方延伸至左/右方的物体,则可能只有一部分能呈现于照片上,其余部分则因为超越了视野范围而不会呈现于照片上。
同理,在三维空间图形呈现技术中,当要将三维物体投影至二维屏幕时,也要计算各个三维空间中的物体是否位于此虚拟照相机的视野范围内;若某一物体占据的体积完全落在视野范围之外,就代表该物体不会被虚拟照相机拍摄至照片(二维屏幕)上,而在进行图形处理时就不必进行多余的计算来将该物体投影至二维屏幕。相对地,若某个物体只有一部分在视野范围内,其它部分超越于视野范围之外,则在图形处理时,就要对该物体进行裁切(clipping),只保留下该物体位于视野范围内的部分,也只要将这部分投影至二维屏幕即可。
在依据视野范围而对三维空间中的物体进行裁切时,由于三维物体是以三角平面架构出来的,对物体的裁切就会涉及三角平面的裁切。若物体横跨于视野范围内外,就代表该物体上的一或多个三角平面会与视野范围的边界有所交集;这些三角平面会分别有某些顶点位于视野范围内,某些顶点则为于视野范围外。譬如说,若某一三角平面有一个顶点位于视野范围外,在进行裁切后,该三角平面就可能会被裁切成一个四角或五角形的裁切平面。将物体中各个横跨于视野范围内外的三角平面以裁切后的裁切平面代替,再将该物体中完全位于视野范围外的三角平面舍去,保留物体原本就位于视野范围内的三角平面,这样也就完成了对该物体的裁切。
不过,就如前面讨论过的,虚拟三维空间中的物体还是要以三角平面来架构才能方便地将其投影至二维空间,故在对物体进行上述的裁切时,对三角平面进行裁切后的裁切平面还是要以三角形为基础进行划分,再将各三角形的顶点记录下来。譬如说,若某三角平面在裁切后成为四角形的裁切平面,该裁切平面就可进一步划分为两个三角形的平面,以两个三角平面来代表裁切后的裁切平面。
而当已知的图形处理技术要将每个裁切平面的三角形顶点记录下来时,就会针对每一个裁切平面记录一个三角扇基本型态的顶点列表。换句话说,若某一物体有N个三角平面横跨于视野范围内外,在将这N个三角平面裁切为N个裁切平面后,已知技术就会以对应的N个三角扇基本型态的顶点列表来记录各裁切平面的顶点。
完成对物体的裁切后,三维空间图形呈现技术的图形处理就可进行后续的像素级处理,以进一步计算物体上各个三角平面会在二维屏幕上呈现出的影像。由于二维屏幕可能是用像素为单位来呈现图形画面的,故在进行像素级处理时,就可计算物体上各个三角平面所占用的像素,以及这些像素所应该呈现出的色彩、明暗及纹理(texture)等等。
在实际实现像素级处理时,此像素级处理可接收各物体的相关顶点列表,依据每个顶点列表对应的基本型态来解读/连接出对应的各个三角平面,依据三角平面的位置来进行二维屏幕的相关运算。不过,由于已知技术会以多个顶点列表来描述多个裁切平面,故在进行像素级处理时,就会影响运作的效能。
如前面讨论过的,在解读顶点列表时,要先依据顶点列表对应的基本型态来设定顶点解读的顺序,才能正确地将顶点连接为原来的平面。然而,此设定程序要耗费相当的系统资源;尤其是,由于已知技术会在裁切物体时为各个裁切平面产生一个对应的顶点列表,故要重复地对多个顶点列表反复地进行多次的设定及解读,其消耗的系统资源当然就会更为增加,影响图形处理的整体效能。
举例来说,现代的计算机系统常以图形处理硬件来实现像素级处理,在其中会以管线式(pipe-line)处理硬件来解读顶点列表。但在处理裁切处各裁切平面的相关顶点时,由于已知技术是以多个顶点列表来记录不同裁切平面的顶点,使得管线式处理硬件在解读每一个顶点列表时都要反复地重新清理(flush)管线才能进行解读的设定,这也就降低了图形处理的整体效能。
发明内容
因此,本发明的主要目的,即是提出一种能以较佳的图形处理方法及相关装置,以克服已知技术的缺点。当本发明的图形处理技术完成对物体的裁切后,会以三角列表的基本型态来将不同裁切平面的顶点整合记录于同一顶点列表中;由于多个裁切平面的顶点可统一记录于同一个顶点列表中,故在进行后续的像素级处理时,就可以有效减少像素级处理时要反复进行设定程序的次数,进而增加图形处理的整体效能。
一般来说,在虚拟实境式的三维空间图形呈现技术中,虚拟三维空间中的虚拟三维物体都会由多个三角平面构成,越细致、越接近真实的三维物体,就要以越多三角平面来趋近。故在对物体进行裁切后,通常也会有许多三角平面会横跨于视野范围的边界;既然在对每一个三角平面进行裁切时会裁切出一个裁切平面,在对多个三角平面进行裁切后,也就会产生出多个对应的裁切平面。在已知技术中,会针对每一个裁切平面以三角扇基本型态的顶点列表来记录其顶点坐标。基本上,三角平面在裁切后会形成凸多边形而被划分为扇形分布的三角平面,故已知技术会以三角扇基本型态的配置来记录裁切平面的顶点坐标。虽然三角扇基本型态的顶点列表中只要记录较少的顶点数就能描述一连串扇形分布的三角平面,但是,对于不呈现扇形分布的一连串三角平面来说,这些三角平面的顶点就无法依据同三角扇的基本型态记录于同一顶点列表中。一般来说,在对物体裁切后,在不同裁切平面中的三角平面不会形成扇形分布的一连串三角平面,这也就形成了对已知技术的限制,使已知技术无法将不同裁切平面的顶点记录于同一个顶点列表中,只能以多个顶点列表来分别代表一个对应的裁切平面。等到要进行后续的像素级处理时,就会因为要解读不同的顶点列表而必需频繁地重复进行解读时的设定程序,使图形处理的效能无法有效提升。
相较之下,本发明的图形处理技术在记录各裁切平面的顶点时,则采用了较具有弹性、能普遍适应各种三角形排列模式的三角列表基本型态,故可将不同裁切平面中的三角平面顶点统一记录于一个顶点列表中。三角列表基本型态的顶点列表能记录各种排列的三角平面,即使是两个完全不相连接、没有共同顶点的三角平面,都能记录在同一个顶点列表中。相较之下,已知技术采用三角扇基本型态的顶点列表,就绝对无法将两个没有共同顶点的三角平面记录于同一个顶点列表中。
由于本发明能将不同裁切平面的顶点记录于同一个顶点列表中,故可用较少的顶点列表(可以只用一个顶点列表)来记录多个裁切平面的顶点。等到要进行后续的像素级处理而要解读顶点列表时,就可以有效减少解读时所需要进行的设定程序,进而提升图形处理的整体效能。
根据本发明的一个方面,提供了一种进行图形处理的方法,以将一个三维空间投影显示于二维屏幕;该三维空间中至少有一个物体,各个物体是由至少一平面所形成;而该方法包含有:设定视野范围及其边界,使该边界可包围该视野范围;进行裁切程序:针对该三维空间中的每一物体,检查该物体中的每一平面是否相交于该边界;若有某一平面相交于该边界,则计算该平面与该视野范围的交集,以将交集出的平面当作该平面所对应的裁切平面,各裁切平面具有多个顶点;进行整合程序:若针对物体进行该裁切程序后计算出至少一裁切平面,则将所有裁切平面的各个顶点依据三角列表的基本型态统一记录于同一顶点列表,以利用该顶点列表来代表各裁切平面的顶点。
根据本发明的另一个方面,还提供了一种进行图形处理的方法,以将一个三维空间投影显示于二维屏幕;该三维空间中至少有一个物体,各个物体是由至少一平面所形成;而该方法包含有:设定视野范围及其边界,使该边界可包围该视野范围;进行裁切程序:针对该三维空间中的每一物体,检查该物体中的每一平面是否相交于该边界;若有某一平面相交于该边界,则计算该平面与该视野范围的交集,以将交集出的平面当作该平面所对应的裁切平面,各裁切平面具有多个顶点;进行整合程序:若针对物体进行该裁切程序后计算出多个裁切平面,则将此多个裁切平面中至少两个裁切平面的各个顶点统一记录于同一顶点列表,以利用同一顶点列表来代表至少两个裁切平面的各个顶点。
根据本发明的另一个方面,还提供了一种可进行图形处理的电子系统,其可将一个三维空间投影显示于二维屏幕;该三维空间中至少有一个物体,各个物体是由至少一平面所形成;而该电子系统包含有:视野模块,其可设定视野范围及其边界,使该边界可包围该视野范围;裁切模块,其可针对该三维空间中的每一物体,检查该物体中的每一平面是否相交于该边界;若有某一平面相交于该边界,则该裁切模块可计算该平面与该视野范围的交集,以将交集出的平面当作该平面所对应的裁切平面,各裁切平面具有多个顶点;整合模块:若该裁切模块针对物体进行裁切后计算出至少一裁切平面,则该整合模块可将所有裁切平面的各个顶点依据三角列表的基本型态统一记录于同一顶点列表,以利用该顶点列表来代表各裁切平面的顶点。
附图说明
图1示意的是以不同基本型态的顶点列表来记录顶点的情形。
图2为三维空间图形呈现技术的示意图。
图3为典型技术进行物体裁切时的示意图。
图4为典型技术进行物体裁切/设定时的流程示意图。
图5为本发明进行物体裁切时的示意图。
图6示意的是本发明进行物体裁切时的泛用原则。
图7为本发明进行图形处理的流程图。
图8示意的是图7中整合程序的进一步流程。
图9示意的是本发明效能改进的情形。
图10为本发明图形处理电子系统的功能方块示意图。
图11为本发明图形处理计算机系统的功能方块示意图。
[主要元件标号说明]
10 电子系统 12 顶点处理模块
14 视野模块 16 几何转换模块
18 裁切模块 20 整合模块
22 设定模块 24 像素处理模块
30 计算机系统 32 中央处理器
34 桥接电路 36 存储器
38 驱动程序 40 图形处理电路
42 显示器 A1-A6、F1-F8、C1-C7 顶点
OBJ1-OBJ2 物体 104-112、202-206、302-314、402-416 步骤
400 流程
具体实施方式
请参考图2。图2为三维空间图形呈现技术的示意图。在将虚拟三维空间中的物体、场景呈现于二维屏幕时,等效上就好像是以虚拟照相机对三维空间中的物体照相,照相所得的结果也就是二维屏幕上呈现的图形影像。就像真实的照相机,虚拟照相机也有一定的视野范围;如图2所显示的,由顶点F1至F8所包围的空间就是此视野范围。此视野范围的周边有四个平面,包括平面F1-F4-F8-F5、平面F1-F5-F6-F2、平面F2-F6-F7-F3以及平面F3-F7-F8-F4;再加上虚拟照相机镜头前方的近平面F1-F2-F3-F4与远平面F6-F5-F8-F7,这六个面就界定出了视野范围的边界。在将三维空间投影至二维屏幕上时,周边的四平面(平面F1-F4-F8-F5、平面F1-F5-F6-F2、平面F2-F6-F7-F3及平面F3-F7-F8-F4)就定义出了二维屏幕上可视范围的边框,也就是裁切窗(clipping window)。
举例来说,像是图2中的物体OBJ1完全位于视野范围中,在将三维空间投影至二维屏幕上时,物体OBJ1的成像就会完全落于裁切窗中。相对地,物体OBJ2有一部分位于视野范围外,此部分就会落于裁切窗外,不会成像于二维屏幕上。因此,在进行图形处理而将三维空间投影至二维屏幕上时,就可先对物体OBJ2进行裁切,将物体OBJ2位于视野范围外的部分裁去,再进行后续相关的像素级处理。
请参考图3;图3示意的即为典型图形处理中对物体进行裁切时的情形。在图3中,假设待裁切的物体有4个三角平面,分别为三角平面A1-A2-A6、A2-A3-A6、A3-A5-A6以及A3-A4-A5;由于顶点A1、A4及A5落在视野范围的边界(也就是裁切窗)之外,故需对此物体进行裁切,找出各三角平面和视野范围的交集(也就是仍在视野范围内的部分)。如图3所示,在经过裁切后,三角平面A1-A2-A6及A3-A5-A6会被分别裁切为一四边形的裁切平面,三角平面A3-A4-A5则被裁切为五边形的裁切平面。
在典型技术下,各裁切平面的顶点会依据三角扇基本型态而被分别记录至一个对应的顶点列表,故在图3的例子中,典型技术会以4个三角扇基本型态的顶点列表来分别记录对4个三角平面进行裁切的结果。对三角平面A1-A2-A6来说,其裁切后裁切平面的各个顶点的坐标可依据{A2,A6,C2,C1}的顺序记录为一三角扇的顶点列表,也就是将顶点A2视为扇形中心,顶点A6及裁切后的顶点C2、C1为扇形缘上的顶点。同理,对三角平面A3-A5-A6来说,则可依据{A3,C4,C3,A6}的顺序来将裁切后平面的各顶点坐标记录为一顶点列表。对三角平面A3-A4-A5来说,裁切后形成的五边形可划分为三个扇形排列的三角平面,以顶点A3为扇形中心,故可依据{A3,C7,C6,C5,C4}的顺序来将各顶点的坐标记录为一顶点列表。
由于典型技术是以三角扇基本型态的顶点列表来记录各裁切平面的顶点坐标,故无法将不同裁切平面、不呈扇形分布排列的三角平面整合记录于同一个顶点列表中。像在图3的例子中,裁切平面A2-A6-C2-C1与裁切平面A3-C4-C3-A6只共享顶点A6,没有共享的边线,无论怎样进行三角形划分也不能在这两个裁切平面上产生出一连串呈扇形分布的三角平面,所以典型技术也就无法将此两个裁切平面的顶点整合记录于同一个三角扇基本型态的顶点列表。
如前面讨论过的,在进行物体裁切后,就能针对裁切后的顶点列表来进行像素级处理;不过,在解读顶点列表而进行像素级处理时,还需要先进行设定程序,针对顶点列表的基本型态来设定对顶点列表的解读顺序。请参考图4;图4即为典型技术中在进行物体裁切/设定时的流程。图4中的流程中有下列步骤:
步骤104:进行裁切程序,计算物体中各三角平面与视野范围的边界是否相交;若某一三角平面的确相交于视野范围的边界,代表该三角平面为待裁切平面,需要予以裁切;接下来就可计算该三角平面与视野范围的交集(也就是该三角平面与边界的交点等等)。
对待裁切平面进行裁切后,典型技术会为每一待裁切平面记录对应的顶点列表,以三角扇基本型态来记录裁切后平面的各个顶点坐标。进行完步骤104的裁切程序后,若某物体有N个待裁切平面,就会有N个对应的三角扇顶点坐标。另外,物体可能有部分的三角平面会完全落于视野范围内,这些三角平面(也就是未裁切部分)的顶点也会另行记录于对应的顶点列表中。
步骤106:开始进行像素级处理前的重设程序。接收裁切程序后产生的其中一个顶点列表。
步骤108:判断该顶点列表对应的基本型态。若是三角列表的基本型态,则进行至步骤110A;若是三角扇的基本型态,就进行至步骤110B;若是其它基本型态(譬如说是三角条的基本型态),则进行至其对应步骤110C。
步骤110A、110B及110C:根据对应的基本型态来设定要如何连接顶点列表中的各个顶点。举例来说,假设有某个顶点列表记录了六个顶点{V1,V2,V3,V4,V5,V6},若该顶点列表是以三角列表的型态来记录的,则其顶点的连接顺序就应该是将顶点V1-V2-V3视为一三角平面,顶点V4-V5-V6为另一三角平面。若该顶点列表是以三角扇的型态记录的,那要重建该顶点列表所代表的三角形平面时,其连接顺序就应该是:以顶点V1-V2-V3为一三角平面,顶点V1-V3-V4为一三角平面,顶点V1-V4-V5为一三角平面,顶点V1-V5-V6为一三角平面。根据各顶点列表的对应基本型态来设定顶点连接/解读的顺序,才能正确地重建回顶点列表所代表的各个三角平面,也才能正确地进行后续的像素级处理。
步骤112:是否要处理次一顶点列表的设定。若是,则回到步骤106。
由图4的讨论可知,由于典型技术会产生多个顶点列表(N个待裁切平面就会有N个顶点列表),故此典型/已知的技术会频繁地重复进行步骤108至110A-110B-110C的设定程序。每进行设定程序都会消耗部分系统资源,若要频繁地多次重复进行设定程序,就会导致图形处理的整体效能低落,无法以较佳效能来进行图形处理。
已知/典型技术因为要迁就三角扇基本形式,一定要为每一个裁切后平面记录一顶点列表,故需要在解读各顶点列表时重复进行多次的设定程序。为了克服已知/典型技术的缺点,本发明会以三角列表基本型态的顶点列表来将多个裁切平面的顶点整合记录于同一个顶点列表中,以减少在解读时设定程序重复进行的次数,并增进图形处理的整体效能。请先参考图5;图5示意的即为本发明对物体进行裁切时的情形。为了方便和典型技术的比较,在图5中,假设待裁切的物体和图3中的物体一样,具有4个三角平面,分别为三角平面A1-A2-A6、A2-A3-A6、A3-A5-A6以及A3-A4-A5。在经过裁切后,三角平面A1-A2-A6及A3-A5-A6会被分别裁切为四边形平面A2-A6-C2-C1以及A3-C4-C3A6,三角平面A3-A4-A5则被裁切为五边形的裁切平面A3-C7-C6-C5-C4。各个裁切后的多边形平面还要进一步划分为三角平面,再记录于顶点列表中。
和已知/典型技术不同的是,本发明会使用三角列表基本型态来将不同裁切平面的顶点整合记录于同一个顶点列表中。像在图5的例子中,物体在裁切后有4个裁切后平面,但本发明可整合用同一个三角列表基本型态的顶点列表来记录所有裁切平面在划分为三角平面后的各个顶点,也就是以{A2,C2,C1,A2,A6,C2,A3,A6,A2,A3,C3,A6,A3,C4,C3,A3,C5,C4,A3,C6,C5,A3,C7,C6}的顶点顺序来将所有裁切平面的顶点共同记录于同一顶点列表中。这样一来,只要使用一个顶点列表就能代表对物体裁切的结果,而不需要像图3的典型技术一样需使用4个顶点列表来代表物体裁切的结果。而在进行后续的像素级处理时,本发明就只需要进行一次设定程序,可减少设定程序重复进行的次数,进而增进图形处理的整体效能。
在各种基本型态的顶点列表中,三角列表基本型态是最具有弹性的一种,在记录多个三角平面时,三角列表基本型态的顶点列表只是单纯地记录下各个三角平面的顶点,不要求这些三角平面是否要具有特殊的排列模式;即使两个完全不相连的三角平面,都能记录于同一个三角列表的顶点列表中。而本发明就是利用此特性来整合不同裁切平面的顶点,减少所需的顶点列表数目,连带地减少设定程序重复进行的次数。
请继续参考图6;图6为本发明在进行物体裁切时的泛用性(general)原则。在对一物体进行裁切时,可先针对该物体的各个三角平面进行计算,依据各三角平面的顶点坐标计算该三角平面是否完全在视野范围内;完全在视野范围内的三角平面不必进行裁切,完全在视野范围外的三角平面可予以舍弃,与视野范围边界有交集的三角平面就是待裁切的三角平面,要予以裁切,只留下位于视野范围内的部分。在将待裁切三角平面裁切为各个多边形的裁切平面并划分为三角平面后,本发明就可依据三角列表基本型态的顶点列表,将不同裁切平面的顶点整合记录于同一顶点列表中。物体中不需裁切的部分(也就是完全在视野范围内的各个三角平面)则可沿用物体本来(也就是裁切前的)的基本型态来记录其顶点列表。譬如说,原本未裁切的物体是以三角条基本型态的顶点列表来记录各顶点的,在裁切后,不需裁切的部分仍可用三角条基本型态的顶点列表来记录各顶点。集合裁切后平面的顶点列表以及不需裁切部分的顶点列表,就代表了对该物体进行裁切的结果。
请参考图7;图7为本发明进行图形处理的过程。要实现三维空间图形呈现技术的图形处理,本发明于图7中的流程包括有下列步骤:
步骤202:顶点处理阶段。此阶段可整理各个物体的顶点坐标,进行必要的转换,决定各个物体在同一三维空间中的相互位置。另外,也可处理/计算/转换各个顶点的相关信息,像是各顶点对应的法向量,对光线的反射性质等等。
步骤204:几何处理/裁切/设定阶段。此一阶段中包含有下列步骤:
步骤302:进行几何转换。设定虚拟照相机的位置及视野范围,并以虚拟照相机的上下/前后/左右为基准,计算各物体顶点的位置(及各顶点相关的信息)。
步骤304:裁切程序。针对每一物体的每个三角平面来计算各个三角平面是否完全落在视野范围内。若某一三角平面与视野范围的边界有交集,就对其进行裁切,并计算裁切所得的多边形平面的各个顶点(及各顶点的相关信息)。
步骤306:进行本发明的整合程序,也就是依据三角列表基本型态而将不同裁切平面的顶点整合记录于同一顶点列表中。若某物体在裁切时有N个待裁切三角平面,本发明就可整合以M个三角列表基本型态的顶点列表来记录对应的N个裁切平面。在本发明的较佳实施例中,M可以等于1,也就是将某物体所有N个裁切平面的顶点都记录于同一个顶点列表中。另外,本发明也可利用多个(但不大于N)个顶点列表来记录裁切平面的顶点。举例来说,在N个裁切平面中,将其中N1个裁切平面的顶点记录于同一顶点列表,将另外N2个裁切平面(N1+N2=N)的顶点记录于另一顶点列表。集合一物体裁切平面的整合顶点列表以及该物体不需裁切部分的顶点列表,就是该物体裁切后的结果。
步骤308:在将各物体进行裁切后,就可针对各个顶点列表进行设定程序,以便进行至后续的像素级处理。在进行设定程序时,先接收一顶点列表。
步骤310:根据顶点列表的型态设定对应地进行至步骤312A、312B以及312C等等,以设定对应的顶点连接顺序。
步骤314:若有另一顶点列表要设定,就回到步骤308;由于本发明整合步骤可减少顶点列表的个数,设定程序(步骤308/310/312A-C)重复进行的次数也就能大幅减少。
步骤206:设定并解读各个顶点列表后,就可进行至像素级处理阶段,以像素为单位来将物体的各个三角平面呈现于二维屏幕上,实现三维空间图形呈现技术。
为了进一步说明本发明更具体的实施方式,请继续参考图8;延续图7的说明,图8中的流程400更具体了示意了本发明步骤304至306中的实施情形。流程400中有下列步骤:
步骤402:接收数据。譬如说,可由顶点描影器(vertex shader)中接收物体的数据。
步骤404:判断该物体是否需要裁切。若是,则继续进行至次一步骤406;若否,则继续进行至步骤416;
步骤406:执行裁切。计算物体中各多边形(三角平面)与视野边界的交集,并计算裁切后的各顶点。裁切后的顶点列表可先用三角扇的基本型态来表示。
步骤408:进一步将裁切后的顶点列表由三角扇整合转换为三角列表,以实现本发明的技术精神,也就是将以三角列表的基本型态来记录裁切后的顶点列表。
步骤410:输出数据。譬如说,将三角列表基本型态的裁切处顶点列表输出至顶点描影器。
步骤412:结束流程400。
步骤416:若物体不需裁切,则判断该物体是否在视野范围内。若否,就不需对该物体进行图形处理,可回到步骤402继续处理次一物体。若该物体在视野范围内又不需裁切,就可直接进行至步骤410。
本发明的优点可用图9来说明。请参考图9;图9示意的是本发明与已知/典型技术在进行图形处理时的效能差异。在已知(像是图4)的技术中,裁切处是以多个三角扇基本型态的顶点列表来记录;然而,由于在处理每一个三角扇基本型态的顶点列表前都要重新进行一次设定,故已知技术会耗费许多时间在设定上。就如图9中所示,要先为第1个三角扇顶点列表进行设定,才能处理第1个三角扇。接下来,要为第2个三角扇顶点列表进行设定,才能继续处理第2个三角扇。然后,又要为第3个三角扇顶点列表进行设定,才能处理第3个三角扇,以此类推。由于已知技术中要处理多个三角扇顶点列表,故需重复进行许多次的设定,耗费较多时间,影响其图形处理的效能。
相较之下,本发明的技术就可将裁切处的多个三角扇整合以一个(或较少个)三角表列基本型态的顶点列表来记录,故在进行图形处理时能大幅减少设定程序所需进行的次数,进而增进图形处理的效能。就如图9所示,本发明可将裁切处的各相关顶点列表整合为一三角表列基本型态的顶点列表,故仅需为此三角表列进行一次设定,就能在此三角表列中直接处理裁切处的所有顶点。由于重设程序进行的次数能够大幅减少,本发明的图形处理效能也就能有效提升。
请参考图10(并一并参考图7);本发明于图7、8中的图形处理流程可用图10中的电子系统10来实现。电子系统10中设有顶点处理模块12、视野模块14、几何转换模块16、裁切模块18、用来实现本发明技术的整合模块20、设定模块22以及像素处理模块24。其中,顶点处理模块12用来实现步骤202(图7)中的顶点处理阶段。视野模块14可依据虚拟照相机的设定来设定视野范围及包围视野范围的边界;而几何转换模块16就能依据视野范围的相关设定来进行步骤302。裁切(clipping)模块18则可实现步骤304而对物体进行裁切,也就是针对该三维空间中的每一物体,检查该物体中的每一三角平面是否相交于该边界;若有某一平面相交于该边界,则裁切模块18可计算该平面与该视野范围的交集,算出裁切后平面。
为实现本发明的精神,整合模块20能实现步骤306,对同一物体的裁切平面进行整合;若裁切模块18针对物体进行裁切后计算出多个裁切平面,整合模块20就能将多个裁切平面的各个顶点依据一三角列表(triangle-list)的基本型态(primitive)统一记录于同一顶点列表,以利用该顶点列表来代表各裁切平面的顶点。设定模块22则能进行步骤308-310-312A/312B/312C-314的设定程序,也就是:接收各顶点列表,并根据该顶点列表对应的基本型态来设定要如何将该顶点列表中的顶点连接为对应的平面。然后,像素处理模块24就能进行步骤205的像素级处理,以根据该设定程序的设定,计算顶点列表中各平面于该二维屏幕上所占用的像素,以及各像素所应呈现的色彩。譬如说,在虚拟实境的三维空间图形呈现技术中,各物体可用贴图的方式来表示其纹理(texture),纹理的呈现就可在像素处理模块24中处理、实现。
请参考图11(并一并参考图10)。图10中的电子系统10可用图9中的计算机系统30来实现。计算机系统30中设有中央处理器32、桥接电路34、存储器36(像是随机存取存储器)、图形处理电路40及显示器42。中央处理器32用来主控计算机系统30的运作,执行程序、处理信息及数据的运算。中央处理器32在运作期间所需的程序代码、信息及数据,即可暂存于存储器36。桥接电路34用来管理中央处理器32与其它电路间的相互讯号传输。图形处理电路40可以是和桥接电路34整合于同一芯片组中的计算电路。显示器42则可是液晶或阴极射线管(CRT,cathode-ray tube)显示器。
当要实现图10中的电子系统时,中央处理器32可执行图形处理的相关驱动程序38以实现顶点处理模块12、视野模块14、几何转换模块16、裁切模块18以及整合模块20,设定模块22及像素处理模块24的功能则由图形处理电路40来实现;而像素处理模块24计算出来的二维屏幕成像就能显示于显示器42上。换句话说,顶点处理模块12、视野模块14、几何转换模块16、裁切模块18以及整合模块20的功能可用软件来实现,设定模块22及像素处理模块24的功能则可由硬件(图形处理电路)来实现。
另外,在计算机系统30中,图形处理电路40也可以是独立于桥接电路34的显示卡;图形处理电路40也可拥有自己的存储器以执行较强的计算功能。在此种情形下,图形处理电路40就可实现电子系统10中的更多模块,而不仅限于设定模块与像素处理模块。
总结来说,本发明在进行三维空间图形呈现技术的图形处理时,系依据更具有应用弹性的三角列表基本型态,以将物体裁切后的多个裁切平面记录于同一顶点列表中。相较于已知技术,本发明可有效减少顶点列表的个数,在解读顶点列表时就不必多次重复进行设定程序,减少设定程序反复进行所耗费的时间与系统资源,进而增加图形处理的整体效能。
以上所述仅为本发明的较佳实施例,凡依本发明权利要求范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (13)
1.一种进行图形处理的方法,以将一个三维空间投影显示于二维屏幕;该三维空间中至少有一个物体,各个物体是由至少一平面所形成;而该方法包含有:
设定视野范围及其边界,使该边界可包围该视野范围;
进行裁切程序:针对该三维空间中的每一物体,检查该物体中的每一平面是否相交于该边界;若有某一平面相交于该边界,则计算该平面与该视野范围的交集,以将交集出的平面当作该平面所对应的裁切平面,各裁切平面具有多个顶点;
进行整合程序:若针对物体进行该裁切程序后计算出至少一裁切平面,则将所有裁切平面的各个顶点依据三角列表的基本型态统一记录于同一顶点列表,以利用该顶点列表来代表各裁切平面的顶点。
2.根据权利要求1所述的方法,其中,当进行该整合程序时,该三角列表基本型态的顶点列表是由一或多个三角扇基本型态的顶点列表转换整合而得。
3.根据权利要求1所述的方法,其中各物体是由至少一三角形的平面所形成。
4.根据权利要求1所述的方法,其还包含有:
在对物体进行该裁切程序后,对该物体的裁切平面进行设定程序,以接收各裁切平面的顶点列表,并根据该顶点列表对应的基本型态来设定要如何将该顶点列表中的顶点连接为对应的平面;
其中,当在进行该设定程序时,是以该整合程序所产生的顶点列表来进行该设定程序,使得在同一设定程序中可以设定不同裁切平面的连接。
5.根据权利要求4所述的方法,其还包含有:
进行该设定程序后,根据该设定程序所连接出的平面,计算各平面于该二维屏幕上所占用的像素,以及各像素所应呈现的色彩。
6.根据权利要求1所述的方法,其中,在进行该整合程序时,是将各裁切平面划分为三角形的平面,再依据所有裁切平面所划分出的三角形的顶点而将各裁切平面的各个顶点以三角列表的基本型态记录于同一顶点列表。
7.一种进行图形处理的方法,以将一个三维空间投影显示于二维屏幕;该三维空间中至少有一个物体,各个物体是由至少一平面所形成;而该方法包含有:
设定视野范围及其边界,使该边界可包围该视野范围;
进行裁切程序:针对该三维空间中的每一物体,检查该物体中的每一平面是否相交于该边界;若有某一平面相交于该边界,则计算该平面与该视野范围的交集,以将交集出的平面当作该平面所对应的裁切平面,各裁切平面具有多个顶点;
进行整合程序:若针对物体进行该裁切程序后计算出多个裁切平面,则将此多个裁切平面中至少两个裁切平面的各个顶点统一记录于同一顶点列表,以利用同一顶点列表来代表至少两个裁切平面的各个顶点。
8.根据权利要求7所述的方法,其中,当进行该整合程序时,是依据三角列表的基本型态来将至少两个裁切平面的各个顶点记录于同一顶点列表。
9.一种可进行图形处理的电子系统,其可将一个三维空间投影显示于二维屏幕;该三维空间中至少有一个物体,各个物体是由至少一平面所形成;而该电子系统包含有:
视野模块,其可设定视野范围及其边界,使该边界可包围该视野范围;
裁切模块,其可针对该三维空间中的每一物体,检查该物体中的每一平面是否相交于该边界;若有某一平面相交于该边界,则该裁切模块可计算该平面与该视野范围的交集,以将交集出的平面当作该平面所对应的裁切平面,各裁切平面具有多个顶点;
整合模块:若该裁切模块针对物体进行裁切后计算出至少一裁切平面,则该整合模块可将所有裁切平面的各个顶点依据三角列表的基本型态统一记录于同一顶点列表,以利用该顶点列表来代表各裁切平面的顶点。
10.根据权利要求9所述的电子系统,其中各物体是由至少一三角形的平面所形成。
11.根据权利要求9所述的电子系统,其还包含有:
设定模块;在该裁切模块对物体进行裁切后,该设定模块可对该物体的裁切平面进行设定程序,以接收各裁切平面的顶点列表,并根据该顶点列表对应的基本型态来设定要如何将该顶点列表中的顶点连接为对应的平面;
其中,当该设定模块运作时,是以该整合模块所产生的顶点列表来进行该设定程序,使得该设定模块可针对同一顶点列表设定不同裁切平面的连接。
12.根据权利要求11所述的电子系统,其还包含有:
像素处理模块,其可根据该设定程序的设定,计算各平面于该二维屏幕上所占用的像素,以及各像素所应呈现的色彩。
13.根据权利要求9所述的电子系统,其中,该整合模块是将各裁切平面划分为三角形的平面,再依据所有裁切平面所划分出的三角形的顶点而将各裁切平面的各个顶点以三角列表的基本型态记录于同一顶点列表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006100676096A CN1818976B (zh) | 2006-03-17 | 2006-03-17 | 进行图形处理的方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006100676096A CN1818976B (zh) | 2006-03-17 | 2006-03-17 | 进行图形处理的方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1818976A true CN1818976A (zh) | 2006-08-16 |
CN1818976B CN1818976B (zh) | 2010-06-16 |
Family
ID=36918976
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006100676096A Active CN1818976B (zh) | 2006-03-17 | 2006-03-17 | 进行图形处理的方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1818976B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100568289C (zh) * | 2007-07-13 | 2009-12-09 | 威盛电子股份有限公司 | 计算机绘图元素描绘方法及装置 |
WO2013097069A1 (en) * | 2011-12-26 | 2013-07-04 | Intel Corporation | Multiple scissor plane registers for rendering image data |
CN104574274A (zh) * | 2013-10-18 | 2015-04-29 | 财团法人资讯工业策进会 | 图像处理方法及应用图像处理方法的系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1104792A (zh) * | 1994-03-15 | 1995-07-05 | 杨高雄 | 高速电脑多边形剪裁跟踪器 |
-
2006
- 2006-03-17 CN CN2006100676096A patent/CN1818976B/zh active Active
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100568289C (zh) * | 2007-07-13 | 2009-12-09 | 威盛电子股份有限公司 | 计算机绘图元素描绘方法及装置 |
WO2013097069A1 (en) * | 2011-12-26 | 2013-07-04 | Intel Corporation | Multiple scissor plane registers for rendering image data |
TWI553589B (zh) * | 2011-12-26 | 2016-10-11 | 英特爾公司 | 用於呈現影像資料的系統、裝置、物品及方法 |
CN104574274A (zh) * | 2013-10-18 | 2015-04-29 | 财团法人资讯工业策进会 | 图像处理方法及应用图像处理方法的系统 |
CN104574274B (zh) * | 2013-10-18 | 2017-10-03 | 财团法人资讯工业策进会 | 图像处理方法及应用图像处理方法的系统 |
Also Published As
Publication number | Publication date |
---|---|
CN1818976B (zh) | 2010-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6636163B2 (ja) | 画像表示方法、成形そり幕を生成する方法、および頭部装着ディスプレイデバイス | |
CN1320816C (zh) | 由一组投影仪形成一个集群的方法 | |
EP3709256A1 (en) | View synthesis using neural networks | |
CN1698358A (zh) | 在显示表面上投影输出图像的装置 | |
US20070206027A1 (en) | Method And Related Apparatus For Image Processing | |
CN101079151A (zh) | 一种基于序列静态图像的360°环视全景生成方法 | |
CN1641469A (zh) | 立体图像显示装置 | |
US9030478B2 (en) | Three-dimensional graphics clipping method, three-dimensional graphics displaying method, and graphics processing apparatus using the same | |
CN1930585A (zh) | 建立深度图 | |
CN106558017B (zh) | 球形显示图像处理方法及系统 | |
CN109979013B (zh) | 三维人脸贴图方法及终端设备 | |
CN1364281A (zh) | 图象生成设备 | |
DE102018101030A1 (de) | Filterung von Bilddaten unter Verwendung eines neutralen Netzwerks | |
CN111583381B (zh) | 游戏资源图的渲染方法、装置及电子设备 | |
CN107358645A (zh) | 产品三维模型重建方法及其系统 | |
CN114765667A (zh) | 用于多视图拼接的固定图案校准 | |
CN112562014A (zh) | 相机标定方法、系统、介质及装置 | |
WO2023093739A1 (zh) | 一种多视图三维重建的方法 | |
CN111161398A (zh) | 一种图像生成方法、装置、设备及存储介质 | |
DE102020130865A1 (de) | Anweisungen und logik für vektor-multiplikation-addition mit zero-skipping | |
DE102019108733A1 (de) | Schnelle mehrskalige Punktwolkenregistrierung mit einer hierarchischen Gauß-Mischung | |
CN1818976A (zh) | 进行图形处理的方法及相关装置 | |
CN102982524A (zh) | 玉米果穗有序图像的拼接方法 | |
CN111932448B (zh) | 一种数据处理方法、装置、存储介质及设备 | |
TWI763206B (zh) | 顯示驅動裝置及其操作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |