使用位移因数的细分方法技术

技术编号:14239407 阅读:91 留言:0更新日期:2016-12-21 14:53
本发明专利技术公开了使用位移因数的细分方法。描述了使用为补片的每个顶点定义的顶点细分因数和位移因数的细分方法,补片可以是四边形、三角形或等值线。该方法在计算机图形系统中实现并涉及计算在一个或多个输入补片中的每个角顶点的顶点细分因数。然后使用顶点细分因数对一个或多个输入补片执行细分。细分操作涉及添加一个或多个新顶点以及计算每个最新添加的顶点的位移因数。随后通过计算每个顶点的目标自然空间参数并接着使用那个顶点的位移因数修改顶点的目标自然空间参数来确定每个顶点的自然空间参数。

Subdivision method using displacement factor

The invention discloses a subdivision method using displacement factor. A subdivision method is described that uses the vertex subdivision factor and displacement factor defined for each vertex of the patch. The method is implemented in a computer graphics system and relates to the calculation of the vertex subdivision factor of each corner vertex in one or more input patches. Subdivision of one or more input patches is then performed using the vertex subdivision factor. The displacement factor of subdivision operation involves adding one or more new vertices and calculated for each newly added vertex. Secondly, the natural spatial parameters of each vertex are determined by calculating the natural space parameters of each vertex and then using the displacement factor of the vertex to modify the natural space parameters of the vertices.

【技术实现步骤摘要】
背景细分是在计算机图形中用于将表示在场景中的对象的一组表面分割成一般是三角形的多个更小和更简单的片(被称为基元),其更容易渲染。因而产生的细分的表面通常是对原始表面的近似,但这个近似的准确度可通过增加所产生的基元的数量来增加,这又通常导致基元更小。细分/再分的量通常由细节级别(LOD)确定。因此一般在需要更高的细节级别的情况下使用增加数量的基元,例如因为对象更接近观看者和/或对象具有更复杂的形状。然而,更大数量的三角形的使用增加了渲染场景所需的处理努力。一般对补片执行再分成三角形基元,补片在形状上是正方形或三角形的(即四边形或三角形)并可弯曲以与它们代表的对象的表面保持一致(并因此可被称为“表面补片”)和/或使位移映射被应用。然而,再分不对表面补片执行而替代地在二维补片(即补片是平面的,而不是由多项式方程定义)的域中被执行,二维补片的域可用(u,v)参数来定义并被称为“参数空间”。这意味着细分过程与在最终表面中存在的任何曲率无关。细分可提前被执行(例如以计算场景的在不同的细节级别和/或来自不同的视点的多个不同的视图)或可在运行中被执行(例如以提供连续或视图相关的细节级别)。使用一些现有的细分方法,用户可经历不希望有的视觉伪像,其中虽然所请求的细节级别平稳地改变,因而产生的细分以间断的方式改变。下面所述的实施方式仅作为例子被提供,且并不是解决用于执行细分的已知方法和装置的任何或所有缺点的实现的限制。概述这个概述被提供来以简化的形式介绍一系列概念,其在下面在详细描述中被进一步描述。这个概述并不打算识别所主张的主题的关键特征或必要特征,也不打算用作在确定所主张的主题的范围时的帮助。描述了使用为补片的每个顶点定义的顶点细分因数和位移因数二者的细分方法,补片可以是四边形、三角形或等值线。该方法在计算机图形系统中实现并涉及计算在一个或多个输入补片中的每个角顶点的顶点细分因数。然后使用顶点细分因数对一个或多个输入补片执行细分。细分操作涉及添加一个或多个新顶点以及计算每个最新添加的顶点的位移因数。随后通过计算每个顶点的目标自然空间参数并接着使用那个顶点的位移因数修改顶点的目标自然空间参数来确定每个顶点的自然空间参数。第一方面提供在计算机图形系统中执行细分的方法,该方法包括:计算在一个或多个输入补片中的每个角顶点的顶点细分因数;使用顶点细分因数对一个或多个输入补片执行细分以产生由顶点定义的多个基元,细分包括添加一个或多个新顶点以及计算每个最新添加的顶点的位移因数;以及通过计算每个顶点的目标自然空间参数并接着使用那个顶点的位移因数修改顶点的目标自然空间参数来确定每个顶点的自然空间参数。添加一个或多个新顶点可包括:比较在补片中的一对相邻顶点的顶点细分因数与阈值;以及响应于确定至少一个顶点细分因数超过阈值,添加将在这两个相邻顶点之间的边再分成两个部分的新子顶点,这两个相邻顶点是子顶点的父顶点。新的子顶点可平分在这两个父顶点之间的边。计算每个最新添加的顶点的位移因数可包括:根据顶点的父顶点的顶点细分因数来计算顶点的位移因数。顶点的父顶点的顶点细分因数的函数G(TF)可由下式给出:G(TF)=(TFmax–THRES)/Δ,如果TFmax∈(THRES,THRES+Δ)或G(TF)=1,如果其中TFmax是父顶点的顶点细分因数的最大值,THRES是阈值,以及Δ是当执行细分时顶点细分因数在每次迭代中减小的量。该方法还可包括:将在一个或多个输入补片中的每个角顶点的位移因数设置为位移因数的最大值。使用顶点的位移因数修改那个顶点的目标自然空间参数可包括:通过在顶点的父顶点的自然空间参数之间内插来产生顶点的自然空间参数的开始状态;以及使用顶点的位移因数来在顶点的自然空间参数的开始状态和顶点的目标自然空间参数之间内插。如果顶点的位移因数等于最小值,则顶点的自然空间参数可等于顶点的自然空间参数的开始状态,以及其中如果顶点的位移因数等于最大值,则顶点的自然空间参数可等于顶点的自然空间参数的目标状态。使用顶点的位移因数来在顶点的自然空间参数的开始状态M’和顶点的目标自然空间参数M(u3,v3)之间内插可包括计算(1–df)*M’+df*M(u3,v3)。通过在顶点的父顶点的自然空间参数M(u1,v1)、M(u2,v2)之间内插来产生顶点的自然空间参数的开始状态M’可包括计算:M’=RAST_INTERP(M(u1,v1),M(u2,v2),A)其中RAST_INTERP是由在计算机图形系统中的光栅器使用的内插函数,以及A是常数。添加一个或多个新顶点可包括:对于包括由边连接并在域空间中定义的左顶点和右顶点的初始补片:将左顶点的顶点细分因数和右顶点的顶点细分因数与阈值进行比较;响应于确定左顶点和右顶点的顶点细分因数中没有一个超过阈值,输出描述初始补片的数据;以及响应于确定左顶点和右顶点的顶点细分因数中有任一个超过阈值,形成将边再分成两个部分的新顶点,计算新顶点的顶点细分因数,分割初始补片以形成包括左顶点和新顶点的第一新补片以及包括右顶点和新顶点的第二新补片,并减小在每个最新形成的补片中的每个顶点的顶点细分因数。新顶点可平分边。添加一个或多个新顶点还可包括:使用每个最新形成的补片作为初始补片重复该方法。对作为初始补片的每个最新形成的补片重复该方法可包括:对作为初始补片的每个最新形成的补片重复该方法,直到在每个补片中的左顶点和右顶点的顶点细分因数不超过阈值。计算新顶点的顶点细分因数可包括:计算左顶点和右顶点的顶点细分因数的平均值;以及将新顶点的顶点细分因数设置为等于所计算的平均值。左顶点和右顶点的顶点细分因数的平均值可由下式给出:MEAN(LEFT.TF,RIGHT.TF)=MIN(AVG(LEFT.TF,RIGHT.TF),MIN(LEFT.TF,RIGHT.TF)+INTERVAL)其中LEFT.TF是左顶点的顶点细分因数,RIGHT.TF是右顶点的顶点细分因数,AVG()是在括弧内的值的算术平均值,MIN()是在括弧内的一系列值中的最小值,以及INTERVAL是预先定义的参数。减小在每个最新形成的补片中的每个顶点的顶点细分因数可包括将每个顶点细分因数减小预先定义的参数INTERVAL。参数INTERVAL可以是0.5。阈值可以是零。初始补片可以是由两个顶点——左顶点和右顶点——定义的等值线补片。初始补片可以是三角形补片,且其中三角形补片是三个顶点的有序集合:上顶点、右顶点和左顶点。被分割的补片可以是两个最新形成的补片的父补片,以及其中第一新补片是三个顶点的有序集合:上顶点,其为被添加到父补片的新顶点;右顶点,其为父补片的左顶点;以及左顶点,其为父补片的上顶点;以及其中第二新补片是三个顶点的有序集合:上顶点,其为被添加到父补片的新顶点;右顶点,其为父补片的上顶点;以及左顶点,其为父补片的右顶点。该方法还可包括:接收输入补片;以及从输入补片产生一个或多个初始补片;以及对于多个初始补片中的每个重复该方法。输入补片可以是具有三个顶点的三角形补片,且其中产生一个或多个初始补片可包括:比较三个顶点中的每个的顶点细分因数与阈值;响应于确定没有一个顶点细分因数超过阈值,输出描述输入补片的数据;以及响应于确定至少一个顶点细分因数超过阈值,形本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/201610388179.html" title="使用位移因数的细分方法原文来自X技术">使用位移因数的细分方法</a>

【技术保护点】
一种在计算机图形系统中执行细分的方法,所述方法包括:计算在一个或多个输入补片中的每个角顶点的顶点细分因数(302);使用所述顶点细分因数对所述一个或多个输入补片执行细分以产生由顶点定义的多个基元(304),所述细分包括添加一个或多个新顶点(305)以及计算每个最新添加的顶点的位移因数(306);以及通过计算每个顶点的目标自然空间参数(310)并使用一顶点的位移因数修改该顶点的目标自然空间参数(312)来产生每个顶点的自然空间参数(306)。

【技术特征摘要】
2015.06.05 GB 1509762.91.一种在计算机图形系统中执行细分的方法,所述方法包括:计算在一个或多个输入补片中的每个角顶点的顶点细分因数(302);使用所述顶点细分因数对所述一个或多个输入补片执行细分以产生由顶点定义的多个基元(304),所述细分包括添加一个或多个新顶点(305)以及计算每个最新添加的顶点的位移因数(306);以及通过计算每个顶点的目标自然空间参数(310)并使用一顶点的位移因数修改该顶点的目标自然空间参数(312)来产生每个顶点的自然空间参数(306)。2.如权利要求1所述的方法,其中添加一个或多个新顶点包括:比较在补片中的一对相邻顶点的顶点细分因数与阈值;以及响应于确定至少一个顶点细分因数超过所述阈值,添加将在所述两个相邻顶点之间的边再分成两个部分的新的子顶点,所述两个相邻顶点是所述子顶点的父顶点。3.如权利要求2所述的方法,其中所述新的子顶点平分在所述两个父顶点之间的边。4.如权利要求2所述的方法,其中计算每个最新添加的顶点的位移因数包括:根据顶点的父顶点的顶点细分因数来计算所述顶点的位移因数。5.如权利要求2所述的方法,还包括:将在所述一个或多个输入补片中的每个角顶点的位移因数设置为位移因数的最大值。6.如权利要求2所述的方法,其中使用一顶点的位移因数修改该顶点的目标自然空间参数包括:通过在所述顶点的父顶点的自然空间参数之间内插来产生所述顶点的自然空间参数的开始状态;以及使用所述顶点的位移因数来在所述顶点的自然空间参数的开始状态和所述顶点的目标自然空间参数之间内插。7.如前述权利要求中的任一项所述的方法,其中添加一个或多个新顶点包括:对于包括由边连接并在域空间中定义的左顶点和右顶点的初始补片:比较所述左顶点的顶点细分因数和所述右顶点的顶点细分因数与阈值(1002);响应于确定所述左顶点和所述右顶点的顶点细分因数中没有一个超过所述阈值,输出描述所述初始补片的数据(1014);以及响应于确定所述左顶点和所述右顶点的顶点细分因数中有任一个超过所述阈值,形成将所述边再分成两个部分的新顶点(1004),计算所述新顶点的顶点细分因数(1006),分割所述初始...

【专利技术属性】
技术研发人员:彼得·马尔科姆·莱西S·菲尼
申请(专利权)人:想象技术有限公司
类型:发明
国别省市:英国;GB

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1