CN103886633A - 基于图块的计算机图形渲染中细分面数据的面片 - Google Patents
基于图块的计算机图形渲染中细分面数据的面片 Download PDFInfo
- Publication number
- CN103886633A CN103886633A CN201310713479.9A CN201310713479A CN103886633A CN 103886633 A CN103886633 A CN 103886633A CN 201310713479 A CN201310713479 A CN 201310713479A CN 103886633 A CN103886633 A CN 103886633A
- Authority
- CN
- China
- Prior art keywords
- segment
- dough sheet
- pel
- depth value
- data
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/40—Hidden part removal
- G06T15/405—Hidden part removal using Z-buffer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/40—Hidden part removal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
Abstract
在基于图块的计算机图形系统中从一个或多个图块中拣出面数据的面片的方法和系统。渲染空间被分成可读的面数据的面片和多个图块。然后,对所述面片的至少部分进行分析以确定表示在至少一个图块上评估的极限深度值的数据。这可包括对面数据的面片进行细分以得到多个细分的图元,并且分析细分的图元中的至少一些。对于面片位于其中的每一个图块,表示极限深度值的数据被用于确定该面片是否隐藏在该图块中,并且如果该面片被确定未隐藏在至少一个图块中,则渲染该面片的至少部分。
Description
技术领域
本发明涉及在基于图块(tile)的计算机图形渲染(render)系统中拣出(cull)隐藏的细分的(tesselated)图元(primitive)的方法和系统。
背景技术
基于图块的渲染是用于渲染2D或3D计算机图形图像的公知技术。渲染空间被再分为多个被称为图块或块的区域,所述区域通常是矩形,并且每一个包括多个像素。渲染空间可对应于在屏幕上显示的图像,但例如存储器中的纹理数据的其他渲染目的也是可能的。图块可以是各种大小,但典型大小是例如16x16像素。在高屏幕分辨率图像中通常是1280x1024个像素。因此,高屏幕分辨率图像可被再分为5120个图块(每个包括16x16个像素)。
基于图块的计算机图形系统的图元数据通常从存储器中读取并被转化为屏幕空间。图元通常是多边形,例如三角形,但也可以是线或点。然后针对每个图块可生成显示列表,用于指示全部或部分位于该图块中的图元(如果有的话)。指示常包括针对每个图元的标识符或索引,该标识符或索引参考或提供了指向存储在参数存储器中的与图元相关联的几何数据的指针。该显示列表存储在存储器中。
然后使用其显示列表独立地对每个图块进行渲染。
对于每个图块,在对应的显示列表中被标识的图元被处理并且隐藏面移除可被执行。然后,可见碎片(fragment)的产生的像素数据被传到着色(shading)单元,着色单元将纹理和着色施加至对象中的每一个可见像素。在图块中的每一个像素的最终像素值已被确定后,图块的像素数据被写至存储器中以用于在输出设备上显示。
隐藏面移除通常使用被称为“z缓存”的技术。在该技术中,针对每个图元在被图元覆盖的图块中的每个像素处计算深度值。然后,依次处理每一个图元,将每个图元的深度值与存储在“z缓存(buffer)”中的对应的像素的深度值进行比较。如果新图元的深度值比当前所存储的深度值(针对之前被处理的当前在该像素处可见的图元的面)更接近眼睛或视点,则该像素的深度值和该像素的其他值被新图元在对应像素处的值所取代。如果新图元的深度值比当前所存储的深度值距离眼睛或视点更远,该像素的包括深度值在内的值保持不变。
细分(tessellation)是用于给低细节模型增加纹理的公知技术,在计算机图形行业中通常指面数据(surface data)的面片(patch)。面数据的面片被分成多个图元,然后图元可选择地从面片的面中被置换(displace)以获得多个细分的图元。图元可通过用户可编程函数的应用和/或根据置换高度图(displacement height map)而被置换。然后细分的图元可被拼贴(tile)和如上所述的被渲染。细分是在计算机图形行业被越来越广泛地使用的有用的工具。然而,可以理解的是对表数据的面片进行细分实质上增加了渲染图像所需的计算量。面数据的每一个细分的面片可包括数以千计的细分图元,这些图元需要被处理并且也需要被存储在存储器(memory)中。
申请人认为减小对图块以及特别是包括细分的图元的图块进行渲染所需的数据传输、数据存储和处理的量是值得期待的。
发明内容
根据本发明,提供了一种在基于图块的图形系统中进行拣出的方法,包括:将渲染空间再分为多个图块;读取面数据的面片;将面数据的面片细分以得到多个细分的图元;分析包括细分的图元中的至少一些图元的面片的至少部分,以确定用于表示在至少一个图块上评估的极限(bounding)深度值的数据;针对该面片位于其中的每一个图块,使用表示极限深度值的数据以确定该面片是否隐藏在该图块中;并且如果该面片被确定未隐藏在至少一个图块中,则渲染该面片的至少部分。
本发明的实施方式具有能将面片从图块中被拣出而不需要针对每一个单个的细分的图元处理和执行深度拣出的优点。因此,本发明使得渲染包括面数据的面片的图像所需的处理和存储器带宽的量能够被减小。
本发明具有下面的优点,当确定用于表示在至少一个图块上评估的极限深度值的数据时,面片的面中的细分的图元的任意置换能以相似的方式被考虑到。
在一个优选实施方式中,分析步骤还包括,针对多个细分的图元中的每一者,使用细分的图元的极限深度值以确定该细分的图元是否隐藏在至少一个图块中,其中细分的图元中的至少一些包括经确定未被隐藏在至少一个图块中的细分的图元。这一实施方式具有可能仅有未被隐藏的那些细分的图元的极限深度值被用于确定表示面片的极限深度值的数据的优点。这意味着面片的极限深度值很可能用于表示更小范围的深度值,这增加了能基于使用极限深度值执行的深度测试将面片从图块中拣出的可能性。
进一步地,在一个优选实施方式中,该方法还包括拣出被确定隐藏在至少一个图块中的每一个细分的图元,如此使得该图元不被指示在该至少一个图块的显示列表中。这使得存储空间能够被节省。
在该至少一个图块上评估的极限深度值可以是整个面片的极限深度值。可替换地,可针对该面片位于其中的每一个单独的图块确定极限深度值。在这种情况下,分析步骤可包括,针对该面片位于其中的每一个图块,分析该面片所对应的部分以确定用于表示该图块上评估的极限深度值的数据。因此,在这种情况下,如果面片位于多个图块上,在至少一个图块上评估的极限深度值将包括多个极限深度值(在单独的图块上评估的每一个)。
在至少一个图块上评估的极限深度值可包括最大极限深度值和或最小极限深度值。
用于表示至少一个图块上评估的极限深度值的数据可用于在面片在图块的显示列表中被指示之前或之后来确定该面片是否隐藏在该图块中。
第一实施方式包括,对于面片位于其中的每个图块,如果确定面片未隐藏在图块中,则在该图块的显示列表中指示面片的至少部分。该实施方式具有下面的优点,不仅能减小渲染图像所需的处理和存储带宽的量,还能减小存储图块的显示列表所需的存储空间的量,这是因为如果面片被确定是不可见的或隐藏的,则在图块的显示列表中不需要指示该面片。
该实施方式还可以包括:将表示极限深度值的数据写入存储器;并且,针对其显示列表指示了该面片的至少部分的每一个图块,从存储器中读取表示极限深度值的数据并且使用表示极限深度值的数据以确定该面片是否隐藏在图块中。
可替换的第二实施方式包括:针对该面片位于其中的每一个图块,在图块的显示列表中指示面片的至少部分;将用于表示至少一个图块上评估的极限深度值的数据写入存储器;以及在该步骤中,针对该面片位于其中的每一个图块,使用表示极限深度值的数据以确定该面片是否隐藏在图块中还包括:从存储器中读取用于表示极限深度值的数据。
这些实施方式需要将用于表示在至少一个图块上评估的极限深度值的数据存储在存储器中,这将占用存储空间。然而,这一实施方式的显著优点是表示面片的极限深度值的数据能用于执行对于面片的深度测试,而不需在图块渲染期间处理面数据的面片。因此,该实施方式使得存储器带宽和处理能力能够类似于第一实施方式一样被节省,因为举例来说如果面片被从图块中拣出,则不需要从参数存储器中读取与该面片相关联的几何数据。
该第二实施方式还可包括附加步骤,在该步骤前,针对该面片位于其中的每一个图块,在图块的显示列表中指示面片的至少部分,包括使用表示在至少一个图块上评估的极限深度值的数据来确定该面片是否隐藏在图块中,并且如果该面片未隐藏在该图块中,则从该图块中拣出该面片,如此使得该面片不再位于该图块中。
还提供了相应的装置。
附图说明
现在将参考附图仅通过示例的方式来描述本发明的实施方式,其中:
图1是示出体现本发明的装置的示意性方框图;
图2,2a和2b示出了对面数据的细分的面片是否可从图块中拣出的确定;
图3是示出本发明的一个实施方式中的方法步骤的流程图;
图4是示出本发明的另一个实施方式中的方法步骤的流程图;
图5是示出用于确定一系列例如三角形的图元的极限深度范围的示例方法的流程图;以及
图6是示出用于确定例如面面片的对象的极限深度范围的示例方法的流程图。
具体实施方式
申请人的公开号是No.GB 2480012的专利申请公开了在基于图块的计算机图形渲染系统中对面数据的面片进行细分的方法和系统。
在该系统中,如上所述,面数据的面片被细分以得到多个细分的图元。然后,针对每个图块,例如,通过存储每一个细分的图元的一个或多个索引,在图块的显示列表中指示至少部分地位于图块中的每一个细分的图元。然而,不是将与每个单独的细分的图元相关联的几何数据存储在参数存储器,而是存储用于面数据的面片的几何数据,随后根据面数据的面片的几何数据能重新得到细分的图元。可以理解的是这一方法实际上减小了需要存储在参数存储器中的数据的量,但代价是增加了渲染每个图块所需的计算量。为了对每个图块进行渲染,面数据的面片被重新细分以重新得到在各自的显示列表中标识的细分的图元。然后每一个细分的图元按照上述方式被处理。
用于拣出全部隐藏在图块中的图元(换言之,在图块中任意像素都不可见的图元)的方法和系统,而不需进行已知的典型隐藏面移除技术(例如,如申请人的GB专利no.2,378,108所公开的)所需的全部处理。
在这一方法中,全部隐藏在图块中的图元在执行隐藏面移除前通过比较每个图元的深度和存储在图块的“z缓存”中的深度范围而被拣出。例如,可比较图元的最小深度(最接近视点的深度)和“z缓存”中存储的深度值所指示的最强或最大深度(例如,距离视点最远的深度)。如果图元的最小深度比“z缓存”中的最大深度值离视点更远,则可知该图元一定全部隐藏在图块中,而不需在图块中的每个像素计算和比较图元的深度值。因此,该方法减小了渲染每个图块所需的处理的量。
下面用术语“对象”来描述图形元素,例如图元或在计算机图形行业中通常被称为面数据的“面片”的模型。
下面示出了在其中使用“小于”深度比较模式的图形系统的上下文中的示例。换言之,在其深度小于其他对象在该点的深度的点处对象是可见的。然而,可以理解的是图形系统能使用多种不同的深度比较模式,并且它们之间可进行互换。其他示例深度比较模式包括“大于”、“大于或等于”、“小于或等于”、“等于”、“不等于”、“一直”和“从不”。使用“小于”深度比较的示例仅是为了表达清晰,并且下面的技术能无困难地应用于任意合适的深度比较模式。
图1是示出本发明的一个实施方式中的使用细分来产生计算机图形图像并对其进行着色的装置的示意图。包括这一装置的部分可被实现为例如图形处理器单元(GPU)的处理器中的电路,或者可被实现为运行在例如GPU或CPU的可编程设备上的程序。
面数据10的面片被传到细分处理器20,细分处理器20将面片分为多个图元并且可选地通过应用用户可编程函数或依靠置换或纹理图将图元从面片的面上置换出以得到多个细分的图元。
面片通常是由关于参数‘t’(对于曲线)或域坐标‘u,v’(对于曲面)来描述曲线形状的控制点的集合所定义的参数函数。计算机图形中使用的面片的一个示例是贝塞尔(Bezier)面片,但本领域的技术人员可理解还存在其他面片。
正如本领域的那些技术人员所知,例如Microsoft Direct 3D 11 API的许多应用可编程接口(API)能支持图形流水线中的面数据的面片的细分。Microsoft Direct3D 11 API支持置换贴图(displacement mapping),由此细分的图元可在面片的面的置换位置。
一旦得到细分的图元,其被传至最小和或最大深度计算器30,最小和或最大计算器30用于分析该面片以确定极限深度值。
可选地,图元可先被传至修剪和拣出单元(未示出),修剪和拣出单元移除例如任何背向的、离屏的或不可见的图元,并且之后剩余的图元可被传至投影单元(也未示出),投影单元将图元转化至显示空间。
在这一实施方式中,最小和或最大深度计算器30确定了面数据的全部细分的面片的最小和或最大深度。换言之,面数据的细分的面片的距离视点最远的深度和或面数据的细分的面片的距离视点最近的深度。这可通过确定和比较所得到的细分的图元中的每一个的深度来完成,该细分的图元用于组成面数据的被曲面的面片。因此在任意时间都不需要存储细分的图元中的每一个的深度。可使用公知技术来确定细分的图元中的每一个的深度,下面给出了示例。
根据细分的图元数据确定面片的最小和或最大深度可确保最小和或最大深度可体现可能已被应用于面片的任意置换贴图的效果。如本领域那些技术人员所理解的,确定面片的最小和或最大深度的其他方法是可能的。例如,可确定包括对象的包围体(bounding volume),根据该包围体能使用已知技术来确定最小和最大极限深度值。包围体能是例如球体、柱体或长方体的许多形状。在计算机图形中所用的例如贝塞尔(Bezier)和B样条曲线(B-spline)类型的多种面面片具有全部位于其控制点的凸包中的特性。因此可通过在细分前先对面片进行分析来确定包围体。可以理解的是所确定的对象的极限深度值的准确度将依赖于包围体对封闭对象的围绕有多紧密,并且要注意必须确保要考虑到置换贴图的影响。
在一个可替换的实施方式中,可通过对面数据的面片位于每个图块中的分别的部分进行分析来确定最大和或最小深度数据。面数据的面片可以是非常大的并且常延伸穿过多于一个图块,所以针对面片的位于单个图块中的各个部分所确定的最小和或最大深度数据可表示远小于针对整个面片所确定的最小和或最大深度数据的深度值范围。深度值的更小的范围增加了在渲染前面片可从图块中被拣出的机会。本领域的技术人员将理解存在多种确定面片位于图块中的部分的最小和最大深度数据的方法,并且这些方法中包括使用包围体和面片的凸包特性的方法。
系统中存在拼贴(tiling)单元40,拼贴单元40能确定图元是全部地还是部分地位于图块中,使得根据被拼贴的细分的图元确定最小和或最大深度数据的方法特别地适用。可以理解的是,在这种情况下,拼贴单元40必须确定哪些细分的图元和因此面数据的细分的面片的哪部分位于每一个图块中。可确定和比较组成图块中的面数据的细分的面片的细分的图元中的每一个的深度,以得到位于每一个图块中的面数据的细分的面片的各个部分的最小和或最大深度数据。
拼贴单元40将渲染空间分为多个图块,每一个图块包括多个图像像素。图块通常是矩形的,但也能是其他形状。
然后对于每个图块,拼贴单元40确定细分的图元中的每一个是否位于(部分地或全部地)该图块中。换言之,细分的图元的至少部分是否位于该图块的可见区域内。这能使用多种公知技术来实现。
在一些实施方式中,拼贴单元40可包括深度测试处理器50。当对象确定位于图块中时,深度测试处理器比较该对象的最小或最大深度值和该图块的深度阈值。根据对象的深度比较模式来执行该比较测试,由此该比较确定对象是否在该图块中有可能可见,或者该对象是否隐藏。深度测试处理器通常不是逐像素测试,并且因此不能确定对象是一定可见。然而,其能确定对象完全被图块中的其他对象所隐藏。如果被隐藏,该对象能被拣出并不在该图块的显示列表中被指示。
例如,如申请人的GB专利No.2,378,108所述,在使用“部分渲染”的系统中,图块的“z缓存”中的可见图元的深度范围(最小和/或最大深度)可从隐藏面移除单元110反馈至拼贴单元40。如本领域的技术人员可理解的,在“部分渲染”系统中,位于图块中的一些对象在该图块的显示列表中被指示,然后使用如上所述的“z缓存”技术来渲染那些对象。随后,位于该图块中的更远的对象在该图块的显示列表中被指示,然后被渲染。在后来的那些对象在图块的显示列表中被指示前,可反馈“z缓存”中的深度范围,由此该深度可用作在深度测试中的深度阈值。
可替换地,拼贴单元40可确定最小和或最大深度阈值。很明显拼贴单元40重复一次在隐藏面移除期间执行的全部深度工作是不期望的。然而,举例来说,拼贴单元40可确定被添加至图块的显示列表的对象的保守的最小和或最大深度阈值,以用在粗略的深度测试中。
例如,在“小于”深度比较模式中,如果该对象具有比当前所存储的图块中的可见图元的最大深度阈值更接近视点的最大深度,每次对象覆盖了整个图块时,可更新图块的最大深度阈值。在这种情况下,图块的最大深度阈值将更新为该对象的最大深度值。这是因为,由于对象覆盖了整个图块,可知图块中的可见图元的最大深度阈值必然至多为该对象的最大深度值。因此,如果该对象的最大深度值比当前所存储的图块的最大深度阈值更接近视点,则该图块的最大深度值能被更新。也可根据位于图块中的对象来确定图块的最小深度阈值。
图2示出了包括多个图块205和面数据的细分的面片210的示例屏幕端口图像200。图2a和2b是示出在图块的一个示例图块中的可见对象的最小和最大深度值的图。指定距离视点最远的点的深度值是1.0和距离最近的点的深度值是0.0。实线用于指示可用作深度测试的阈值的可见对象的深度值范围。虚线用于指示两个细分的示例面片220和230的最小和最大深度值。在这些示例中,能看出面片的深度值略微保守,可能是因为得到这些值的某些方法的原因。
在该示例中,如果确定对象被隐藏在图像中的其他对象下,则该对象被拣出。因此关键深度是对象的最小深度值。如图2a中的示例,如果对象的最小深度值(距离视点最近的深度)比图块的最大深度阈值(即,距离视点最远的深度)更接近视点,则对象中的至少一些可在该图块中可见。因此不从该图块中拣出该对象。然而,在图2b的示例中,可看出对象的最小深度值(距离视点最近的深度)距离视点比图块的最大深度阈值还远。因此可知该面数据的细分的面片必然隐藏在图块中。因此可从该图块中拣出该对象。
在一个实施方式中,使用为面数据的面片确定的最小或最大深度值来执行深度测试。深度测试确定整个面片是否隐藏在图块中。在另一实施方式中,使用为面数据的细分的面片的图元确定的最小或最大深度值来执行深度测试。在这种情况下,深度测试确定图元是否隐藏在图块中。可独立地测试面数据的同一细分的面片中的其他图元以确定其是否隐藏在图块中。
本领域的技术人员可想到其他使用面数据的细分的面片的最小和或最大深度来确定面数据的细分的面片是否隐藏在图块中的方法。
如果确定对象不能从图块中拣出,或者如果在这一阶段未执行深度测试,则在该图块的显示列表中指示该对象。这可包括存储针对图块的显示列表中的每一个细分的图元的一个或多个索引,索引提供了指向存储在参数存储器80中的与细分的图元相关联的几何数据的指针。在该示例中,如在GB专利申请公开No.2480012中公开的系统中所描述的,不是在参数存储器80中存储细分的图元中的每一个的几何数据,而是存储面数据的面片的数据,随后在渲染期间能根据这些数据重新得到细分的图元。举例来说,如果面片是贝塞尔面片,数据可包括面片的控制点和在其中应用的细分因子。
如果确定面数据的整个细分的面片能从图块中拣出,则在图块的显示列表中不指示细分的图元。然而,应该注意的是,如果面数据的该细分的面片在其他图块中可能是可见的,则面数据的面片的几何数据可仍存储在参数存储器80中。
在已得到每一个图块的显示列表后,显示列表被存储在存储器60中。优选地,即使已经进行了深度测试,面数据的细分的面片的最小和或最大深度数据存储在存储器70中。
为对每个图块进行渲染,图块的显示列表被读取。对于其显示列表参考面数据的面片的图块,在进行任何进一步处理前,深度测试处理器90从存储器70中读取面数据的面片的最小和或最大深度数据。然后,举例来说,深度测试处理器90可使用上述方法来执行第一或进一步深度测试。其他方法是可能的并且是本领域的技术人员能想到的。
可以理解的是,在这一阶段执行深度测试比在拼贴前执行深度测试更准确,并且因此更可能导致面数据的面片从图块中被拣出。这是因为细分的面片的最小和或最大深度值可与之比较的图块的最小和或最大深度阈值可根据隐藏面移除单元110的z缓存来直接确定。以该方式确定的最小和或最大深度阈值比在拼贴单元40中得到的更准确,因为其没有受到例如保守的包围体的因素的影响,也比仅根据覆盖整个图块的对象得到阈值数据更准确。因此,即使在拼贴前执行深度测试,如果没从所有图块中拣出面片,则存储面片的最小/最大深度值并且在拼贴后和对每个图块进行渲染前执行附加的深度测试也是有好处的,即使该处理有需要额外的存储空间来存储面片的最小/最大数据的缺陷。
如果确定面数据的面片能从图块中被拣出,对于该图块,有利的是不需处理与面数据的该面片相关联的任何细分的图元。因此,不需重新细分面数据的该面片以重新得到在该图块的显示列表中指示的那些细分的图元。
如果确定面数据的面片在该图块中可见,则细分处理器100读取与面数据的该面片相关联的几何数据并且对面数据的该面片重新细分以重新得到该图块的显示列表中所标识的细分的图元中的每一个。
如上所述,然后可使用公知技术处理这些细分的图元中的每一个以对该图像进行渲染。
细分的图元中的每一个可被传到隐藏面移除单元110,隐藏面移除单元110移除任意在该图块中不可见的面,并且所产生的像素数据可被传到纹理和着色单元120,其在用于显示的最终像素值被写到存储器前施加像素或纹理着色。
图3是示出本发明的一个实施方式的流程图。在步骤300,细分面数据的面片以得到多个细分的图元,这些图元可从面数据的面片的面上被置换。在步骤310,根据细分的图元确定面数据的细分的面片的最小和或最大深度数据。在步骤320,对于面数据的细分的面片位于的每一个图块,面数据的细分的面片的最小和或最大深度数据可用于确定面数据的细分的面片是否隐藏在该图块中。
如果确定面数据的细分的面片隐藏在该图块中,在步骤340,面数据的细分的面片从该图块中被拣出。如果确定面数据的细分的面片未隐藏在该图块中,则在步骤330得到该图块的显示列表,显示列表用于指示位于该图块中的那些细分的图元。此外,可为面数据的细分的面片存储最小和或最大深度数据。显示列表和最小和或最大深度数据存储在存储器350中。
为渲染每一个图块,在步骤360,对于面数据的细分的面片所位于的每个图块,面数据的面片的最小和或最大深度数据被读取并被用于确定面数据的细分的面片是否隐藏在该图块中。如果确定面数据的细分的面片隐藏在该图块中,则在步骤380,面数据的该细分的面片从图块中被拣出并且不再进行进一步的处理。如果确定面数据的细分的面片未隐藏,则在步骤390,处理位于该图块中的细分的图元中的每一个以对该图块进行渲染。在上述的实施方式中这包括重新细分存储器中存储的面数据的面片以重新得到至少图块的显示列表中指示的那些细分的图元,并且随后使用公知技术对那些细分的图元中的每一个进行处理。
图4是示出本发明的另一实施方式的流程图。在步骤400,面数据的面片被细分以得到多个细分的图元,图元可从面数据的面片的面中被置换。在步骤410,对于细分的图元位于的每一个图块,图元的最小和或最大深度值可用于确定该图元是否隐藏在该图块中。
如果确定细分的图元隐藏在该图块中,在步骤430,该细分的图元从该图块中被拣出。如果确定该细分的图元未隐藏在该图块中,则在步骤420,可确定面面片中未隐藏的图元的最小和或最大深度数据。在步骤440,可得到图块的显示列表,用于指示未隐藏的且位于该图块中的那些细分的图元。此外,可存储面数据的细分的面片的最小和最大深度数据。显示列表和最小和或最大深度数据存储在存储器450中。
在步骤460,为渲染每个图块,对于面数据的细分的面片位于的每个图块,面数据的面片的最小和或最大深度数据被读取并用于确定面数据的该细分的面片是否隐藏在该图块中。如果确定面数据的该细分的面片隐藏在该图块中,则在步骤480,面数据的该细分的面片从该图块中被拣出并不再进行进一步的处理。如果确定面数据的该细分的面片未隐藏,则在步骤490,位于该图块中的细分的图元中的每一个被处理以对该图块进行渲染。在上述的实施方式中这包括对存储器中存储的面数据的面片重新细分以重新得到至少该图块的显示列表中指示的那些细分的图元,并且随后使用公知技术处理那些细分的图元中的每一个。
图5是示出最小和或最大深度计算器30可用来确定一个或多个图元(例如可通过面数据的面片的细分所产生的那些图元)的集合的极限深度值的一种方法的流程图。该示例中示出了对最小深度值的确定。
在500中读取图元,并且在510中从图元读取顶点(vertex)。通常顶点包括坐标X、Y和Z,其中Z坐标是深度值。在520中,如果该顶点是图元集合中的第一图元的第一顶点,则在530中该顶点的Z坐标被存储。这为进一步的比较提供了初始值。对于所有随后的顶点,在540中,顶点的Z坐标与之前在530中存储的Z值进行比较以确定其是否更小。如果更小,则该顶点的Z坐标被存储在530中,替代任意之前存储的值。在550中,进行测试以确定该顶点是否是该图元中的最后一个顶点。如果不是则流程返回510,且以相似方式对该图元的下一个顶点进行处理。在对图元中的最后一个顶点进行处理后,在560中,进行测试以确定该图元是否是集合中的最后一个图元。如果不是则流程返回500,并且下一个图元被读取和处理。在对集合中的最后一个图元进行处理后,在530中存储的Z值是检测的所有顶点中最小的Z值。
技术人员可理解可修改图5中的方法来确定图元集合的最大极限深度值,或者仅一次通过图元数据而产生图元集合的最小和最大极限深度值。
图6是示出可被最小和或最大深度计算器30用来确定面数据的面片的极限深度值的方法的流程图。在该示例中根据是面面片的控制点的顶点确定最小深度值。面面片的控制点形成已知用于界定该面片的凸包。
在600,读取对象,并且在610从对象中读取顶点。在620针对相关性可选地测试顶点,因为众所周知对于例如B-样条的曲线,该曲线由多个相邻控制点的凸包所界定,并且定义凸包的相邻点的数量取决于曲度。当确定用于位于特定图块中的面面片的部分的包围体时,相关性测试特别有用,因为仅在该图块中和周围的控制点定义了用于该图块内的面面片的凸包。根据更少的数量的控制点所确定的包围体可以更小,并且因此与使用面面片的所有控制点计算的包围体相比提供了更有效的拣出。如果确定顶点不相关则流程继续至660。
在630,如果顶点是面面片的第一相关顶点,则在640顶点的Z坐标被存储。这为进一步的比较提供了初始值。对于所有随后的顶点,在650,顶点的Z坐标与之前在640所存储的Z值相比以确定其是否更小。如果更小,则在640该顶点的Z坐标被存储,取代任意之前所存储的值。
在660中,进行测试以确定顶点是否是面面片的最后一个顶点,如果不是,流程返回610。在对面面片中的最后一个顶点进行处理后,在640存储的Z值是被检测的所有相关顶点中的最小Z值。
本领域技术人员可理解可根据需要修改图6的方法以确定最大极限深度值或最小和最大极限深度值。
本领域的技术人员将理解功能、技术或方法的全部或部分可通过专用电路、专用应用集成电路、可编程逻辑阵列、现场可编辑门阵列等执行。例如,其可以包括电子电路形式的硬件。该电路可包括晶体管和/或制造工艺可实现的其他硬件元件。该晶体管和/或其他硬件元件可用于形成实施和/或包含例如寄存器的存储器、触发器或锁存器、例如布尔运算的逻辑运算器、例如加法器、乘法器或移位器的数学运算器和连接线等的结构或电路。这些元件可以作为定制电路或标准单元库、宏、或以其他抽象级被提供。这些元件可以以特定的排列互相连接。这可包括固定功能的电路和/或能被编程的以执行一个或多个功能的电路;该程序设计可根据固件或软件的升级或控制机制来提供。在一个示例中,硬件逻辑具有实现固定功能操作、状态机或处理的电路。
本发明也包括用于“描述”或定义硬件配置的软件,硬件用于实现上述模块、功能、部件或逻辑,例如HDL(硬件描述语言)软件的软件用于设计集成电路或配置可编程芯片以执行所需功能。换言之,可提供在其上编码计算机可读程序码的计算机可读存储介质,该程序码用于生成被配置为执行本文所述的方法中的任意一者的处理单元,或用于生成包括本文所述的任意装置的处理单元。
Claims (23)
1.一种在基于图块的图形系统中拣出隐藏的细分的图元的方法,该方法包括:
将渲染空间再分成多个图块;
读取面数据的面片;
对面数据的所述面片进行细分以得到多个细分的图元;
分析所述面片的至少部分以确定用于表示在至少一个图块上评估的极限深度值的数据,所述面片的至少部分包括所述细分的图元中的至少一些图元;
对于所述面片位于其中的每一个图块,使用用于表示所述极限深度值的所述数据来确定所述面片是否隐藏在所述图块中;以及
如果所述面片被确定未隐藏在至少一个图块中,则渲染所述面片的至少部分。
2.根据权利要求1所述的方法,其中所述分析步骤还包括:
得到所述多个细分的图元中的每一个图元的极限深度值;以及
比较所述多个细分的图元中的所述至少一些图元的极限深度值,以得到用于表示在所述至少一个图块上评估的所述极限深度值的所述数据。
3.根据权利要求2所述的方法,其中所述分析步骤还包括,对于所述多个细分的图元中的每一个图元,使用所述细分的图元的所述极限深度值来确定所述细分的图元是否隐藏在所述至少一个图块中,其中如果所述细分的图元被确定未隐藏在所述至少一个图块中,则所述多个细分的图元中的所述至少一些图元包括所述细分的图元。
4.根据前述任一权利要求所述的方法,其中在所述至少一个图块上评估的所述极限深度值是针对整个所述面片的极限深度值。
5.根据前述任一权利要求所述的方法,其中所述分析步骤包括,对于所述面片位于其中的每一个图块,分析所述面片的相应部分以确定用于表示在该图块上评估的极限深度值的数据。
6.根据前述任一权利要求所述的方法,其中在所述至少一个图块上评估的所述极限深度值包括最大极限深度值和或最小极限深度值。
7.根据前述任一权利要求所述的方法,该方法还包括:对于所述面片位于其中的每一个图块,如果所述面片被确定未隐藏在所述图块中,则在所述图块的显示列表中指示所述面片的至少部分。
8.根据权利要求7所述的方法,该方法还包括:
将用于表示所述极限深度值的数据写入存储器;以及
对于其显示列表指示所述面片的至少部分的每一个图块,从所述存储器中读取用于表示所述极限深度值的所述数据并且使用该用于表示所述极限深度值的数据来确定所述面片是否隐藏在所述图块中。
9.根据权利要求1至6中任一权利要求所述的方法,该方法还包括:
对于所述面片位于其中的每一个图块,在所述图块的显示列表中指示所述面片的至少部分;将用于表示在所述至少一个图块上评估的所述极限深度值的数据写入存储器;以及其中对于所述面片位于其中的每一个图块使用用于表示所述极限深度值的所述数据来确定所述面片是否隐藏在所述图块中的步骤还包括:从所述存储器中读取所述用于表示所述极限深度值的数据。
10.根据权利要求9所述的方法,当权利要求9从属于权利要求4时,该方法还包括拣出被确定隐藏在所述至少一个图块中的每一个细分的图元。
11.根据权利要求9或10所述的方法,该方法还包括附加步骤,该附加步骤在对于所述面片位于其中的每一个图块,在所述图块的显示列表中指示所述面片的至少部分的步骤之前,该附加步骤包括使用所述用于表示在所述至少一个图块上评估的所述极限深度值的数据来确定所述面片是否隐藏在图块中,以及如果所述面片是隐藏在图块中,则从所述图块中拣出所述面片。
12.一种用于在图形系统中拣出隐藏的细分的图元的系统,该图形系统具有被再分为多个区域的渲染空间,每一个区域包括多个像素,所述系统包括:
接口,被配置为接收面数据的面片;
细分处理器,被配置为对面数据的所述面片进行细分以得到多个细分的图元;
深度计算器,被配置为分析所述面片的至少部分以确定用于表示在至少一个图块上评估的极限深度值的数据,所述面片的至少部分包括所述多个细分的图元中的至少一些图元;
深度测试处理器,被配置为对于所述面片位于其中的每一个图块,使用用于表示所述极限深度值的所述数据来确定所述面片是否隐藏在所述图块中;以及
渲染器,被配置为如果所述面片被确定未隐藏在至少一个图块中,则渲染所述面片的至少部分。
13.根据权利要求12所述的方法,其中所述深度计算器还包括比较器逻辑,所述比较器逻辑被配置为得到所述多个细分的图元中的每一图元的极限深度值以及比较所述多个细分的图元中的所述至少一些图元的所述极限深度值,以得到用于表示在所述至少一个图块上评估的所述极限深度值的所述数据。
14.根据权利要求13所述的方法,其中所述深度测试处理器还被配置为,对于所述多个细分的图元中的每一个图元,使用所述细分的图元的所述极限深度值来确定所述细分的图元是否隐藏在所述至少一个图块中;以及所述比较器逻辑被配置为如果所述细分的图元被确定未隐藏在所述至少一个图块中,则比较所述细分的图元的所述极限深度值。
15.根据权利要求12至14中的任意一项权利要求所述的系统,其中在所述至少一个图块上评估的所述极限深度值是针对整个面片的极限深度值。
16.根据权利要求12至15中的任意一项权利要求所述的系统,其中所述深度计算器被配置为,对于所述面片位于其中的每一个图块,分析所述面片的相应部分以确定用于表示在该图块上评估的极限深度值的数据。
17.根据权利要求12至16中的任意一项权利要求所述的系统,其中在所述至少一个图块上评估的所述极限深度值包括最大极限深度值和或最小极限深度值。
18.根据权利要求12至17中的任意一项权利要求所述的系统,该系统还包括显示列表生成器,所述显示列表生成器被配置为,对于所述面片位于其中的每一个图块,如果所述面片被确定未隐藏在所述图块中,则在该图块的显示列表中指示所述面片的至少部分。
19.根据权利要求18所述的系统,该系统还包括:
写接口,被配置为将用于表示所述极限深度值的所述数据写入存储器;
读接口,被配置为对于其显示列表指示所述面片的至少部分的每一个图块,从所述存储器中读取用于表示所述极限深度值的所述数据;以及
深度测试处理器,被配置为对于其显示列表指示所述面片的至少部分的每一个图块,使用用于表示所述极限深度值的所述数据来确定所述面片是否隐藏在所述图块中。
20.根据权利要求12至17中任意一项权利要求所述的系统,该系统还包括:
显示列表生成器,被配置为对于所述面片位于其中的每一个图块,在所述图块的显示列表中指示所述面片的至少部分;
写入器接口,被配置为将用于表示在所述至少一个图块上评估的所述极限深度值的所述数据写入存储器;以及
其中所述深度测试处理器还被配置为从所述存储器中读取用于表示所述极限深度值的所述数据。
21.根据权利要求20所述的系统,当权利要求20从属于权利要求16时,该系统还包括对象拣出逻辑,被配置为拣出被确定隐藏在所述至少一个图块中的每一个细分的图元。
22.根据权利要求20或21所述的系统,其中所述深度测试处理器还被配置为使用用于表示在所述至少一个图块上评估的所述极限深度值的所述数据来确定所述面片是否隐藏在图块中,以及所述系统还包括对象拣出逻辑,所述对象拣出逻辑被配置为在所述显示列表生成器对于所述面片位于其中的每一个图块在所述图块的显示列表中指示所述面片的至少部分之前,如果所述面片被确定隐藏在所述图块中,则从所述图块中拣出所述面片由此所述面片不再位于所述图块中。
23.一种计算机可读存储介质,在该计算机可读存储介质上被编码了用于生成被配置为执行权利要求1至11所述的方法的图形处理系统的计算机可读代码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710873834.7A CN107657655B (zh) | 2012-12-20 | 2013-12-20 | 在基于图块的图形系统中进行拣出的方法及系统 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1223099.1 | 2012-12-20 | ||
GB1223099.1A GB2509113B (en) | 2012-12-20 | 2012-12-20 | Tessellating patches of surface data in tile based computer graphics rendering |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710873834.7A Division CN107657655B (zh) | 2012-12-20 | 2013-12-20 | 在基于图块的图形系统中进行拣出的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103886633A true CN103886633A (zh) | 2014-06-25 |
CN103886633B CN103886633B (zh) | 2017-10-24 |
Family
ID=47682343
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710873834.7A Active CN107657655B (zh) | 2012-12-20 | 2013-12-20 | 在基于图块的图形系统中进行拣出的方法及系统 |
CN201310713479.9A Active CN103886633B (zh) | 2012-12-20 | 2013-12-20 | 基于图块的计算机图形渲染中细分面数据的面片 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710873834.7A Active CN107657655B (zh) | 2012-12-20 | 2013-12-20 | 在基于图块的图形系统中进行拣出的方法及系统 |
Country Status (4)
Country | Link |
---|---|
US (4) | US9547934B2 (zh) |
CN (2) | CN107657655B (zh) |
DE (1) | DE102013114176A1 (zh) |
GB (2) | GB2544679B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107341283A (zh) * | 2016-04-29 | 2017-11-10 | 想象技术有限公司 | 用于图块的控制流的生成 |
CN112116519A (zh) * | 2019-06-19 | 2020-12-22 | 畅想科技有限公司 | 图形处理系统中的粗略深度测试 |
CN116188552A (zh) * | 2023-04-24 | 2023-05-30 | 摩尔线程智能科技(北京)有限责任公司 | 基于区域的深度测试方法、装置、设备及存储介质 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2545589A (en) | 2012-11-02 | 2017-06-21 | Imagination Tech Ltd | On demand geometry and acceleration structure creation |
KR20160063081A (ko) * | 2014-11-26 | 2016-06-03 | 삼성전자주식회사 | 선택적 테셀레이션 방법 및 장치 |
EP3070677B1 (en) * | 2015-03-20 | 2021-07-28 | Samsung Electronics Co., Ltd. | Method and apparatus for tile-based rendering |
KR102381945B1 (ko) | 2015-11-18 | 2022-04-01 | 삼성전자주식회사 | 그래픽 프로세싱 장치 및 그래픽 프로세싱 장치에서 그래픽스 파이프라인을 수행하는 방법 |
US10032308B2 (en) * | 2016-06-22 | 2018-07-24 | Advanced Micro Devices, Inc. | Culling objects from a 3-D graphics pipeline using hierarchical Z buffers |
US20180082465A1 (en) * | 2016-09-16 | 2018-03-22 | Prasoonkumar Surti | Apparatus and method for optimized tile-based rendering |
US10943389B2 (en) * | 2016-12-09 | 2021-03-09 | Advanced Micro Devices, Inc. | Removing or identifying overlapping fragments after z-culling |
US10692258B2 (en) * | 2017-11-20 | 2020-06-23 | Intel Corporation | Minimum or maximum sample indexing in control surface |
US10672182B2 (en) * | 2018-04-19 | 2020-06-02 | Microsoft Technology Licensing, Llc | Compact visibility state for GPUs compatible with hardware instancing |
US11010862B1 (en) * | 2019-11-14 | 2021-05-18 | Advanced Micro Devices, Inc. | Reduced bandwidth tessellation factors |
CN111583378B (zh) * | 2020-06-11 | 2023-11-17 | 网易(杭州)网络有限公司 | 一种虚拟资产处理的方法及装置、电子设备、存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6480205B1 (en) * | 1998-07-22 | 2002-11-12 | Nvidia Corporation | Method and apparatus for occlusion culling in graphics systems |
GB2378108A (en) * | 2001-07-24 | 2003-01-29 | Imagination Tech Ltd | 3D graphics generator |
CN1581234A (zh) * | 2003-12-05 | 2005-02-16 | 旭上绘图股份有限公司 | 使用多遍形成方式的图形基元成形装置及方法 |
CN101639929A (zh) * | 2008-06-05 | 2010-02-03 | Arm有限公司 | 图形处理系统 |
CN101650821A (zh) * | 2008-07-16 | 2010-02-17 | Arm有限公司 | 监视图形处理 |
CN102208112A (zh) * | 2011-05-25 | 2011-10-05 | 威盛电子股份有限公司 | 景深消隐方法、三维图形处理方法及其装置 |
US20110267346A1 (en) * | 2010-04-30 | 2011-11-03 | John William Howson | Tessellation of patches of surfaces in a tile based rendering system |
CN103946895A (zh) * | 2011-11-16 | 2014-07-23 | 高通股份有限公司 | 基于平铺块的呈现中的镶嵌 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US299910A (en) * | 1884-06-03 | Machine foe cutting meat and vegetables | ||
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 |
US5864342A (en) | 1995-08-04 | 1999-01-26 | Microsoft Corporation | Method and system for rendering graphical objects to image chunks |
US6246415B1 (en) | 1998-04-30 | 2001-06-12 | Silicon Graphics, Inc. | Method and apparatus for culling polygons |
US7245299B2 (en) * | 2003-05-12 | 2007-07-17 | Adrian Sfarti | Bicubic surface real-time tesselation unit |
US20020196252A1 (en) * | 2001-06-20 | 2002-12-26 | Min-Hao Liao | Method and apparatus for rendering three-dimensional images with tile-based visibility preprocessing |
US7301537B2 (en) * | 2002-12-20 | 2007-11-27 | Telefonaktiebolaget Lm Ericsson (Publ) | Graphics processing apparatus, methods and computer program products using minimum-depth occlusion culling and zig-zag traversal |
US7450120B1 (en) | 2003-12-19 | 2008-11-11 | Nvidia Corporation | Apparatus, system, and method for Z-culling |
US7154500B2 (en) * | 2004-04-20 | 2006-12-26 | The Chinese University Of Hong Kong | Block-based fragment filtration with feasible multi-GPU acceleration for real-time volume rendering on conventional personal computer |
US7167171B2 (en) * | 2004-06-29 | 2007-01-23 | Intel Corporation | Methods and apparatuses for a polygon binning process for rendering |
US7538765B2 (en) * | 2004-08-10 | 2009-05-26 | Ati International Srl | Method and apparatus for generating hierarchical depth culling characteristics |
US8089486B2 (en) | 2005-03-21 | 2012-01-03 | Qualcomm Incorporated | Tiled prefetched and cached depth buffer |
CN101681526B (zh) * | 2007-01-24 | 2013-03-27 | 英特尔公司 | 通过使用可置换的剔除程序提高图形性能的方法和装置 |
US8184118B2 (en) * | 2007-05-01 | 2012-05-22 | Advanced Micro Devices, Inc. | Depth operations |
WO2009093956A1 (en) | 2008-01-23 | 2009-07-30 | Swiftfoot Graphics Ab | Method, apparatus, and computer program product for improved graphics performance |
US20100164954A1 (en) * | 2008-12-31 | 2010-07-01 | Sathe Rahul P | Tessellator Whose Tessellation Time Grows Linearly with the Amount of Tessellation |
US8384715B2 (en) * | 2009-04-13 | 2013-02-26 | Microsoft Corporation | View-dependent rendering of parametric surfaces |
GB201104066D0 (en) * | 2011-03-09 | 2011-04-20 | Imagination Tech Ltd | Compression of a tessellated primitive index list in a tile rendering system |
US8982124B2 (en) * | 2012-09-29 | 2015-03-17 | Intel Corporation | Load balancing and merging of tessellation thread workloads |
-
2012
- 2012-12-20 GB GB1702949.7A patent/GB2544679B/en active Active
- 2012-12-20 GB GB1223099.1A patent/GB2509113B/en active Active
-
2013
- 2013-12-17 DE DE102013114176.5A patent/DE102013114176A1/de active Pending
- 2013-12-19 US US14/135,125 patent/US9547934B2/en active Active
- 2013-12-20 CN CN201710873834.7A patent/CN107657655B/zh active Active
- 2013-12-20 CN CN201310713479.9A patent/CN103886633B/zh active Active
-
2016
- 2016-12-07 US US15/372,088 patent/US9892547B2/en active Active
-
2018
- 2018-01-04 US US15/862,382 patent/US11527040B2/en active Active
-
2022
- 2022-11-28 US US18/070,359 patent/US20230088494A1/en active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6480205B1 (en) * | 1998-07-22 | 2002-11-12 | Nvidia Corporation | Method and apparatus for occlusion culling in graphics systems |
GB2378108A (en) * | 2001-07-24 | 2003-01-29 | Imagination Tech Ltd | 3D graphics generator |
CN1581234A (zh) * | 2003-12-05 | 2005-02-16 | 旭上绘图股份有限公司 | 使用多遍形成方式的图形基元成形装置及方法 |
CN101639929A (zh) * | 2008-06-05 | 2010-02-03 | Arm有限公司 | 图形处理系统 |
CN101650821A (zh) * | 2008-07-16 | 2010-02-17 | Arm有限公司 | 监视图形处理 |
US20110267346A1 (en) * | 2010-04-30 | 2011-11-03 | John William Howson | Tessellation of patches of surfaces in a tile based rendering system |
CN102208112A (zh) * | 2011-05-25 | 2011-10-05 | 威盛电子股份有限公司 | 景深消隐方法、三维图形处理方法及其装置 |
CN103946895A (zh) * | 2011-11-16 | 2014-07-23 | 高通股份有限公司 | 基于平铺块的呈现中的镶嵌 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107341283A (zh) * | 2016-04-29 | 2017-11-10 | 想象技术有限公司 | 用于图块的控制流的生成 |
CN107341283B (zh) * | 2016-04-29 | 2022-11-29 | 想象技术有限公司 | 用于图块的控制流的生成 |
CN112116519A (zh) * | 2019-06-19 | 2020-12-22 | 畅想科技有限公司 | 图形处理系统中的粗略深度测试 |
CN112116519B (zh) * | 2019-06-19 | 2022-12-27 | 畅想科技有限公司 | 图形处理系统中的粗略深度测试 |
US11922566B2 (en) | 2019-06-19 | 2024-03-05 | Imagination Technologies Limited | Coarse depth test in graphics processing systems |
CN116188552A (zh) * | 2023-04-24 | 2023-05-30 | 摩尔线程智能科技(北京)有限责任公司 | 基于区域的深度测试方法、装置、设备及存储介质 |
CN116188552B (zh) * | 2023-04-24 | 2023-08-11 | 摩尔线程智能科技(北京)有限责任公司 | 基于区域的深度测试方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20140176544A1 (en) | 2014-06-26 |
GB201223099D0 (en) | 2013-02-06 |
US11527040B2 (en) | 2022-12-13 |
US9892547B2 (en) | 2018-02-13 |
US20170091986A1 (en) | 2017-03-30 |
US20180197325A1 (en) | 2018-07-12 |
CN103886633B (zh) | 2017-10-24 |
GB2544679B (en) | 2017-08-16 |
CN107657655A (zh) | 2018-02-02 |
DE102013114176A1 (de) | 2014-06-26 |
GB2509113B (en) | 2017-04-26 |
GB2544679A (en) | 2017-05-24 |
US9547934B2 (en) | 2017-01-17 |
US20230088494A1 (en) | 2023-03-23 |
GB201702949D0 (en) | 2017-04-12 |
CN107657655B (zh) | 2021-07-13 |
GB2509113A (en) | 2014-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103886633A (zh) | 基于图块的计算机图形渲染中细分面数据的面片 | |
US11257279B2 (en) | Systems and methods for providing non-parametric texture synthesis of arbitrary shape and/or material data in a unified framework | |
US20230351678A1 (en) | Hidden culling in tile-based computer generated images | |
CN108734624B (zh) | 包括多个处理级的图形处理流水线及其操作方法与介质 | |
CN102016928B (zh) | 用于提高的图形性能的方法、设备 | |
US8059119B2 (en) | Method for detecting border tiles or border pixels of a primitive for tile-based rendering | |
KR100833842B1 (ko) | 3차원 그래픽 엔진에서의 픽셀 래스터라이제이션 처리방법및 그의장치 | |
JP2005100177A (ja) | 画像処理装置およびその方法 | |
US10540789B2 (en) | Line stylization through graphics processor unit (GPU) textures | |
US20070268291A1 (en) | Occlusion Culling Method and Rendering Processing Apparatus | |
US20070268290A1 (en) | Reduced Z-Buffer Generating Method, Hidden Surface Removal Method and Occlusion Culling Method | |
US8502818B1 (en) | System and method for surface tracking | |
KR20140144688A (ko) | 장면에서의 불투명도 레벨을 추정하는 방법, 및 이에 대응하는 디바이스 | |
JP2005100176A (ja) | 画像処理装置およびその方法 | |
KR20160046614A (ko) | 텍스쳐를 처리하는 방법 및 장치 | |
CN101271588B (zh) | 可重建几何阴影图方法 | |
KR20170036419A (ko) | 그래픽스 프로세싱 장치 및 그래픽스 파이프라인의 텍스쳐링을 위한 LOD(level of detail)를 결정하는 방법 | |
JP4425734B2 (ja) | 隠線を消去したベクトルイメージを提供する方法 | |
Ao-Yu et al. | A survey of silhouette detection techniques for non-photorealistic rendering | |
Flórez et al. | Efficient ray tracing using interval analysis | |
CN116342786A (zh) | 模型优化方法、装置、电子设备及存储介质 | |
Ivo et al. | A new method for cutting splats of models with sharp features | |
CN116188552A (zh) | 基于区域的深度测试方法、装置、设备及存储介质 | |
Royer et al. | Implementation tradeoffs of triangle traversal algorithms for graphics processing | |
Zhou et al. | A Novel Pointcloud-based Isosurface Extraction |
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 |