影像物件的隐藏面移除的预先拣选方法及系统的制作方法

文档序号:6353335阅读:231来源:国知局
专利名称:影像物件的隐藏面移除的预先拣选方法及系统的制作方法
技术领域
本发明有关于一种隐藏面移除技术(Hidden SurfaceRemoval,HSR),且特别有关 于一种影像物件的隐藏面移除的预先拣选方法与系统。
背景技术
隐藏面移除(HSR)属于图形绘制管线(Graphics RenderingPipeline)中颇为重 要的一环,其基本理念为“在绘制一个3D物体的时候,通常后面的部分会被前面的部分盖 掉而看不到,所以只画出看的到的部分,看不到的部分就不画,如此可提高绘制速度”。也就 是说,如果一个多边形(Polygon)在经过绘制管线处理并被绘制在目标物件上后,属于这 个多边形的像素最终不会被人眼观察到,故可以将绘制该多边形的整个过程都视为是多余 而且可以被移除的。拣选方法(Culling)为其中一种HSR演算法,其概念为将一多边形经过坐标转 换(Transform)后,其坐标会落在人眼空间(eye space)。如果该多边形的其中一工作面 (Face)的法线(Normal)与人眼的法线的夹角超过90度,则该工作面即视为正面(Front Face),反之,若该夹角小于90度,则该工作面即视为背面(Back Face),如图1所示。因 此,可以依照装置驱动程序接口(Device Driver Interface,DDI)提供的设定(Back/ FrontFace Culling),来决定是否要将该多边形送入硬件(Hardware,HW)的绘制管线。也就是说,依照人眼位置/方向(Eye Position/Direction),可以推测一个多边 形是位于人眼看的到的方向,或是看不到的方向。传统拣选方法的缺点包括下列二点。(1)运作于人眼空间(Eye Space)。也就是说,在执行拣选(Culling)的计算前, 必须经过坐标转换(Transform)与光源照射(Lighting)的过程,如果一个多边形可以事先 知道其是可以被移除的,那么该拣选计算可以被视为是多余的。(2)需要实时(Real-time)计算人眼的法线与多边形的每一工作面的法线的夹 角。一般来说,该夹角的计算表示为((xl-xO)X(y2-yO)) > ((χ2-χ0) X (yl_y0)),其需 要存取六个浮点数、两个乘法指令、四个减法指令以及一个比较指令,计算相当的繁复且费 时。

发明内容
本发明提供一种影像物件的隐藏面移除的预先拣选方法与系统,其为一改良式的 拣选(Culling)方法。本发明提供了一种影像物件的隐藏面移除的预先拣选方法。当欲执行一描绘操作 时,将一人眼坐标自一人眼空间转换至一多边形所在的一模型空间中。比对该人眼坐标在 该模型空间的一法向量与该多边形的每一工作面的法向量,以判断该多边形的每一工作面 相对于该人眼坐标为正面或反面。本发明提供了一种影像物件的隐藏面移除的预先拣选系统,包括一转换单元、一计算单元、一判断单元与一描绘单元。当欲执行一描绘操作时,该转换单元将一人眼坐标自 一人眼空间转换至一多边形所在的一模型空间中。该计算单元计算该人眼坐标在该模型空 间中的一法向量。该判断单元比对该人眼坐标的该法向量与对应该多边形的每一工作面的 法向量,以判断该多边形的每一工作面相对于该人眼坐标为正面或反面。当判断出该多边 形的一工作面为反面时,该描绘单元不绘出该工作面在该模型空间中。本发明所述的拣选方法及系统在执行绘制操作时可省去坐标转换与光源照射的 过程以及减少实时计算步骤。


图1是显示多边形的正面与反面表示法的示意图。图2是显示本发明实施例的影像物件的隐藏面移除的预先拣选方法的步骤流程 图。

图3是显示本发明实施例的象限分割的示意图。图4A是显示本发明实施例的象限分类的示意图。图4B是显示本发明另一实施例的象限分类的示意图。图5是显示本发明另一实施例的象限分割的示意图。图6是显示本发明另一实施例的象限分割的示意图。图7是显示本发明实施例的五边形的象限分割的示意图。图8是显示本发明实施例的影像物件的隐藏面移除的预先拣选系统的架构示意 图。
具体实施例方式为了让本发明的目的、特征及优点能更明显易懂,下文特举较佳实施例,并配合所 附图式图2至图8,做详细的说明。本发明说明书提供不同的实施例来说明本发明不同实施 方式的技术特征。其中,实施例中的各元件的配置为说明之用,并非用以限制本发明。且实 施例中图式标号的部分重复,是为了简化说明,并非意指不同实施例之间的关联性。本发明实施例揭露了一种影像物件的隐藏面移除的预先拣选方法与系统。本发明实施例的影像物件的隐藏面移除的预先拣选方法为一预先计算的拣选索 弓丨(Pre-Calculated Culling Index,以下简称为PCCI)方法,其在模型空间(Model Space) 即可计算,所以可以减少坐标转换(Transform)与光源照射(Lighting)的计算量,在即时 绘制时不需执行外积计算(cross operation)而可以降低计算的复杂度,以及可利用硬件 与软件(Software,Sff)来实现。图2是显示本发明实施例的影像物件的隐藏面移除的预先拣选方法的步骤流程 图。首先,执行一离线(off-line)操作(即,前处理操作)(步骤S21),其包括下列步
马聚ο将位于模型空间中的一多边形依其各工作面的法线的方向定义出多个象限(步 骤S31)。利用一外积运算计算取得该多边形的每一工作面的法向量(步骤S32),并且对每 一法向量执行正规化运算(Normalize)(步骤S33)。完成正规化运算后,根据上述定义的象限对每一工作面的 法向量进行分类,以取得对应每一工作面的法向量的PCCI值,并且产生 一 PCCI阵列(步骤S34)。该PCCI阵列储存在一存储器中,对应该多边形的每一工作面的 顶点数据储存在一顶点缓冲区(Vertex Buffer,VB)中,对应该多边形的顶点数据的索引值 储存在一索引缓冲区(IndexBuffer,IB)中。有关象限分割与PCCI阵列说明如下。若定义出A、B、C、D四个象限(如图3所示),则将一多边形的工作面计算所得的 法向量分别归类至A、B、C、D四个象限中而产生对应的PCCI阵列。又,图4A是显示一由上往下看的立方体(Cube)的象限示意图。若将一多边形分 成A、B、C、D四个象限,以象限A为例,只要任何一个工作面的法线在象限A的范围内,该工 作面即被归类于此象限A。以象限B为例,只要任何一个工作面的法线在象限B的范围内, 该工作面即被归类于此象限B。以象限C为例,只要任何一个工作面的法线在象限C的范 围内,该工作面即被归类于此象限C。以象限D为例,只要任何一个工作面的法线在象限D 的范围内,该工作面即被归类于此象限D。因此,拥有法线Atl的工作面被分类于象限A,产 生的PCCI值则表示为A,而拥有法线Btl的工作面被分类于象限B,产生的PCCI值表示为B。 而拥有法线Ctl的工作面被分类于象限C,产生的PCCI值表示为C。而拥有法线Dtl的工作面 被分类于象限D,产生的PCCI值表示为D。请参考图4B中,以象限A与象限B为例,只要任何一个工作面的法线平行于象限A 与象限B的相邻处,该工作面即被归类横跨象限A与象限B。以象限B与象限C为例,只要 任何一个工作面的法线平行于象限B与象限C的相邻处,该工作面即被归类横跨象限B与 象限C。以象限C与象限D为例,只要任何一个工作面的法线平行于象限C与象限D的相邻 处,该工作面即被归类横跨象限C与象限D。以象限D与象限A为例,只要任何一个工作面 的法线平行于象限D与象限A的相邻处,该工作面即被归类横跨象限D与象限A。因此,拥 有法线ABtl的工作面被分类于象限A以及象限B,产生的PCCI值则表示为AB,而拥有法线 BCtlW工作面被分类于象限B以及象限C,产生的PC CI值表示为B C。而拥有法线⑶C1的 工作面被分类于象限C以及象限D,产生的PCCI值表示为CD。而拥有法线DAtl的工作面被 分类于象限D以及象限A,产生的PCCI值表示为DA。在实际操作时,不一定只有四个象限,可以依据需求增加或减少象限的数量,如图 5、图6所示。分割的象限越少,用以储存PCCI值的阵列空间就越小。例如,分割为4个象 限,每个PCCI阵列中的元素就只需要占用3个位元。因此,分割的象限数越少,可以节省储 存空间与降低存储器频宽的消耗。又,图7是显示本发明实施例的五边形的象限分割的示意图。该五边形的五个工 作面依序为fo、f\、f2> f3与f4,且将该五边形分为A、B、C、D四个象限,故PCCI阵列中的值 依序表示为AB、B、C、⑶与DA,其分别对应工作面fQ、f\、f2、f3与f4,其中AB、⑶、DA用以表 示该多边形的对应工作面的法线平行于两个象限相邻处。接下来,当欲执行一描绘操作(S卩,线上(on-line)操作)时(步骤S22),将人眼 坐标自人眼空间转换至该多边形所在的模型空间中(步骤S23),并且计算该人眼坐标在 该模型空间中的法向量,从而得知该人眼坐标的法向量位于该多边形的哪一象限中(步骤 S24)。利用一模型-视野-投射(Model ViewProjection,以下简称为MVP)反矩阵将该人 眼位置转换到该多边形所在的模型空间中,并且根据该MVP矩阵求得该人眼坐标在该模型空间中的法线。以下以一范例说明MVP反矩阵((MVP)—1)的计算过程。令人眼坐标的法向量为=Normaleye = (x, y,ζ),而将Normaleye映射至模型空间的 计算方式为 Normaleye‘ = NormaleyeX (MVP)"1
"0.36 0.48 -0.8]「0.36 -0.8 0.48"令MVP=-0.8 0.6 0 ,则(MFP)-1 = 0.48 0.6 0.64。
0.48 0.64 0.6 J[-0.8 0 0.6 V|r「0.36 -0.8 0.48—因此,iVo/Twa/明'=少0.48 0.6 0.64。
ζ O·8 0 0.6需注意到,在此演算法中,人眼空间中的摄影机(Camera)的方向向量可视为(0, 0,+ζ),即 Normaleye = (0,0, +ζ)。本发明不限于使用MVP反矩阵来计算人眼坐标在模型空间中的法向量,更可利用 如Gauss-Jordan演算法、LUdecomposition等方法来计算人眼坐标在模型空间中的法向量。接下来,将该人眼坐标的法向量与该多边形的每一工作面的PCCI值比对(步骤 S25),以判断其中一工作面的法向量与该人眼坐标的法向量间的夹角是否大于一预设值 (例如,90度)(步骤S26)。若夹角大于或等于该预设值,表示该工作面为正面,则根据该顶 点缓冲区(VB)中的顶点数据与该索引缓冲区(IB)中的索引值,将该工作面绘出在该模型 空间中(步骤S27)。若夹角小于该预设值,表示该工作面为背面,则移除该工作面而不予以 绘出(步骤S28)。举例来说,参考图7,当人眼坐标的法向量于象限A时,A、AB、DA为背面。当人眼 坐标的法向量属于象限B时,PCCI值为B、AB、BC的工作面为背面。当人眼坐标的法向量 属于象限C时,PCCI值为C、BC、⑶的工作面为背面。当人眼坐标的法向量属于象限D时, PCCI值为D、DA、⑶的工作面为背面,其余的工作面为正面。当人眼坐标的法向量属于象限 AB时,PCCI值为AB、A、B的工作面为背面,其余的工作面为正面。当人眼坐标的法向量属 于象限BC时,PCCI值为BC、B、C的工作面为背面,其余的工作面为正面。当人眼坐标的法 向量属于象限⑶时,PCCI值为⑶、C、D的工作面为背面,其余的工作面为正面。当人眼坐 标的法向量属于象限DA时,PCCI值为DA、A、D的工作面为背面,其余的工作面为正面。因此,如图7所示,人眼坐标的法向量属于象限B,则工作面f2、f3与f4要被绘出, 而工作面为fo、fi则被移除,不会绘出。图8是显示本发明实施例的影像物件的隐藏面移除的预先拣选系统的架构示意 图。本发明实施例的影像物件的隐藏面移除的预先拣选系统包括一前处理单元810、 一转换单元820、一计算单元830、一判断单元840与一描绘单元850。前处理单元810将位于一模型空间中的一多边形800依其各工作面的法线的方 向定义出多个象限,利用一外积运算计算取得该多边形的每一工作面的法向量,并且对每 一法向量执行正规化运算。完成正规化运算后,前处理单元810根据上述定义的象限对每 一工作面的法向量进行分类,以取得对应每一工作面的法向量的PCCI值,并且产生一 PCCI 阵列。该PCCI阵列储存在一储存介质811中,对应该多边形的每一工作面的顶点数据储存在一顶点缓冲区(VB)813中,对应该多边形的顶点数据的索引值储存在一索引缓冲区 (IB)815 中。当欲执行一描绘操作时,转换单元820将人眼坐标自人眼空间转换至该多边形所 在的模型空间中。计算单元830计算该人眼坐标在该模型空间中的法向量,从而得知该人 眼坐标的法向量位于该多边形的哪一象限中。判断单元将该人眼坐标的法向量与该多边形 的每一工作面的PCCI值比对,以判断其中一工作面的法向量与该人眼坐标的法向量间的 夹角是否大于一预设值(例如,90度)。若夹角大于或等于该预设值,表示该工作面为正面,则描绘单元850根据该顶点 缓冲区(VB)813中的顶点数据与该索引缓冲区(IB)815中的索引值,将该工作面绘出在该 模型空间中。若夹角小于该预设值,表示该工作面为背面,则描绘单元850移除该工作面而 不予以绘出。传统上,欲在3D场景中描绘多边形物件时,以多边形物件在场景中移动而人眼固 定不动的方式来将多边形物件绘出。本发明方法以多边形物件固定不动而人眼在场景中移 动的方式来将多边形物件绘出,其通过一前处理操作先判断出该多边形物件的每一工作面 相对于人眼来说为正面或反面,使得在实际执行绘制操作时可省却坐标转换与光源照射的 过程以及减少实时计算步骤。 本发明的方法,或特定型态或其部分,可以以程序码的型态存在。程序码可以包含 于实体介质,如软盘、光盘片、硬盘、或是任何其他机器可读取(如计算机可读取)储存介 质,其中,当程序码被机器,如计算机,载入且执行时,此机器变成用以参与本发明的装置。 程序码也可以通过一些传送介质,如电线或电缆、光纤、或是任何传输形态进行传送,其中, 当程序码被机器,如计算机接收、载入且执行时,此机器变成用以参与本发明的装置。当在 一般用途处理单元中实现时,程序码结合处理单元提供一操作类似于应用特定逻辑电路的 独特装置。以上所述仅为本发明较佳实施例,然其并非用以限定本发明的范围,任何熟悉本 项技术的人员,在不脱离本发明的精神和范围内,可在此基础上做进一步的改进和变化,因 此本发明的保护范围当以本申请的权利要求书所界定的范围为准。附图中符号的简单说明如下A、B、C、D 象限;S21 S28 流程步骤;S31 S34 流程步骤;f0 f5 工作面的法 向量;800 多边形;810 前处理单元;811 储存介质;813 顶点缓冲区;815 索引缓冲区; 820 转换单元;830 计算单元;840 判断单元;850 描绘单元。
权利要求
1.一种影像物件的隐藏面移除的预先拣选方法,其特征在于,包括下列步骤当欲执行一描绘操作时,将一人眼坐标自一人眼空间转换至一多边形所在的一模型空 间中;以及比对该人眼坐标在该模型空间的一法向量与该多边形的每一工作面的法向量,以判断 该多边形的每一工作面相对于该人眼坐标为正面或反面。
2.根据权利要求1所述的影像物件的隐藏面移除的预先拣选方法,其特征在于,当该 多边形的一工作面的法向量与该人眼坐标的该法向量间的一夹角小于一预设值时,则该工 作面不绘出在该模型空间中。
3.根据权利要求1所述的影像物件的隐藏面移除的预先拣选方法,其特征在于,还包 括下列步骤预先执行一前处理操作,以取得该多边形的多个象限与一 PCCI阵列,该PCCI阵列包含 多个PCCI值,每一 PCCI值对应该多边形的每一工作面的法向量; 计算该人眼坐标在该模型空间中的该法向量; 比对该人眼坐标的该法向量与对应该多边形的一工作面的一 PCCI值。
4.根据权利要求3所述的影像物件的隐藏面移除的预先拣选方法,其特征在于,该前 处理操作还包括下列步骤将位于该模型空间中的该多边形依其各工作面的法线的方向定义出所述象限; 利用一外积运算计算取得该多边形的每一工作面的法向量; 对该多边形的每一工作面的法向量执行一正规化运算;以及完成该正规化运算后,根据所述象限对该多边形的每一工作面的法向量进行分类,以 取得对应该多边形的每一工作面的法向量的所述PCCI值,并且产生该PCCI阵列。
5.根据权利要求2所述的影像物件的隐藏面移除的预先拣选方法,其特征在于,当该 夹角大于或等于该预设值,则根据一顶点缓冲区中的对应该多边形的顶点数据与一索引缓 冲区中的对应该多边形的该顶点数据的多个索引值,将该工作面绘出在该模型空间中。
6.根据权利要求1所述的影像物件的隐藏面移除的预先拣选方法,其特征在于,执行 一反转换操作以将该人眼坐标自该人眼空间转换至该多边形所在的该模型空间中。
7.一种影像物件的隐藏面移除的预先拣选系统,其特征在于,包括一转换单元,当欲执行一描绘操作时,其将一人眼坐标自一人眼空间转换至一多边形 所在的一模型空间中;一计算单元,其计算该人眼坐标在该模型空间中的一法向量;一判断单元,比对该人眼坐标的该法向量与对应该多边形的每一工作面的法向量,以 判断该多边形的每一工作面相对于该人眼坐标为正面或反面;以及一描绘单元,当判断出该多边形的一工作面为反面时,则不绘出该工作面在该模型空 间中。
8.根据权利要求7所述的影像物件的隐藏面移除的预先拣选系统,其特征在于,还包括一前处理单元,其执行一前处理操作,以取得该多边形的多个象限与一 PCCI阵列,该 PCCI阵列包含多个PCCI值,每一 PCCI值对应该多边形的每一工作面的法向量;该判断单元比对该人眼坐标的该法向量与对应该多边形的一工作面的一 PCCI值。
9.根据权利要求7所述的影像物件的隐藏面移除的预先拣选系统,其特征在于, 当该判断单元判断该工作面的法向量与该人眼坐标的该法向量间的一夹角大于或等于一预设值时,则该描绘单元绘出该工作面在该模型空间中;以及当该判断单元判断该夹角小于该预设值,则该描绘单元不绘出该工作面。
10.根据权利要求8所述的影像物件的隐藏面移除的预先拣选系统,其特征在于,该前 处理单元将位于该模型空间中的该多边形依其各工作面的法线的方向定义出所述象限,利 用一外积运算计算取得该多边形的每一工作面的法向量,对该多边形的每一工作面的法向 量执行一正规化运算,完成该正规化运算后,根据所述象限对该多边形的每一工作面的法 向量进行分类,以取得对应该多边形的每一工作面的法向量的所述多个PCCI值,并且产生 该PCCI阵列。
11.根据权利要求9所述的影像物件的隐藏面移除的预先拣选系统,其特征在于,当该 夹角大于或等于该预设值,则该描绘单元根据一顶点缓冲区中的对应该多边形的顶点数据 与一索引缓冲区中的对应该多边形的该顶点数据的多个索引值,将该工作面绘出在该模型 空间中。
12.根据权利要求7所述的影像物件的隐藏面移除的预先拣选系统,其特征在于,该转 换单元执行一反转换操作以将该人眼坐标自该人眼空间转换至该多边形所在的该模型空 间中。
全文摘要
一种影像物件的隐藏面移除的预先拣选方法及系统。该预先拣选方法包括执行一前处理操作,以取得一多边形的多个象限;将一人眼坐标自一人眼空间转换至该多边形所在的一模型空间中;根据该人眼坐标所在的其中一象限,比对该人眼坐标的一法向量与该多边形的每一工作面的法向量,以判断该多边形的每一工作面相对于该人眼坐标为正面或反面。本发明在执行绘制操作时可省去坐标转换与光源照射的过程以及减少实时计算步骤。
文档编号G06T15/40GK102096940SQ20111002060
公开日2011年6月15日 申请日期2011年1月12日 优先权日2010年12月14日
发明者吴裘宏, 蔡宗谕 申请人:威盛电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1