CN102214369A - 移位参数曲面的分层包围 - Google Patents

移位参数曲面的分层包围 Download PDF

Info

Publication number
CN102214369A
CN102214369A CN2011101263513A CN201110126351A CN102214369A CN 102214369 A CN102214369 A CN 102214369A CN 2011101263513 A CN2011101263513 A CN 2011101263513A CN 201110126351 A CN201110126351 A CN 201110126351A CN 102214369 A CN102214369 A CN 102214369A
Authority
CN
China
Prior art keywords
dough sheet
border
normal
coordinate system
parametric
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
Application number
CN2011101263513A
Other languages
English (en)
Other versions
CN102214369B (zh
Inventor
J·蒙克贝里
J·哈塞尔格伦
R·托特
T·阿克宁-穆勒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN102214369A publication Critical patent/CN102214369A/zh
Application granted granted Critical
Publication of CN102214369B publication Critical patent/CN102214369B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/08Volume rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/30Polynomial surface description

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Algebra (AREA)
  • Image Generation (AREA)

Abstract

对于交互式和实时渲染中的曲面细分,移位参数曲面的分层包围可以是很常见的使用情况。可以使用高效的法线包围技术、最小-最大mipmap分层和定向包围盒技术。在一些实施例中,这为移位曲面的包围体提供了非常快的收敛,而无需曲面细分和对曲面进行移位。可以对不同类型的剔除、光线跟踪使用该包围技术,并且用于在碎块叠铺架构中对较高阶图元进行分类。

Description

移位参数曲面的分层包围
背景技术
本发明总体上涉及图形处理,并且更具体地涉及渲染***(诸如交互式、实时和离线/胶片渲染)中的曲面细分(tessellation)。
现代图形处理器包含用于将曲面细分成许多小三角形的专用硬件。DirectX 11应用程序接口(“DX11”)(API)向图形流水线中增加了三个新阶段,用以支持曲面细分:外壳着色器、固定功能曲面细分单元和域着色器。外壳着色器对每个面片(patch)执行一次,并对每个控制点执行一次,通常用来计算曲面细分系数并用来改变控制点基础。固定功能曲面细分单元将曲面细分系数作为输入,并生成在输入图元的域中的顶点位置的大的集合以及在顶点之间的连接信息。该连接信息形成许多小三角形。对从曲面细分单元生成的每一个顶点位置,执行一次域着色器。域着色器的一个典型用途就是使用例如一组控制点、重心坐标和详细纹理作为输入来计算参数曲面的位置和法线。该输出是由一组属性定义的移位顶点。一个属性是位置,但该着色器也能计算移位顶点的法线/切线/双切线/纹理坐标/颜色/透明度或其他属性。
附图说明
图1是示出了顶角控制点和向量b和t的图形;通过形成面片的顶角之间的向量,从而可以导出OBB轴;
图2在上行中示出了在用于包围具有两个分离的移位顶峰的三次多项式的25个步骤之后得到的边界的示例,左图使用AABB,右图使用OBB,其轴由贝塞尔曲线的控制点确定,而在下行中将Perlin噪声增加到移位着色器;
图3是经过相同次数细分的AABB包围对比于OBB包围的三维示例;
图4示出了对于法线面片的法线包围技术,最左侧的图示出了在归一化前的法线面片,中间的图示出了作为被归一化以使其映射到单位球上的每个控制点,并且最后,最右侧的图示出了被椎体包围的投影,该椎体是针对面片的归一化法线的保守边界;
图5示出了给定的由T和B表示的两个参数导数的包围椎体,包围T中的任意向量和B中的任意向量的叉积的椎体可以被导出并且在这里被表示为N;
图6示出了其中执行16步细分的使用屏幕空间包围盒尺寸作为分类标准的两个不同视图的示例,以及在细分密度上结果差异;
图7是根据本发明的一个实施例的包围移位贝塞尔曲面面片和包围算法的流程图;
图8是根据一个实施例的通过找到移位贝塞尔面片的OBB来计算移位面片的边界的更详细的流程的流程图;
图9是通过使用控制点定义基础面片的OBB的一个实施例的流程图;
图10是查找归一化法线的一个实施例的流程图;
图11是查找归一化法线的另一个实施例的流程图;
图12是本发明的一个实施例的硬件描述。
具体实施方式
减少域着色器计算的次数可以减少图形流水线的该阶段所需的计算资源。这可以通过剔除对最终图像无贡献的面片来实现。为了使得该剔除更高效,可以使用一种用于计算移位曲面的分层边界的算法。
此外,在基于碎块(tile-based)的渲染架构中,需要输入图元的边界以便高效地将输入图元分类到碎块中。“包围体(bounding volume)”是一测定体积的物体,例如包围另一物体的盒或球。由于域着色器是可编程的,因此很难给出输出位置的保守并紧密的边界,这可能导致需要将已生成的小三角形逐个分类到碎块中。这增加了碎块队列的存储器需求,增加了带宽使用,并降低了面片图元层上的遮挡剔除的效率。
取而代之的是,如图7所示,可以仅仅基于域着色器在运行中计算这些边界(框12),而无需用户指定的参数。因此,当图元被分割成较小的子面片时,该边界可以被适应性地改善以创建分层。在一个实施例中,一种算法通过使用高效法线包围、定向包围盒和移位纹理的最小-最大mipmap分层,使得能够保守并紧密地包围动态移位参数曲面(诸如贝塞尔面片)。面片可以被剔除(框16)。如果未被剔除,则可以对图元进行曲面细分和域着色(框18)。
在一些实施例中,由于面片不是必须被发送给曲面细分单元,针对该面片的域着色器和曲面细分单元任务可以减少。在一些实施例中,如果输入面片被剔除,则无需进行曲面细分和域着色。类似地,在一些实施例中,如果子面片被剔除,则无需进一步处理该子面片。否则,该子面片被曲面细分并被域着色。
双三次贝赛尔面片(bi-cubic Bézier patch)的集合是用于平滑曲面的常用渲染图元。可以使用公知的算法将Catmull-Clark细分曲面转换为这种参数面片的集合,同时如实地近似递归细分处理的有限曲面。普遍做法是沿面片的法线向量的方向增加来自高分辨率纹理的移位,以便增加最终曲面的细节。
移位贝赛尔面片可以用于渲染API中的域着色器中。贝赛尔面片由其控制点简洁地表示,并且该参数曲面表示能够被有效地并行计算(与递归细分曲面不同)。
贝赛尔面片p(u,v)是参数曲面,即通过两个参数坐标u和v来定义的曲面。术语“基础面片”表示尚未被移位的贝赛尔面片,以与最终被移位的曲面相区别。用于在参数坐标(u,v)处计算移位贝赛尔面片的域着色器计算基础面片位置p(u,v)、基础面片的归一化法线
Figure BSA00000497349500031
和(通常)从纹理t(u,v)得到的移位值。如果该移位沿基础面片的法线方向进行,则域着色器(乘以模型-视图-投影矩阵之前)为:
d ( u , v ) = p ( u , v ) + n ^ ( u , v ) t ( u , v ) - - - ( 1 )
在同种坐标中,模型视图投影矩阵M乘以d(u,v),获得剪裁空间位置(clip space position)q:
q ( u , v ) = Md ( u , v ) = M ( p ( u , v ) + n ^ ( u , v ) t ( u , v ) ) - - - ( 2 )
归一化设备坐标由sx=qx/qw和sy=qy/qw给出。
可以找到在参数域上的保守边界q(u,v),其中a<=u<=b且c<=v<=d。
接下来,我们描述如何包围p(u,v)。贝赛尔面片具有凸包(convex hull)性质,且它们易于被其控制点所包围。为贝赛尔面片查找按坐标轴排列的包围盒(axis-aligned bounding box,AABB)占用每个控制点的3个最小操作和3个最大操作。
通过反复应用贝塞尔细分,经细分的面片的控制点壳体(cage)向底层的基础面片快速收敛。此外,如果初始面片在每一步被递归地分割成两部分pA和pB,则需要生成pA的de Casteljau步骤将为pB生成作为副产品的控制点。这考虑到了能够高效地实现。
我们可以从基础面片定义的轴的控制点导出定向包围盒(oriented bounding box,OBB)的轴。该盒比AABB更紧密地包围基础面片。对于在相同迭代中两个经细分的面片中的每一个,基础面片和法线面片、以及移位纹理和查找被改善。参照图8,其示出了在图7的框12表示的用于计算移位曲面的边界的步骤,通过使用贝塞尔细分,基础面片沿着一个轴被细分。框14表示的基础面片包围涉及从控制点寻找OBB轴,并将所有控制点投影到这些轴上。接着,沿着每个轴的最小值和最大值被找出以导出包含所有控制点的OBB,并且贝塞尔面片的凸包性质意味着曲面被包含于该OBB中。
接下来,如框15所示,在最小/最大纹理分层中查找最小移位和最大移位。此后,在菱形19,执行检查以判断移位是否为零。如果为零,则将模型视图投影应用到面片的包围盒的8个顶角(框20),并返回该边界(框23)。如果该移位不是零,则在框21,通过使用下面描述的所谓的TPATCH和NPATCH的技术之一进行法线包围,然后,进行模型视图投影转换(框20)并返回边界(框23)。最后,在框23,应用模型视图投影转换。
对于贝塞尔面片,顶角控制点之间的向量(图1)相加得到两个轴(图9的框24)。假定面片具有(m+1)×(n+1)个控制点,我们用c0,0、cm,0、c0,n和cm,n来表示四个顶角控制点,并形成两个向量:
t=cm,0-c0,0+cm,n-c0,n           (3)
b=c0,n-c0,0+cm,n-cm,0           (4)
t和b分别可以看作u参数方向和v参数方向的近似平均梯度。上述二者不必正交。上述二者的叉积(图9的框26)得到第三个轴:n=t叉乘b。为了形成正交坐标系,我们设定x=t,y=n叉乘t,z=n,并归一化每个向量(图9的框28)。最终坐标***是:
Figure BSA00000497349500051
。在大多数情形下,与使用AABB相比,这显著减小了包围盒的大小。可以导出更精细的基于控制点壳体的OBB适配方案,但在实践中,上述简单方法为紧密包围曲面的OBB产生轴。在图2的曲线中和图3的贝塞尔面片中,突出示出了用AABB包围与用OBB包围的质量的不同。对于简单情况,我们仅使用AABB。如我们将在后面示出的,OBB轴在法线包围算法中也非常有用。在域上包围面片法线
Figure BSA00000497349500052
比包围基础位置p(u,v)困难很多。计算基础面片p(u,v)的两个参数导数的叉积作为法线方向。
按照张量积贝塞尔曲面的标准表示,贝塞尔面片P(u,v):R2?R3由以下公式定义:
p m , n ( u , v ) = Σ i = 0 m Σ j = 0 n c i , j B i m ( u ) B j n ( v ) - - - ( 5 )
其中ci,j是控制点,m和n分别为在参数坐标u、v中面片的次方数。Bi(u)和Bj(v)都是Bernstein多项式。
该偏导数可以被写为
∂ p ∂ u ( u , v ) = Σ j = 0 n Σ i = 0 m - 1 a i , j B i m - 1 ( u ) B j n ( v ) - - - ( 6 )
∂ p ∂ v ( u , v ) = Σ i = 0 m Σ j = 0 n - 1 b i , j B j n - 1 ( v ) B i m ( u ) - - - ( 7 )
其中
ai,j=m(ci+1,j-ci,j),          (8)
bi,j=n(ci,j+1-ci,j).           (9)
注意,ai,j和bi,j是基础面片的控制点的(被缩放的)差值,因此向量也如此。
曲面法线(归一化之前)定义为:
n ( u , v ) = ( n x , n y , n z ) = ∂ p ∂ u ( u , v ) × ∂ p ∂ v ( u , v ) - - - ( 10 )
该归一化法线由以下公式给出:
n ^ ( u , v ) = n n x 2 + n y 2 + n z 2 - - - ( 11 )
如果在参数坐标(u,v)中p(u,v)的两个次方数是(m,n),则第一阶参数导数具有次方数(m-1,n)和(m,n-1)。正如我们接下来将看到的,在进行面片的叉乘之后,面片的两个次方数是(m+n-1,m+n-1)。因此,表示双三次贝塞尔面片的法线方向的面片需要两个次方数(5,5)来精确表示。
为了应用移位,我们需要该归一化法线。归一化操作(公式11)需要用于子表达式
Figure BSA00000497349500063
Figure BSA00000497349500064
的精确表示的两个次方数2(m+n-1,m+n-1)。对于双三次贝塞尔面片,这些项可以被精确表示为两个次方数(10,10)的贝塞尔面片。在许多情况下,这种代价是极其昂贵的(11·11=121个控制点)。最后,不能用Bernstein多项式精确表示平方根倒数。另外,由于平方根倒数的操作数是法线长度的平方,所以该平方根倒数的操作数总应该大于或等于零。如果该操作数没有大于或等于零,则可能导致inf(无穷大)或NaN(无效数字)。因此,该的边界表示应该严格大于零。由于三个平方(实数)项的总和的平方根应该大于或等于零,因此起初看上去这并不重要。然而,在实践中这是重要的,因为我们使用控制点壳体的包围盒来包围,这并不能保证所有控制点将是正的。
这里,我们描述法线包围算法,其避免上述探讨的大多数问题。概括来说,法线向量贝塞尔面片由参数导数导出(图10的框32),然后其控制点被投影到单位球(图10的框34),且在单位球上控制点的立体角被包围在一OBB坐标系中(图10的框36),其给出了归一化法线的保守边界。我们将这种法线包围方法表示为NPATCH。
回忆法线被定义为:
n ( u , v ) = ∂ p ∂ u ( u , v ) × ∂ p ∂ v ( u , v ) (12)
= Σ j = 0 n Σ i = 0 m - 1 a i , j B i m - 1 ( u ) B j n ( v ) × Σ k = 0 m Σ l = 0 n - 1 b k , l B k m ( u ) B l n - 1 ( v )
使用Bernstein多项式乘积的公式:
B i m ( u ) B j n ( u ) = m i n j m + n i + j B i + j m + n ( u ) - - - ( 13 )
公式12可以写成:
Σ i , j , k , l a i , j × b k , l m - 1 i m k n j n - 1 l m + n - 1 i + k m + n - 1 j + 1 B i + k m + n - 1 ( u ) B j + 1 m + n - 1 ( v ) - - - ( 14 )
这是一具有控制向量vp,q的两个次方数(m+n-1,m+n-1)的面片,控制向量vp,q由以下公式给出:
v p , q = Σ i + k = p j + 1 = q a i , j × b k , l m - 1 i m k n j n - 1 l m + n - 1 i + k m + n - 1 j + 1 - - - ( 15 )
为了保守包围在基础面片上的该面片的法线,我们利用以下事实:归一化后的法线具有单位长度。因此,我们将控制向量vp,q归一化,使得它们由单位球上的点表示。
得到这些边界的快速方法是使用来自于OBB坐标系的
Figure BSA00000497349500081
-轴(其为面片的法线的近似)且仅计算在任意归一化控制点与-轴之间的最小标量积。这给出了包围归一化方向的锥体的半角的余弦。这在图4中被说明。
对于双三次贝塞尔面片,vp,q的计算包括144个叉乘。在小的查找表中可以预计算二项式系数。
然而,应当注意,关于哪个方向对应于哪个参数坐标的所有关联性都丧失了。该方法的紧密程度取决于非归一化法线是否能够被合理地很好包围,这在大的域上可能有些困难,但随着子域收缩,这将变得简单一些。
通过从第一阶参数导数面片
Figure BSA00000497349500083
Figure BSA00000497349500084
(参见公式6和7)的控制点形成两个切线椎体,能够更快速获得较粗略的边界。导数面片的控制点被归一化并在单位球上被包围(如图4所示),并形成两个锥体
Figure BSA00000497349500086
锥体T由归一化轴
Figure BSA00000497349500087
和半角αt来定义。如果锥体T和B不相交,则包围两个向量(分别来自T和B)的所有可能叉积的锥体
Figure BSA00000497349500088
可以被构建。锥体N的轴方向为t×b的方向,并且锥体N的半角θ由以下公式给出:
sin θ = sin 2 α t + 2 sin α t sin α b cos β + sin 2 α b sin β - - - ( 16 )
其中
Figure BSA000004973495000811
为分别平行于
Figure BSA000004973495000812
Figure BSA000004973495000813
的锥体轴之间的两个夹角中的最小夹角。锥体N包围面片上的所有归一化法线。图5示出了锥体T、B和N。我们使用上面导出的
Figure BSA000004973495000814
Figure BSA000004973495000815
轴作为锥体T和B的轴,且根据参数导数面片的控制点找到锥体T和B的锥体角(图11的框40)。锥体角át(áb)的余弦仅是来自具有轴的切线曲面的任意归一化控制点的最小点积。通过计算锥体T和B的叉积来导出正则锥体(图11的框42)。OBB坐标系中表示的归一化法线的边界为:
([-sinθ,sinθ],[-sinθ,sinθ],[cosθ,1])           (17)
其中θ是正则锥体N的锥体半角。通过使用公式sin2è+cos2è=1,我们可以通过使用正则锥体角导出归一化法线的边界,而不必使用任何三角函数(图11的框44)。我们用TPATCH表示这种方法。
必须注意检查两个切线椎体没有相交。如果
Figure BSA00000497349500091
则两个椎体相交,其中假定αt<pi,αb<pi,并且β<pi,其可以被重写为:
cosαtcosαb-sinαtsinαb<cosβ          (18)
如果该条件为真,或者如果cosát<0,cosáb<0,则我们在OBB坐标系中返回单位盒。单位盒有下列两个极值顶点:(-1,-1,-1)和(+1,+1,+1)。然而,由于OBB坐标系是从基础面片的局部曲面切线、双法线(bi-normal)和法线的近似计算出的,所以这种情况极少发生,除非是高曲率面片。
边界纹理查找的技术涉及保持两个额外的mipmap分层。第一层存储在每个纹理占用空间(footprint)上的最大移位值和层级,且第二层存储该占用空间的最小移位值。通常,当参数区间减小时,纹理边界也减小。
移位向量的最终边界
Figure BSA00000497349500092
是纹理查找[tmin,tmax]的区间乘以沿每个轴的归一化法线向量的区间的乘积(以区间运算的形式)。使用符号定义一区间,其中a是下限,
Figure BSA00000497349500094
是上限,两个区间的相乘由以下公式定义:
[ a ‾ , a ‾ ] ⊗ [ b ‾ , b ‾ ] = [ min ( ab ‾ , a ‾ b ‾ , a ‾ b ‾ , a ‾ b ‾ ) , max ( ab ‾ , a ‾ b ‾ , a ‾ b ‾ , a ‾ b ‾ ) ] - - - ( 19 )
因此,o的x分量的区间形式为:
[ o x ‾ , o ‾ x ] = [ t ‾ , t ‾ ] [ n ^ x ‾ , n ^ ‾ x ] - - - ( 20 )
且类似于其他分量。如果纹理移位严格是正的,则公式20可以被进一步优化。
大多数域着色器中的最后一步是矩阵变换到剪裁空间,所以获取q的边界的剩余部分就是模型视图投影矩阵,它不依赖于参数域,并可以被看作常数。该常数矩阵与从移位面片d获得的OBB的八个顶角容易地相乘,得到剪裁空间位置q的边界。(当使用用于预曲面细分分类和光线跟踪的分层包围时,不需要最后这一步)。
在一些实施例中,给定面片的初始粗略的细分,可以维护子域的包围盒的优先级队列。(例如,每个子面片可以可替代地被细分为若干较小的子面片,直到每个子面片在例如体积、曲面面积、或投影区域方面来说“足够小”为止)。在以下每个细分步骤中,我们取队列的顶部元素,对其进一步细分,并将经细分的包围盒插回队列。
精确分类的标准是取决于应用的,且该分类标准可以包括包围盒的屏幕空间范围、深度值,或者令与截锥平面相交的盒优先,以用于视图截锥剔除。图6示出了依赖于视图的细分标准。
对于视图截锥剔除,OBB顶角(位于裁剪空间中)经试验不适于截锥平面。细分标准可以被设计以使得摄像机截锥两边的子面片优先,从而有效剔除在剪裁平面外部的几何体。面片的剪裁试验结果也可以用于保证整个面片都完全位于视图截锥中,因此,对从面片生成的三角形的剪裁试验可能被绕过。
给定一粗略的深度缓冲区,如果子面片的包围盒被已绘出的图元完全遮挡,则该子面片可以被剔除。细分标准可以被采用以使得靠近摄像机的子面片首先被处理,并被发送到流水线的光栅化阶段,所以增加了z-剔除的可能性。
由于有效地包围移位后的几何体法线是困难的,因此背景剔除是最难的剔除类型。然而,给定曲面细分等级、法线边界和移位的紧密间隔,可以导出移位曲面法线的边界。此外,细分标准可以适合于法线变化大的目标面片,从而增加子面片的背景剔除的可能性。
计算移位贝塞尔面片的边界表示之后,我们可以使用边界,以用于预曲面细分分类到碎块中。通过最大屏幕空间包围盒的分层细分可以减少碎块重叠。
在光线跟踪环境中,细分标准调整为减少每个OBB的总曲面面积,类似于曲面区域如何启发式建立加速数据结构。在碰撞检测中,调整为针对减小的OBB体积的细分标准。
包围体的层次可以用于剔除,也可以用于分类到碎块中和光线跟踪。应用这里描述的技术,电子数据可以被转换为用于在显示器上示出的可视形式。
为了高效的支持DX-11曲面细分流水线阶段,在碎块叠铺结构中,在曲面细分和域着色发生之前需要移位曲面的边界。这些边界可以用于对移位贝塞尔面片进行装箱(即,将图元分类到碎块专用的队列)而不进行任何曲面细分。当有需要或如果有需要时,可以进行曲面细分和域着色。分层包围的使用可能对装箱(binning)、视图截锥剔除、遮挡剔除和背景剔除有用。
这里描述的图形处理技术可以用各种硬件结构实现。例如,图形功能可以集成在芯片组中。可替代地,可以使用独立的图形处理器。如另一实施例,该图形功能可以由包括多核处理器的通用处理器实现。
如图12所示,计算机***130可以包括硬盘驱动器134和可移动介质136,该可移动介质136通过总线104耦合到芯片组核心逻辑110。键盘和鼠标120或其他传统组件可以经由总线108耦合到芯片组核心逻辑。在一个实施例中,核心逻辑可以经由总线105耦合到图形处理器112,并且耦合到主处理器或主机处理器100。图形处理器112也可以通过总线106耦合到帧缓冲器114。帧缓冲器114可以通过总线107耦合到显示器屏幕118。在一个实施例中,图形处理器112可以是使用单指令多数据(SIMD)架构的多线程、多核并行处理器。
在软件实现的情况下,有关代码可以存储于任意合适的半导体、磁或光存储器中,包括主存储器132或图形处理器内的任何可用的存储器。因此,在一个实施例中,用于执行图7-11的序列的代码可以被存储于机器或计算机可读介质(例如存储器132或图形处理器112)中,且在一个实施例中,这些代码可以由处理器100或图形处理器112执行。
图8-12是流程图。在一些实施例中,这些流程图中所描述的序列可以用硬件、软件或固件来实现。在一软件实施例中,诸如半导体存储器、磁存储器或光存储器的计算机可读介质可以用于存储指令,并可以由处理器执行以实现在图8-13所述的一个或多个流程图所示的序列。
通篇提及的“一个实施例”或“实施例”意味着结合该实施例描述的特定特征、结构或特性包含于本发明中包括的至少一个实现中。因此,短语“一个实施例”或“在实施例中”不必是指同一实施例。此外,特定的特征、结构或特性可以由其他适当形式而非所示出的特定实施例来实现,且所有这些形式可以被包括在本申请的权利要求内。
虽然已经参照有限数量的实施例描述了本发明,但是那些本领域技术人员仍可以意识到据此进行的许多变型和改动。所附权利要求旨在涵盖落入本发明的实质精神和范围内的所有这种变型和改动。

Claims (20)

1.一种用于包围移位参数曲面的方法,包括:
包围使用从参数曲面导出的坐标系的所述参数曲面;和
在同一坐标系中包围移位向量。
2.如权利要求1所述的方法,包括:计算所述移位参数曲面的分层边界。
3.如权利要求2所述的方法,包括:当按照应用定义的优先级度量将所述参数曲面分割成较小的子面片时,适应性地改善边界。
4.如权利要求3所述的方法,其中,包围包括:改善位置、法线和纹理边界。
5.如权利要求4所述的方法,包括:反复应用贝赛尔细分,直到满足应用定义的阈值。
6.如权利要求1所述的方法,包括:对顶角控制点之间的向量取平均以得到两个轴;得到所述两个轴的叉积;并且归一化每个向量以形成面向对象的包围盒坐标系。
7.如权利要求6所述的方法,包括:从参数导数导出法线向量贝塞尔面片;将控制点投影到单位球上;并且在面向对象的包围盒坐标系中包围单位球上的立体角,以给出在基础面片上的所述基础面片的归一化法线的边界。
8.如权利要求6所述的方法,包括:使用用于导出基础面片的归一化法线的边界的椎体。
9.如权利要求6所述的方法,包括:从一个参数方向上的导数形成第一锥体;从不同的参数方向上的导数形成第二锥体;并且通过在所述坐标系中计算所述第一椎体和所述第二锥体的叉积而形成第三锥体。
10.如权利要求1所述的方法,包括:剔除子面片、曲面细分和域着色。
11.如权利要求1所述的方法,包括:通过使用所获得的边界以将较高阶图元分类到屏幕空间的碎块中。
12.如权利要求1所述的方法,包括:建立包围体的层次以用于光线跟踪。
13.如权利要求1所述的方法,包括:将所述曲面转换成在计算机显示器上显示的可视形式。
14.一种用于处理图形的装置,包括:
处理器;和
存储设备,其耦合到所述处理器,所述存储设备用于包围使用从参数曲面导出的坐标系的所述参数曲面,并且用于在同一坐标系中包围移位向量。
15.如权利要求14所述的装置,包括:显示器,其用于显示由包围所述移位参数曲面得到的图像。
16.如权利要求14所述的装置,所述存储设备存储用于计算所述移位参数曲面的分层边界的指令。
17.如权利要求16所述的装置,所述存储设备存储用于当按照应用定义的优先级度量将所述参数曲面分割成较小的子面片时,适应性地改善边界的指令。
18.如权利要求16所述的装置,所述存储设备存储用于改善正的、法线和纹理边界的指令。
19.如权利要求18所述的装置,所述存储设备存储用于反复应用贝塞尔细分,直到满足应用定义的阈值的指令。
20.如权利要求14所述的装置,所述存储设备存储用于对顶角控制点之间的向量取平均以得到两个轴,得到所述两个轴的叉积,并且归一化每个向量以形成面向对象的包围盒坐标系的指令。
CN201110126351.3A 2010-04-07 2011-04-07 移位参数曲面的分层包围 Expired - Fee Related CN102214369B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/755,506 US8144147B2 (en) 2010-04-07 2010-04-07 Hierarchical bounding of displaced parametric surfaces
US12/755,506 2010-04-07

Publications (2)

Publication Number Publication Date
CN102214369A true CN102214369A (zh) 2011-10-12
CN102214369B CN102214369B (zh) 2014-03-05

Family

ID=44072155

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110126351.3A Expired - Fee Related CN102214369B (zh) 2010-04-07 2011-04-07 移位参数曲面的分层包围

Country Status (6)

Country Link
US (2) US8144147B2 (zh)
JP (1) JP5111638B2 (zh)
CN (1) CN102214369B (zh)
DE (1) DE102011016347A1 (zh)
GB (1) GB2479461B (zh)
TW (1) TWI443602B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103226846A (zh) * 2013-03-22 2013-07-31 浙江工业大学 一种基于手绘线条的三维雕刻方法
CN103345529A (zh) * 2013-07-24 2013-10-09 中国科学院自动化研究所 一种基于贝塞尔曲线的多指标观测数据排序方法和装置
CN104616343A (zh) * 2015-01-20 2015-05-13 武汉大势智慧科技有限公司 一种纹理实时采集在线映射的方法和***
CN106251391A (zh) * 2015-06-05 2016-12-21 想象技术有限公司 细分方法
CN106251377A (zh) * 2015-06-05 2016-12-21 想象技术有限公司 使用位移因数的细分方法
CN112106339A (zh) * 2018-01-11 2020-12-18 索尼互动娱乐股份有限公司 位移下的后向面片剔除

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8570324B2 (en) * 2009-10-12 2013-10-29 Nvidia Corporation Method for watertight evaluation of an approximate catmull-clark surface
US9449420B2 (en) 2011-12-30 2016-09-20 Intel Corporation Reducing the domain shader/tessellator invocations
FR2991448B1 (fr) * 2012-06-01 2015-01-09 Centre Nat Rech Scient Procede de mesures tridimensionnelles par stereo-correlation utilisant une representation parametrique de l'objet mesure
KR101980200B1 (ko) * 2012-07-12 2019-05-20 삼성전자주식회사 베이지어 커브에 대한 타일 비닝을 수행하는 그래픽 처리 장치 및 방법
US9619853B2 (en) 2012-08-09 2017-04-11 Qualcomm Incorporated GPU-accelerated path rendering
US9275498B2 (en) * 2012-08-09 2016-03-01 Qualcomm Incorporated GPU-accelerated path rendering
US9401034B2 (en) * 2013-04-30 2016-07-26 Microsoft Technology Licensing, Llc Tessellation of two-dimensional curves using a graphics pipeline
KR102104057B1 (ko) 2013-07-09 2020-04-23 삼성전자 주식회사 점별로 테셀레이션 팩터를 할당하는 방법과 상기 방법을 수행할 수 있는 장치들
KR102109130B1 (ko) * 2013-08-12 2020-05-08 삼성전자주식회사 그래픽스 프로세싱 유닛, 이의 동작 방법, 및 이를 포함하는 장치들
KR102066533B1 (ko) 2013-11-19 2020-01-16 삼성전자 주식회사 도메인 쉐이딩 방법과 이를 수행하는 장치들
US10037625B2 (en) * 2016-09-15 2018-07-31 Intel Corporation Load-balanced tessellation distribution for parallel architectures
CN110100265B (zh) * 2016-12-19 2023-06-30 惠普发展公司,有限责任合伙企业 3d制造部件的布置确定
US10235811B2 (en) 2016-12-29 2019-03-19 Intel Corporation Replicating primitives across multiple viewports
US10628910B2 (en) 2018-09-24 2020-04-21 Intel Corporation Vertex shader with primitive replication
US11928391B2 (en) * 2019-04-02 2024-03-12 Autodesk, Inc. Hybrid surface modelling with subdivision surfaces and NURBS surfaces
CN113628316B (zh) * 2020-05-08 2023-12-01 辉达公司 使用射线锥进行各向异性纹理滤波的技术
US11443475B2 (en) * 2020-05-08 2022-09-13 Nvidia Corporation Techniques for ray cone tracing and texture filtering
US11315299B1 (en) 2020-11-13 2022-04-26 Unity Technologies Sf Method for computation of local densities for virtual fibers
US11908063B2 (en) * 2021-07-01 2024-02-20 Adobe Inc. Displacement-centric acceleration for ray tracing

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6256038B1 (en) * 1998-12-10 2001-07-03 The Board Of Trustees Of The Leland Stanford Junior University Parameterized surface fitting technique having independent control of fitting and parameterization
US6429867B1 (en) * 1999-03-15 2002-08-06 Sun Microsystems, Inc. System and method for generating and playback of three-dimensional movies
US20050179686A1 (en) * 2004-02-12 2005-08-18 Pixar Flexible and modified multiresolution geometry caching based on ray differentials
US7292250B2 (en) * 2004-03-31 2007-11-06 Dreamworks Animation, Llc Character deformation pipeline for computer-generated animation
US7369691B2 (en) * 2003-03-20 2008-05-06 Kabushiki Kaisha Toshiba Processor for analyzing tubular structure such as blood vessels
US7532213B2 (en) * 2000-07-28 2009-05-12 Adrian Sfarti Bicubic surface real time tesselation unit

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5357600A (en) * 1992-10-15 1994-10-18 Sun Microsystems, Inc. Method and apparatus for the rendering of curved surfaces using a cone of normals
US5638503A (en) * 1994-07-07 1997-06-10 Adobe Systems, Inc. Method and apparatus for generating bitmaps from outlines containing bezier curves
JP3436008B2 (ja) * 1996-08-20 2003-08-11 富士ゼロックス株式会社 描画処理装置
US6556206B1 (en) * 1999-12-09 2003-04-29 Siemens Corporate Research, Inc. Automated viewpoint selection for 3D scenes
US6738062B1 (en) * 2001-01-10 2004-05-18 Nvidia Corporation Displaced subdivision surface representation
US7212205B2 (en) * 2002-11-12 2007-05-01 Matsushita Electric Industrial Co., Ltd. Curved surface image processing apparatus and curved surface image processing method
US7483024B2 (en) * 2003-12-31 2009-01-27 Autodesk, Inc. Accelerated ray-object intersection
US8217938B2 (en) * 2007-05-31 2012-07-10 Ford Global Technologies, Llc Method and apparatus for determining item orientation
JP2009086842A (ja) * 2007-09-28 2009-04-23 Fujitsu Ltd ハーネス設計支援装置及び方法及びプログラム
GB2468994B (en) * 2008-01-23 2012-11-28 Intel Corp Method, apparatus and computer program product for improved graphics performance
US8698802B2 (en) * 2009-10-07 2014-04-15 Nvidia Corporation Hermite gregory patch for watertight tessellation

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6256038B1 (en) * 1998-12-10 2001-07-03 The Board Of Trustees Of The Leland Stanford Junior University Parameterized surface fitting technique having independent control of fitting and parameterization
US6429867B1 (en) * 1999-03-15 2002-08-06 Sun Microsystems, Inc. System and method for generating and playback of three-dimensional movies
US7532213B2 (en) * 2000-07-28 2009-05-12 Adrian Sfarti Bicubic surface real time tesselation unit
US7369691B2 (en) * 2003-03-20 2008-05-06 Kabushiki Kaisha Toshiba Processor for analyzing tubular structure such as blood vessels
US20050179686A1 (en) * 2004-02-12 2005-08-18 Pixar Flexible and modified multiresolution geometry caching based on ray differentials
US7292250B2 (en) * 2004-03-31 2007-11-06 Dreamworks Animation, Llc Character deformation pipeline for computer-generated animation

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103226846B (zh) * 2013-03-22 2015-10-28 浙江工业大学 一种基于手绘线条的三维雕刻方法
CN103226846A (zh) * 2013-03-22 2013-07-31 浙江工业大学 一种基于手绘线条的三维雕刻方法
CN103345529B (zh) * 2013-07-24 2017-02-08 中国科学院自动化研究所 一种基于贝塞尔曲线的多指标观测数据排序方法和装置
CN103345529A (zh) * 2013-07-24 2013-10-09 中国科学院自动化研究所 一种基于贝塞尔曲线的多指标观测数据排序方法和装置
CN104616343A (zh) * 2015-01-20 2015-05-13 武汉大势智慧科技有限公司 一种纹理实时采集在线映射的方法和***
CN104616343B (zh) * 2015-01-20 2017-09-22 武汉大势智慧科技有限公司 一种纹理实时采集在线映射的方法和***
US11263811B2 (en) 2015-06-05 2022-03-01 Imagination Technologies Limited Tessellation method using vertex tessellation factors
CN106251377A (zh) * 2015-06-05 2016-12-21 想象技术有限公司 使用位移因数的细分方法
CN106251391B (zh) * 2015-06-05 2021-05-14 想象技术有限公司 细分方法
CN106251391B9 (zh) * 2015-06-05 2021-07-20 想象技术有限公司 细分方法
CN106251377B (zh) * 2015-06-05 2021-08-06 想象技术有限公司 使用位移因数的细分方法
CN106251391A (zh) * 2015-06-05 2016-12-21 想象技术有限公司 细分方法
US11501494B2 (en) 2015-06-05 2022-11-15 Imagination Technologies Limited Tessellation method using displacement factors
US11900543B2 (en) 2015-06-05 2024-02-13 Imagination Technologies Limited Tessellation method using displacement factors
CN112106339A (zh) * 2018-01-11 2020-12-18 索尼互动娱乐股份有限公司 位移下的后向面片剔除
CN112106339B (zh) * 2018-01-11 2022-09-16 索尼互动娱乐股份有限公司 位移下的后向面片剔除

Also Published As

Publication number Publication date
US8144147B2 (en) 2012-03-27
US20120154399A1 (en) 2012-06-21
GB2479461B (en) 2012-12-19
CN102214369B (zh) 2014-03-05
US20110248997A1 (en) 2011-10-13
TWI443602B (zh) 2014-07-01
JP2011238213A (ja) 2011-11-24
TW201205500A (en) 2012-02-01
JP5111638B2 (ja) 2013-01-09
GB2479461A (en) 2011-10-12
GB201105960D0 (en) 2011-05-18
DE102011016347A1 (de) 2011-12-08

Similar Documents

Publication Publication Date Title
CN102214369B (zh) 移位参数曲面的分层包围
US10614620B2 (en) Systems and methods for computer-based visualization, rendering, and representation of regions of space using point clouds
Stewart et al. Fast computation of shadow boundaries using spatial coherence and backprojections
US7102647B2 (en) Interactive horizon mapping
JP6863693B2 (ja) グラフィックス処理システムおよび方法
Zhang et al. Conservative voxelization
KR100915574B1 (ko) 충분히 매끄럽게 만들어진 메쉬의 각진 부분을 복원하는메쉬 재구성 방법 및 장치
US10540789B2 (en) Line stylization through graphics processor unit (GPU) textures
Melvær et al. Geodesic polar coordinates on polygonal meshes
US20090213144A1 (en) Apparatus and method to calculate raster data
CN117726732A (zh) 减少包围体层次结构中的假阳性光线遍历
Vyatkin Method of binary search for image elements of functionally defined objects using graphics processing units
Boulos et al. Geometric and arithmetic culling methods for entire ray packets
CN117726496A (zh) 使用光线剪裁减少假阳性光线遍历
Winter et al. Image‐Swept Volumes
Liu et al. Computing global visibility maps for regions on the boundaries of polyhedra using Minkowski sums
Ivo et al. Improved silhouette rendering and detection of splat-based models
Kamberov et al. Topology and geometry of unorganized point clouds
Dévai An optimal hidden-surface algorithm and its parallelization
JP7327935B2 (ja) 3次元シーンのビジビリティ関数
Bán et al. Geometric distance fields of plane curves
Fort et al. Computing generalized higher-order Voronoi diagrams on triangulated surfaces
Rosenthal et al. Enclosing surfaces for point clusters using 3d discrete voronoi diagrams
Mäkinen Line-segment insertion in constrained triangulations with applications in path-planning
JP2008250577A (ja) 人間の肌のような半透明の材質のための、曲率ベースレンダリング方法及び装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140305

Termination date: 20190407

CF01 Termination of patent right due to non-payment of annual fee