CN101933049B - 高效的几何镶嵌和位移 - Google Patents
高效的几何镶嵌和位移 Download PDFInfo
- Publication number
- CN101933049B CN101933049B CN2009801039970A CN200980103997A CN101933049B CN 101933049 B CN101933049 B CN 101933049B CN 2009801039970 A CN2009801039970 A CN 2009801039970A CN 200980103997 A CN200980103997 A CN 200980103997A CN 101933049 B CN101933049 B CN 101933049B
- Authority
- CN
- China
- Prior art keywords
- knee
- piece
- factor
- inlaying
- limit
- 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.)
- Active
Links
Images
Classifications
-
- 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
- G06T17/205—Re-meshing
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/36—Level of detail
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Geometry (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
- Computer Vision & Pattern Recognition (AREA)
Abstract
提供了用于通过使用新颖的结构和算法来镶嵌对象来渲染三维(3D)图形的方法和计算机存储介质。利用“曲片”,即包括指定数量的控制点的可配置函数来渲染允许在除了传统的按顶点、按图元和按像素方法之外的每一曲片或每一控制点的基础上进行计算。这产生胜于先前镶嵌方法的多个优点,包括跨现有顶点的计算的重用以及按较低频率处理的能力。简化计算点的运算以优化该过程中所使用的系统资源。从未镶嵌到已镶嵌对象的转换利用本发明来更加平滑,同时开发者在存在于相同曲片的不同边处的细节水平方面具有更多灵活性。还可增加位移图中的细节而没有与先前系统和方法相关联的负面效果。
Description
背景
当在计算环境中生成三维(3D)图形时,开发者必须将曲面从三维变换成二维形状的交织网格。该过程,即镶嵌,通常依靠对三角形的使用来描绘对象。三角形以描绘实际上任何其他形状并且还添加感知到的拓扑结构以获得附加三维效果的方式来拟合。每一个网格的生成都由若干参数来表征,诸如所使用的三角形的数量、这些三角形的大小和比例、以及三角形到屏幕上的像素的后续转换。这些参数不仅在对象之间变化,而且在从不止一个理论有利位置查看对象时变化。由多视角造成的增加的复杂性的结果是另一组考虑事项,诸如在对象上的任何特定点处生成的细节水平、对象的曲面看上去平滑的程度、以及从一个细节水平到另一个细节水平的移动。提供太少或太多细节在描绘这些对象时都造成问题。前者可导致看上去成三角形且不真实的图形,而后者生成向所渲染的对象添加极少清晰度的太多计算,即太多数据点。
概述
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
本发明的各实施例涉及镶嵌被分成“曲片”的对象以使得可渲染三维图形。在一个实施例中,提供以连续方式从无镶嵌到镶嵌的平滑转换。通过使用奇分数镶嵌来渲染图形,将点插入在所选控制点附近并且从一个图到下一个图的移动不脱节。曲片的边和内部可以按先前不可用的各种方式来镶嵌,同时维护在相邻曲片之间不具有间隙的边。还可选择整个镶嵌曲片中的图元的密度。
在另一实施例中,可以不仅按照图元、顶点和像素,而且按照曲片和控制点来定义对象。通过利用通过较不资源密集的方法生成的定点值的表,计算更高效。通过添加可用于进行计算的额外的频率,可以利用现有技术中不可用的减少硬件组件所必需的计算的最优频率。这以较低的计算成本提供更真实的渲染。
在其他实施例中,可以实现避免现有技术系统的不合需要的效果的渲染方法的应用。使用是先前值的两倍的镶嵌值允许在从一次渲染到下一次渲染时将数据点放置在相同位置。在引入附加细节时,在先前渲染的点之间插入附加点以避免先前渲染的对象的波纹外观并且维护刚性外观。被称为“几何变形(geomorphing)”的本申请的所述实施例通过不要求曲片的每一条边都利用相同的镶嵌因子来增加灵活性。
附图简述
以下参考附图详细描述各实施例,附图中:
图1是适用于实现本发明的各实施例的示例性计算环境的框图;
图2是描绘根据本发明的一个实施例的镶嵌对象的方法的流程图;
图3是描绘用于高效地加载在渲染3D图形时使用的数据点的方法的流程图;
图4A-4F是根据本发明的一实施例的镶嵌方法的示例性屏幕截图;
图5是对于本发明的某些实施例可用的划分方法的示例性屏幕截图;
图6A-6B是根据本发明的一实施例的对曲面进行几何变形的方法的流程图;
图7A-7C是对于本发明的某些实施例可用的内部归约方法的示例性屏幕截图;以及
图8A-8B是供与本发明的某些实施例一起利用的内部缩放因子的示例性屏幕截图。
详细描述
此处用细节来描述本发明的主题以满足法定要求。然而,该描述本身并非旨在限制本专利的范围。相反,发明人设想所要求保护的主题还可结合其他当前或未来技术按照其他方式来具体化,以包括不同的步骤或类似于本文中所描述的步骤的步骤组合。此外,尽管术语“步骤”和/或“框”可在此处用于指示所采用的方法的不同元素,但除非而且仅当明确描述了各个步骤的顺序时,该术语不应被解释为意味着此处公开的各个步骤之中或之间的任何特定顺序。以下附图,特别是示例性屏幕截图,将在可能时使用相同的编号以便示出附图之间的相似性和差异。
本发明的各实施例包括各种方法和其上包含有计算机可用指令的计算机存储介质,这些指令在被执行时更高效地计算和加载用于渲染三维图形的数据点。各实施例使用具有指定数量的控制点的一个或多个曲片来渲染对象。各实施例允许在每一曲片或每一控制点的基础上处理对象,而不是将处理限于图元、顶点或像素的先前可用频率。某些实施例使用奇镶嵌来在未镶嵌和某种镶嵌之间平滑地转换。在某些实施例中,可以使用倒数、乘法生成的、和加法生成的定点值的表来避免逼近困难并降低计算成本。在其他实施例中,镶嵌被限于二次幂划分方法以避免随插入附加细节带来的负面视觉效果。在还有一些其他实施例中,可以重用为曲片计算的点以供后续渲染。
在简要描述了本发明的各实施例的概览后,以下描述适于实现本发明的各实施例的示例性操作环境。
泛而参考附图,并且首先具体参考图1,示出了用于实现本发明的各实施例的示例性操作环境,并将其概括地指定为计算设备100。计算设备100只是合适的计算环境的一个示例,并且不旨在对本发明的使用范围或功能提出任何限制。也不应将计算环境100解释为对所示出的任一模块/模块或其组合有任何依赖性或要求。
各实施例可以在计算机代码或机器可使用指令的一般上下文中描述,机器可使用指令包括由计算机或诸如个人数据助理或其他手持式设备等其他机器执行的诸如程序模块等的计算机可执行指令。一般而言,包括例程、程序、对象、模块、数据结构等的程序模块指的是执行特定任务或实现特定抽象数据类型的代码。各实施例可以在各种系统配置中实施,这些系统配置包括手持式设备、消费电子产品、通用计算机、专用计算设备等等。各实施例也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实施。
继续参考图1,计算设备100包括直接或间接耦合以下设备的总线110:存储器112、一个或多个处理器114、一个或多个呈现模块116、输入/输出(I/O)端口118、I/O模块120、和说明性电源122。总线110可以是一条或多条总线(诸如地址总线、数据总线、或其组合)。尽管为了清楚起见图1的各框用线条示出,但是在实际上,各模块的轮廓并不是那样清楚,并且比喻性地来说,线条更精确地将是灰色的和模糊的。例如,可以将诸如显示设备等的呈现模块认为是I/O模块。而且,处理器具有存储器。发明人关于此点认识到,这是本领域的特性,并且重申,图1的图示只是例示可结合一个或多个实施例来使用的示例性计算设备。诸如“工作站”、“服务器”、“膝上型计算机”、“手持式设备”等分类之间没有区别,它们全部都被认为是在图1的范围之内的并且被称为“计算机”或“计算设备”。
计算设备100通常包括各种计算机可读介质。作为示例而非限制,计算机可读介质可以包括随机存取存储器(RAM);只读存储器(ROM);电可擦除可编程只读存储器(EEPROM);闪存或其它存储器技术;CDROM、数字多功能盘(DVD)或其它光或全息介质;磁带盒、磁带、磁盘存储或其它磁存储设备;载波或可用于对所需信息进行编码并且可由计算设备100访问的任何其它介质。
存储器112包括易失性和/或非易失性存储器形式的计算机存储介质。存储器可以是可移动的、不可移动的或其组合。示例性硬件设备包括固态存储器、硬盘驱动器、光盘驱动器等。计算设备100包括从诸如存储器112或I/O模块120等各种实体读取数据的一个或多个处理器。呈现模块116向用户或其他设备呈现数据指示。示例性呈现模块包括显示设备、扬声器、打印模块、振动模块等等。I/O端口118允许计算设备100逻辑上耦合至包括I/O模块120的其他设备,其中某些设备可以是内置的。说明性模块包括话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪、无线设备等等。
现在转向图2A,一流程图描绘了根据本发明的一实施例的通过镶嵌对象来生成3D图形的方法。在该方法开始时,在步骤200处确定曲片的几何结构。曲片是遵循具有已定义数量的控制点的可配置函数的图元的组合。作为一个示例,可以使用三角形曲片,使用对应于该三角形的顶点的三个控制点。另一示例性曲片是具有四个控制点的四域(quad-domain)曲片。在未镶嵌时,这只是通过背靠背放置两个三角形形成的矩形。这四个控制点是该矩形的四个角并且这两个三角形通过连接一对对角控制点来形成。虽然这两个实现是最直观的,但使用更多控制点和更精细计算的更复杂的构造是可能的。在本发明的一个实施例中,曲片由最多32个控制点来定义并基于用于定义曲片的较高阶函数而变化。然而,这不意味着被解释为限制,因为曲片可以是具有任何指定数量的控制点的任何可定义几何结构。用于进一步定义曲片的可配置函数通常是诸如双二次或双三次函数等较高阶函数,并且可用于为所渲染的曲片创建平滑曲面。可使用贝塞尔曲片或样条来定义这些函数,生成增加的细节,位移曲片的各部分等等。
一旦在步骤200处选择了曲片函数和控制点,就在步骤210处选择被称为镶嵌因子的参数。各个参数和因子将结合本发明的各实施例的其他方面更详细地讨论。然而,各镶嵌因子中的每一个所共有的一个属性是因子调整影响曲片被分成的图元的数量和形状。本发明的各实施例允许选择关于曲片边和内部的镶嵌的因子,以及划分曲片的方式。整个曲片中的数据点的密度也是可选因子之一并影响曲片几何结构。这些因子将在下文中在为说明书清楚起见提供示例性屏幕截图时更详细地讨论。
一旦选择了这些因子,就检查这些因子的两个特性以确定是否将镶嵌曲片以及将如何镶嵌曲片。在步骤220,检查镶嵌因子以查看是否任一个因子大于所选划分方法所必需的最小值。镶嵌因子一转换成每一条边一个图元,因此这是曲片形状本身。可以存在不止一个图元,例如,两个三角形构成四边形曲片。然而,严格来说,这不是镶嵌曲片。因此,如果没有一个镶嵌因子大于一,则可以照原样渲染曲片并且该过程移至步骤240,在那里检查以查看镶嵌因子是否随后被修改。如果镶嵌因子大于一,则根据所选因子来将曲片分成附加图元。同样,如果选择偶分数划分方法,则必须选择最小因子二以镶嵌曲片。如同奇镶嵌一样,整数和二次幂镶嵌需要最小因子一。
如果镶嵌因子大于一,则在步骤230处检查镶嵌因子中的影响图元几何结构的第二特性。如果镶嵌因子和划分方法在230处匹配,则如在步骤232处看到的,用于划分曲片的分段的长度相等。如果否,则用于镶嵌对象的图元将具有不同的比例,如步骤234所示。如上所述,使用统一长度的图形看上去更真实,如同用对称图元渲染的图形那样。同样,划分方法及其新颖的特征在下文中更详细地讨论。
继续图2,在步骤240,确定是否修改镶嵌因子以由此修改曲片。如果作出修改,则步骤250确定是否必须插入新数据点以更改镶嵌,即,是否增大镶嵌因子。如果增大因子,则在步骤252处插入新点,进一步划分边,并且渲染新图元。如果在步骤250处不需要新点,则在步骤254处以其新配置渲染新图元即可。如果使用“保留”值,如零或不是数字的值,则可以移除或一起选出曲片。在所有情况下,一旦修改完成,步骤252或254就返回到步骤240以确定另一次修改是否已经发生。对镶嵌因子的修改可以是迭代过程,由此作出更多修改并且必须完成更多计算来渲染新镶嵌的对象。然而,如果修改完成,则镶嵌在步骤260处结束。
对镶嵌配置和因子的选择现在将更详细地讨论,其对应于图2的步骤210。可以选择的镶嵌配置参数中的一个是将用于曲片的划分方法。可能的划分配置的示例是奇分数、偶分数、二次幂和整数划分。这不意味着限制本发明,而仅仅是说明性的。奇分数划分具有胜于现有技术系统和方法的若干明显的优点,优点之一是镶嵌可根据因子一来发生。使用本发明的所要求保护的各实施例,对象能够从未镶嵌(即,镶嵌因子一)平滑地转换到某种镶嵌,而不突然改变曲片几何结构,或称“爆裂(popping)”。将附加数据点插入在非常接近控制点的位置,以使得从渲染在边附近的新线条中创建新图元。该镶嵌过程因此是连续的。这优于根据因子二来镶嵌的偶镶嵌方法,该偶镶嵌方法以脱节的方式在曲片中心附近创建新线条和图元。如上所述,奇镶嵌在镶嵌因子是奇数时创建统一的段长度。使用该划分方法还创建对称的周围边,这产生更真实的图像。由此,以减少的硬件花费渲染更真实的图像。该奇镶嵌方面提供在对三角形曲片操作时的对硬件的更高效的使用。在这种情况下,对于角的情况无需额外处理,因为曲片本身是三角形的。
其他划分方法可以与奇镶嵌形成对比。偶分数划分在选择偶值时提供相等的分段长度。该镶嵌方法也在以下的屏幕截图中示出。偶镶嵌不允许从未镶嵌到最少镶嵌的平滑转换,但的确具有取决于其他几何结构的优点。整数划分也遵循其命名约定,只用具有离散整数值而非分数值的统一分段来镶嵌对象。在以下提供的示例性屏幕截图中示出的最终方法是二次幂镶嵌。该方法也缺乏生成曲片时的连续性,但提供不同种类的新颖特征。二次幂镶嵌要求用只具有通过二的整数幂(例如,2、4、8、16等)创建的值的统一分段来镶嵌和渲染图形。这对参考图6A-6B描述的一个特定应用是有利的。值得注意的是数据点的位置,这些数据点在相同的位置生成以供后续镶嵌。作为示例,在曲片具有镶嵌因子二的时候生成的所有点也在用于镶嵌因子四的相同位置。因此,简单地添加改进的细节,而不是改变先前存在的数据点的放置。同样,这些示例只是说明特定实施例并且不应限制本发明的各实施例的范围。
可选镶嵌因子的示例是曲片和内部特性的边镶嵌因子。在本发明的某些实施例中,使用具有最多32个控制点的三条边的三角形曲片和四条边的四边形曲片。同样,这旨在说明并且这些镶嵌因子只受到存在于曲片上的边的数量的限制。还可以选择内部归约。内部归约指的是用于对在其边上具有不同镶嵌因子的曲片进行内部镶嵌的方法。存在可能可用的若干种方法,包括最小、最大和平均归约。本发明的各实施例还提供向用户展示各种归约方法以便最大可能地定制曲片的内部外观的能力。对特定归约方法的需求可取决于特定曲片。这将在下文中参考图7A-7C更详细地讨论。可选的密切相关的因子是内部缩放因子。该参数允许选择进行内部镶嵌的密度并且将在下文中参考图8A-8C讨论。
现在转向图3,示出了用于更高效地计算和加载数据点的方法。在步骤300,用可配置函数和所选数量的控制点来定义曲片,如上所述。在步骤310,使用表来计算用于渲染图形的数据点。不同于先前的系统和方法,本发明的一实施例生成减少生成值所必需的处理的定点计算。消除了浮点运算所需的逼近,由此使得运算在技术上较不麻烦。在本发明的某些实施例中,消除在技术上也是较资源密集的除法。通过只使用倒数、乘法和加法,进一步降低硬件需求。
在步骤320,在渲染曲片时使用数据点。这在使用任何其他计算或存储器写操作之前发生,由此提供胜于现有技术的另一改进。使用本发明来生成的数据点可直接用于渲染曲片,而不是执行一组计算、写入存储器,并执行后续运算。同样,这提高了硬件效率,从而允许更快的处理。在步骤330,提供在以上步骤310处导出的一组或多组值以便计算和加载后续数据点集。本发明的各实施例重用计算的各部分以便在整个曲片中生成附加数据点。这是本发明的各实施例的另一效率提高方面。在步骤340,优化可计算和加载后续数据点集的频率。本发明允许渲染对于每一曲片进行,而不是允许只对每一个顶点、图元或像素进行处理。渲染可通过将曲片作为一整体进行操作来以较低频率发生。类似地,因为曲片具有多个控制点,所以计算可以在每一个控制点的基础上发生。同样,这需要比对曲片中的每一个图元、每一个顶点、或每一个像素进行处理少的资源。另外,可将系统生成的值提供给专用硬件组件和/或处理模块以便进一步提高效率。可将唯一整数值分配给控制点标识值(“控制点ID”)或曲片标识值(“曲片ID”)。在镶嵌是活动的时候,可以对已经存在的系统生成的值重新确定目的,诸如展示图元ID以代替当前曲片ID。
所述实施例的另一优点是选择性地确定曲片所需处理的能力。可以优化标识以更高效的频率操作所必需的独立计算所涉及的处理。然而,这并非必需,因为硬件调度可通过以更高的、次最优频率执行来简化。在处理了对象后,不管用于这么做的频率如何,可以生成统计数据集。可以查询该集合并且该集合可包括处理对象所必需的调用的数量和类型。
现在参考图4A,屏幕截图400A描绘了示例性屏幕截图。根据本发明的某些实施例,生成曲片,其如上所述是具有指定数量的控制点的可配置函数。图4A所示的未标号的曲片是由四个控制点,即410A、412A、414A和416A来定界的四边形曲片。存在也未标号的相邻曲片,这些曲片被示为在被示为正在经历镶嵌的曲片的顶部、底部、左侧和右侧。如沿着屏幕截图的右侧部分所示出的,存在可以选择的多个镶嵌程序配置设置。所示的前三个选项是允许在三角形域、四边形域或等值线域中渲染的域设置。在配置设置420A中,选择了四边形域设置。这些配置选项是为了说明而示出的并且不意味着本质上是限制的。
所示配置设置包括用于点拓扑结构、划分、和内归约函数的设置。最终结果可以是形成曲面的一系列三角形、形成等值线的一系列线段、或者一系列独立点。该划分设置确定在镶嵌曲片时分段以什么频率具有统一长度。因此,镶嵌程序配置设置420A中示出的奇分数划分设置允许镶嵌因子是奇数时的统一分段长度。最小、平均和最大内部归约设置确定将如何归约曲片的内部镶嵌。还存在用于选择在内部归约时使用的轴的数量的设置。在该说明性屏幕截图中,选择平均归约。
继续图4A,存在标号为430A的一组镶嵌因子。在示例性屏幕截图的该区域中示出的镶嵌因子是在镶嵌曲片的边时使用的因子。因此,因为示出了四边形曲片,所以存在针对该曲片的顶部、底部、右侧和左侧边示出的四个镶嵌因子。该组镶嵌因子430A中的每一个成员都设有镶嵌值一,这意味着该特定屏幕截图中的曲片并非沿其边来镶嵌并且每一条边只示出一个图元。与该组镶嵌因子430A密切相关的是一组内部镶嵌缩放因子440A。内缩放因子440A确定整个曲片中的镶嵌密度。在该示例中,四边形曲片的缩放因子对于“U”和“V”方向示出,从而允许沿着水平或垂直轴改变密度。同样,这在本质上仅仅是说明性的并且将取决于被选中以供镶嵌的曲片的类型而变化。为内缩放因子440A选择的值不限于该屏幕截图中所示的那些值,但可以根据其他方法而变化。
图4A还示出被描绘为选项450A的一组视图选项。在该说明性示例中,视图选项包含重置视图按钮,以及示出相邻曲片的选项,以便只示出边框或完整图形,并且示出位移图。在示例性屏幕截图400A中,选择相邻曲片选项,这导致与当前镶嵌的曲片的四条边相邻地渲染四个曲片。还选择了只示出相干控制点和数据点之间的线的边框选项。因为由控制点410A、412A、414A和416A定界的曲片在所有边上都具有镶嵌因子一,所以只存在四个点之间的线以及连接点412A和416A的线以形成该曲片的两个图元。在图4A中,未选择位移图选项,但该特征将在下文中更详细地讨论。
现在查看图4B,示出了包括图4A的相同特征中的许多特征的示例性屏幕截图。一组控制点410B、412B、414B和416B为具有与先前定义的曲片相似的大小和位置的曲片定界。然而,如在一组镶嵌程序配置值420B处看到的,偶分数划分现在是所选设置。还改变一组镶嵌因子430B,示出对应于该曲片的四条边中的每一条边的镶嵌因子二。因为配置值420B反映偶分数划分,所以该曲片沿着每一条边被分成两个相等的分段。现在使用八个三角形来划分该曲片,而不是如前一附图所示的二图元渲染。如上所述,该方法将只针对值二和更大的值创建新镶嵌图案,因此从因子一的连续镶嵌不可用。增加的处理也从该镶嵌方法中产生,因为必须用相关联的数据点和分段来渲染八个三角形。屏幕截图400B中还选择了一组内部镶嵌因子440B。在该说明性屏幕截图中,该组内部镶嵌因子也被示为二以便如图所示的那样渲染曲片的内部。
在图4C中,示出了利用沿着曲片的边变化的镶嵌因子的示例性屏幕截图400C。该附图还具有简化的显示画面,因为一组视图选项450C未选择“示出相邻曲片”设置。因此,只示出正在镶嵌的、由控制点410C、412C、414C和416C定界的曲片。一组镶嵌程序配置值420C具有对如先前看到的奇分数划分的选择。因为一组镶嵌因子430C被选为沿着顶边的因子一以及沿着左侧、右侧和底边的非常接近三的因子,所以沿每一条边的划分在长度上是统一的。
图4D、4E和4F也分别描绘了标号为400D、400E和400F的示例性屏幕截图,且各个设置展示了本发明的关于其对二次幂镶嵌的使用的优点。转向图4D,对二次幂镶嵌的说明性描绘在示例性屏幕截图400D中示出。包括示出“二次幂划分”选择的一组镶嵌程序配置值420D。该设置确保镶嵌将只以二次幂值进行,诸如在一组镶嵌因子430D处看到的值二。这可以与图4E进行比较,图4E描绘了具有被设为因子四的一组镶嵌因子430E的类似屏幕截图。在比较时,应当注意,为图4D中的曲片生成的每一个数据点也是为图4E中的曲片生成的。图4F所示的镶嵌也利用二次幂镶嵌,只是一组镶嵌因子430F包括沿每一条边的可变值。然而,所生成的图元由于二次幂划分而是对称的,并且能够在沿着边增大镶嵌因子时容易地“共享”数据点。
现在查看图5,示出几何变形方法的流程图允许在不造成在先前方法中看到的负面视觉效果的情况下提高所渲染的图形的水平。如先前所看到的,该方法开始于步骤500处的定义曲片。在步骤510,如上所述的那样指定镶嵌因子。然而,该划分方法应当是如上所述的二次幂镶嵌。在步骤520,在位移图中生成数据点以模拟在曲片中增加细节。在步骤530,将镶嵌因子增大两倍以增加细节。一旦镶嵌中的增加开始发生,在步骤540处混合附加点。一旦生成,将在相同的位置提供数据点以供镶嵌中的后续增加。唯一添加的数据点是新点,由此消除了造成曲片流动的错觉的数据点的移动。允许增加细节而没有这所谓的“嗤嗤(sizzling)”效果允许真实地渲染和描绘诸如地形等刚性曲面。因此,修改曲片时的细节水平的改变也看上去是自然发生的。本发明的各实施例还消除了以相同的镶嵌因子镶嵌曲片的每一条边的需求,这再次为开发者添加了另一新颖性和灵活性方面。
转向图6A和6B,分别被标号为600A和600B的示例性屏幕截图展示了使用内部镶嵌来消除边彼此依靠以获得其镶嵌水平的需求。如屏幕截图600A中所看到的,生成造成“边框”和内部的感觉的内部曲片。这准许以如在该附图中看到的因子二来镶嵌顶部边,同时以因子一来镶嵌其余边。在不具有创建该内部-边划分的能力的情况下,开发者将无法渲染具有变化的细节水平的相邻曲片。因为内部是单独镶嵌的,所以相邻曲片能够采取任何细节水平并且可以相应地镶嵌边且在相邻曲片之间没有中断。从图6A移至图6B,增大沿顶部边的镶嵌因子,以便只改变内部的大小。因为使用相同的归约方法(在这种情况下是平均值),所以只有大小改变而几何结构不变。对归约方法作出的改变将在以下其他附图中看到。
现在参考图7A-7C,示出了描绘本发明的关于内部归约的优点的示例性屏幕截图。内部归约指的是根据现有的边因子来设置内部镶嵌值的方法。示例性屏幕截图700A示出了如早先看到的四边形域曲片的最小内部归约。这通过使用一组镶嵌程序配置选项720A来选择。如沿着该屏幕截图的底部所示,一组镶嵌因子值730A被设为具有分别沿着顶部、右侧、底部和左侧的近似15、一、八和四的值。因为在选项720A中选择了最小内部归约设置,所以内部镶嵌因子是这四个值中的最小值,即一。因此,内部只具有两个图元,即四边形域中所需的三角形的最小量。这可以与示例性屏幕截图700B中的曲片进行比较,屏幕截图700B示出了包括最大内部归约选项的一组镶嵌程序配置选项720B。因为一组镶嵌程序因子730B与集合720B相同,所以内部归约值近似为15。因此,“边框”只是曲片的一小部分并且内部被镶嵌得稳健得多。查看示例性屏幕截图700C,在一组镶嵌程序配置选项720C中对平均内部归约的选择同样改变曲片几何结构。在这种情况下,值一、四、八和15产生具有其平均值一近似七一的内部镶嵌值,并且相应地镶嵌内部。先前的系统和方法以刚性方式镶嵌曲片的内部。这在基于所需效果来创建真实对象时允许更大的灵活性。可以渲染要求较大程度的内部镶嵌的曲片,但不需要该细节的曲片无需被不必要地镶嵌。同样,这可通过消除不必要的计算和渲染来产生更高效的渲染。
转向图8A-8B,示出了展示使如上所述的内部缩放因子变化的效果的示例性屏幕截图。在屏幕截图800A中,示出了沿其边具有镶嵌因子6.87、2.99和2.99的三角形曲片。在最大内部归约的内部归约选择的情况下,在内部以值6.87镶嵌该曲片。一组缩放因子840A具有设置一。这创建近似地平均分布在该曲片的整个内部中的多个图元。转向屏幕截图800B,一组缩放因子840B已被改为示出缩放印子0.485。所示缩放因子的改变显著地改变内部的几何结构,从而减小内部镶嵌的大小并且增大较接近边的图元的大小。这准许开发者如何生成曲片的灵活性以增加最终用户可获得的真实性。
参考各具体实施例描述了本发明,各具体实施例在所有方面都旨在是说明性的而非限制性的。在不背离本发明范围的情况下各替换实施例对本发明所属领域的普通技术人员将变得显而易见。
从前述内容可知,本发明很好地适用于实现前述的所有目的和目标,并且具有对于该系统和方式是显而易见且固有的其他优点。可以理解,特定的特征和子组合是有用的,并且可以在不参考其他特征和子组合的情况下使用。这由权利要求书所构想并在其范围之内。
Claims (16)
1.一种镶嵌对象以渲染三维(3D)图形的方法,其中所述对象利用由图元构成的一个或多个曲片来镶嵌,每一个曲片都具有边和内部,所述方法包括:
(200)定义所述一个或多个曲片,其中每一个曲片都由可配置函数和多个控制点来定义;
(210)为每一曲片选择用于镶嵌的一个或多个镶嵌因子,其中所述一个或多个镶嵌因子是与边的镶嵌或与内部的镶嵌相关联的值,以调整影响曲片被分成的图元的数量和形状;以及
(232)当对应于边的镶嵌因子的值是奇数时将所述边分成均分分段。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
由于未引起添加新数据点的对镶嵌因子值的修改而导致连续地移动一个或多个数据点的位置;以及
由于引起添加新数据点的对镶嵌因子值的修改而导致与先前生成的数据点的移动相结合地插入一个或多个新数据点。
3.如权利要求2所述的方法,其特征在于,导致曲片的镶嵌的镶嵌因子的最小值是一。
4.如权利要求3所述的方法,其特征在于,还包括移除利用该曲片的镶嵌因子的保留值的曲片。
5.如权利要求4所述的方法,其特征在于,曲片的第一条边的镶嵌因子不依赖于所述曲片的任何其他边的镶嵌因子。
6.如权利要求5所述的方法,其特征在于,第一曲片的边的镶嵌因子与第二曲片的相邻边的镶嵌因子相同。
7.如权利要求6所述的方法,其特征在于,曲片的内部的镶嵌因子是基于所述曲片的每一条边的镶嵌因子来设定的。
8.如权利要求7所述的方法,其特征在于,所述值是对应的边中的平均镶嵌因子。
9.如权利要求7所述的方法,其特征在于,所述值是以下之一:对应的边中的最低镶嵌因子、对应的边中的最高镶嵌因子、以及对应的边缘中的平均镶嵌因子。
10.如权利要求4所述的方法,其特征在于,所述多个数据点的密度在整个曲片中是统一的,且与图元几何结构无关。
11.如权利要求10所述的方法,其特征在于,数据点的密度的缩放是自动生成的。
12.如权利要求4所述的方法,其特征在于,所述多个数据点在整个曲片中的密度可选自以下的至少一个:对总数据点密度的选择、对沿水平轴的数据点密度的选择、以及对沿垂直轴的数据点密度的选择。
13.一种镶嵌对象以渲染三维(3D)图形的计算设备,其中所述对象利用由图元构成的一个或多个曲片来镶嵌,每一个曲片都具有边和内部,所述计算设备包括:
用于定义所述一个或多个曲片的装置,其中每一个曲片都由可配置函数和多个控制点来定义;
用于为每一曲片选择用于镶嵌的一个或多个镶嵌因子的装置,其中所述一个或多个镶嵌因子是与边的镶嵌或与内部的镶嵌相关联的值,以调整影响曲片被分成的图元的数量和形状;以及
用于当对应于边的镶嵌因子的值是奇数时将所述边分成均分分段的装置。
14.如权利要求13所述的计算设备,其特征在于,所述计算设备还包括:
用于由于未引起添加新数据点的对镶嵌因子值的修改而导致连续地移动一个或多个数据点的位置的装置;以及
用于由于引起添加新数据点的对镶嵌因子值的修改而导致与先前生成的数据点的移动相结合地插入一个或多个新数据点的装置。
15.如权利要求14所述的计算设备,其特征在于,导致曲片的镶嵌的镶嵌因子的最小值是一。
16.如权利要求15所述的计算设备,其特征在于,还包括用于移除利用该曲片的镶嵌因子的保留值的曲片的装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/024,754 | 2008-02-01 | ||
US12/024,754 US7928979B2 (en) | 2008-02-01 | 2008-02-01 | Efficient geometric tessellation and displacement |
PCT/US2009/030533 WO2009099703A2 (en) | 2008-02-01 | 2009-01-09 | Efficient geometric tessellation and displacement |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101933049A CN101933049A (zh) | 2010-12-29 |
CN101933049B true CN101933049B (zh) | 2013-01-23 |
Family
ID=40952616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009801039970A Active CN101933049B (zh) | 2008-02-01 | 2009-01-09 | 高效的几何镶嵌和位移 |
Country Status (4)
Country | Link |
---|---|
US (4) | US7928979B2 (zh) |
EP (1) | EP2235686A4 (zh) |
CN (1) | CN101933049B (zh) |
WO (1) | WO2009099703A2 (zh) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8269770B1 (en) * | 2008-02-29 | 2012-09-18 | Adobe Systems Incorporated | Tessellation of trimmed parametric surfaces by walking the surface |
US8169437B1 (en) * | 2008-07-09 | 2012-05-01 | Nvidia Corporation | Distributed tessellation topology generator |
US8599202B1 (en) * | 2008-09-29 | 2013-12-03 | Nvidia Corporation | Computing tessellation coordinates using dedicated hardware |
US8482560B2 (en) * | 2008-12-31 | 2013-07-09 | Intel Corporation | Image forming techniques |
US20100164954A1 (en) * | 2008-12-31 | 2010-07-01 | Sathe Rahul P | Tessellator Whose Tessellation Time Grows Linearly with the Amount of Tessellation |
EP2555166B1 (en) * | 2011-08-01 | 2019-10-16 | Harman Becker Automotive Systems GmbH | Space error parameter for 3D buildings and terrain |
US9449419B2 (en) * | 2012-03-30 | 2016-09-20 | Intel Corporation | Post tessellation edge cache |
US9384589B2 (en) * | 2013-04-29 | 2016-07-05 | Microsoft Technology Licensing, Llc | Anti-aliasing for geometries |
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 | 삼성전자 주식회사 | 점별로 테셀레이션 팩터를 할당하는 방법과 상기 방법을 수행할 수 있는 장치들 |
KR102072656B1 (ko) | 2013-07-16 | 2020-02-03 | 삼성전자 주식회사 | 캐시를 포함하는 테셀레이션 장치, 그의 동작 방법, 및 상기 장치를 포함하는 시스템 |
US9639982B2 (en) | 2013-10-18 | 2017-05-02 | Goodle Inc. | On-demand transformation aware shape tessellation |
KR102066533B1 (ko) | 2013-11-19 | 2020-01-16 | 삼성전자 주식회사 | 도메인 쉐이딩 방법과 이를 수행하는 장치들 |
AU2013267004A1 (en) * | 2013-12-04 | 2015-06-18 | Canon Kabushiki Kaisha | Method, apparatus and system for tessellating a parametric patch |
KR101555426B1 (ko) * | 2014-02-07 | 2015-09-25 | 고려대학교 산학협력단 | 지형 렌더링 방법 및 장치 |
US10204530B1 (en) | 2014-07-11 | 2019-02-12 | Shape Matrix Geometric Instruments, LLC | Shape-matrix geometric instrument |
KR102276910B1 (ko) | 2015-01-06 | 2021-07-13 | 삼성전자주식회사 | 테셀레이션 장치 및 방법 |
GB2533444B (en) | 2015-06-05 | 2017-08-16 | Imagination Tech Ltd | Tessellation method |
GB2533443B (en) | 2015-06-05 | 2018-06-06 | Imagination Tech Ltd | Tessellation method using recursive sub-division of triangles |
GB2539042B (en) | 2015-06-05 | 2019-08-21 | Imagination Tech Ltd | Tessellation method using displacement factors |
US10068372B2 (en) | 2015-12-30 | 2018-09-04 | Advanced Micro Devices, Inc. | Method and apparatus for performing high throughput tessellation |
US10242496B2 (en) | 2017-04-24 | 2019-03-26 | Intel Corporation | Adaptive sub-patches system, apparatus and method |
US10783230B2 (en) * | 2018-05-09 | 2020-09-22 | Shape Matrix Geometric Instruments, LLC | Methods and apparatus for encoding passwords or other information |
US11379577B2 (en) | 2019-09-26 | 2022-07-05 | Microsoft Technology Licensing, Llc | Uniform resource locator security analysis using malice patterns |
US11509667B2 (en) | 2019-10-19 | 2022-11-22 | Microsoft Technology Licensing, Llc | Predictive internet resource reputation assessment |
US11282288B2 (en) | 2019-11-20 | 2022-03-22 | Shape Matrix Geometric Instruments, LLC | Methods and apparatus for encoding data in notched shapes |
US11682142B2 (en) | 2019-12-20 | 2023-06-20 | Raytheon Company | Information weighted rendering of 3D point set |
US11431751B2 (en) | 2020-03-31 | 2022-08-30 | Microsoft Technology Licensing, Llc | Live forensic browsing of URLs |
CN116543093B (zh) * | 2023-07-04 | 2024-04-02 | 腾讯科技(深圳)有限公司 | 柔体对象渲染方法、装置、计算机设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6600488B1 (en) * | 2000-09-05 | 2003-07-29 | Nvidia Corporation | Tessellation system, method and computer program product with interior and surrounding meshes |
US7250946B1 (en) * | 2003-04-08 | 2007-07-31 | Nvidia Corporation | Shared N-patch edges |
CN101067868A (zh) * | 2007-05-25 | 2007-11-07 | 同济大学 | 基于自适应平坦度将无序点云转换为三角网格的系统及方法 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5428718A (en) | 1993-01-22 | 1995-06-27 | Taligent, Inc. | Tessellation system |
US5995109A (en) * | 1997-04-08 | 1999-11-30 | Lsi Logic Corporation | Method for rendering high order rational surface patches |
WO2000013146A1 (en) | 1998-08-31 | 2000-03-09 | The Johns Hopkins University | System and method for interactively displaying a model having a complex surface |
US7245299B2 (en) * | 2003-05-12 | 2007-07-17 | Adrian Sfarti | Bicubic surface real-time tesselation unit |
US6784894B2 (en) * | 2000-08-24 | 2004-08-31 | Sun Microsystems, Inc. | Mapping time-sorted to direction-sorted triangle vertices |
US6597356B1 (en) * | 2000-08-31 | 2003-07-22 | Nvidia Corporation | Integrated tessellator in a graphics processing unit |
US7280108B2 (en) | 2000-12-11 | 2007-10-09 | Adrian Sfarti | Bicubic surface rendering |
US6664960B2 (en) * | 2001-05-10 | 2003-12-16 | Ati Technologies Inc. | Apparatus for processing non-planar video graphics primitives and associated method of operation |
US6940503B2 (en) | 2001-05-10 | 2005-09-06 | Ati International Srl | Method and apparatus for processing non-planar video graphics primitives |
US7133044B2 (en) * | 2001-05-15 | 2006-11-07 | Autodesk, Inc. | System of feature-based surface mapping |
US6768486B1 (en) | 2001-05-18 | 2004-07-27 | Autodesk, Inc. | Modifying subobjects of geometry objects based on per-subobject objects |
US7081893B2 (en) | 2001-10-10 | 2006-07-25 | Sony Computer Entertainment America Inc. | System and method for point pushing to render polygons in environments with changing levels of detail |
US7068273B2 (en) * | 2002-01-28 | 2006-06-27 | Konami Corporation | Recording medium which stores 3D image processing program, 3D image processor, 3D image processing method, and video game machine |
US20040217956A1 (en) | 2002-02-28 | 2004-11-04 | Paul Besl | Method and system for processing, compressing, streaming, and interactive rendering of 3D color image data |
US7173622B1 (en) | 2002-04-04 | 2007-02-06 | Figment 3D Enterprises Inc. | Apparatus and method for generating 3D images |
GB2388507B (en) * | 2002-05-10 | 2005-11-09 | Imagination Tech Ltd | An interface and method of interfacing between a parametric modelling unit and a polygon based rendering system. |
US6940505B1 (en) | 2002-05-20 | 2005-09-06 | Matrox Electronic Systems Ltd. | Dynamic tessellation of a base mesh |
US6954204B2 (en) * | 2002-07-18 | 2005-10-11 | Nvidia Corporation | Programmable graphics system and method using flexible, high-precision data formats |
US6970165B2 (en) * | 2002-12-19 | 2005-11-29 | Ford Motor Company | Method and system for optimizing a finite element mesh |
US7002574B2 (en) | 2002-12-27 | 2006-02-21 | Microsoft Corporation | Method and system for tessellating a polygon |
US7148890B2 (en) | 2003-04-02 | 2006-12-12 | Sun Microsystems, Inc. | Displacement mapping by using two passes through the same rasterizer |
US7295204B2 (en) | 2004-12-14 | 2007-11-13 | Adrian Sfarti | Rapid zippering for real time tesselation of bicubic surfaces |
JP4255449B2 (ja) | 2005-03-01 | 2009-04-15 | 株式会社ソニー・コンピュータエンタテインメント | 描画処理装置、テクスチャ処理装置、およびテセレーション方法 |
CN101331524A (zh) | 2005-12-16 | 2008-12-24 | 皇家飞利浦电子股份有限公司 | 形状模型的表面棋盘形分割 |
US20070247458A1 (en) | 2006-04-11 | 2007-10-25 | Samsung Electronics Co., Ltd. | Adaptive computation of subdivision surfaces |
-
2008
- 2008-02-01 US US12/024,754 patent/US7928979B2/en active Active
-
2009
- 2009-01-09 EP EP09708054.3A patent/EP2235686A4/en not_active Ceased
- 2009-01-09 CN CN2009801039970A patent/CN101933049B/zh active Active
- 2009-01-09 WO PCT/US2009/030533 patent/WO2009099703A2/en active Application Filing
-
2011
- 2011-03-03 US US13/039,884 patent/US8698803B2/en not_active Expired - Fee Related
-
2014
- 2014-04-14 US US14/252,456 patent/US9547936B2/en active Active
-
2016
- 2016-12-28 US US15/392,982 patent/US10269176B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6600488B1 (en) * | 2000-09-05 | 2003-07-29 | Nvidia Corporation | Tessellation system, method and computer program product with interior and surrounding meshes |
US7250946B1 (en) * | 2003-04-08 | 2007-07-31 | Nvidia Corporation | Shared N-patch edges |
CN101067868A (zh) * | 2007-05-25 | 2007-11-07 | 同济大学 | 基于自适应平坦度将无序点云转换为三角网格的系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2235686A4 (en) | 2017-05-24 |
WO2009099703A2 (en) | 2009-08-13 |
CN101933049A (zh) | 2010-12-29 |
US10269176B2 (en) | 2019-04-23 |
US20170109927A1 (en) | 2017-04-20 |
EP2235686A2 (en) | 2010-10-06 |
US8698803B2 (en) | 2014-04-15 |
WO2009099703A3 (en) | 2009-10-08 |
US20110148877A1 (en) | 2011-06-23 |
US20140225891A1 (en) | 2014-08-14 |
US9547936B2 (en) | 2017-01-17 |
US20090237400A1 (en) | 2009-09-24 |
US7928979B2 (en) | 2011-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101933049B (zh) | 高效的几何镶嵌和位移 | |
Zhang et al. | Learning to reconstruct shapes from unseen classes | |
CN106683199B (zh) | 3d图形渲染方法和设备 | |
US11263811B2 (en) | Tessellation method using vertex tessellation factors | |
US10885703B2 (en) | Point cloud preprocessing and rendering | |
US8098258B2 (en) | Methods and apparatus for multiple texture map storage and filtering | |
US8953872B2 (en) | Method for editing terrain data created by procedural terrain method | |
EP1899854A2 (en) | Triangulating procedural geometric objects | |
WO2007090100A2 (en) | Constraint-based ordering for temporal coherence of stroke-based animation | |
CN108122277A (zh) | 一种建模方法及装置 | |
US20200020150A1 (en) | Gutter space padding for texture atlases | |
Guthe et al. | Fast and memory efficient view-dependent trimmed NURBS rendering | |
Fang et al. | 3D shape recovery of complex objects from multiple silhouette images | |
CN114155327A (zh) | 一种智能多分辨率特征优化的三维重建方法及系统 | |
Hall | Nonphotorealistic Rendering by Q‐mapping | |
Phothong et al. | Quality improvement of 3D models reconstructed from silhouettes of multiple images | |
Phothong et al. | Generation and quality improvement of 3D models from silhouettes of 2D images | |
Cho et al. | Constructing scalable 3d animated model by deformation sensitive simplification | |
Lu et al. | An Adaptive Deformation Method Based on Hierarchical Progressive Meshes |
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 | ||
ASS | Succession or assignment of patent right |
Owner name: MICROSOFT TECHNOLOGY LICENSING LLC Free format text: FORMER OWNER: MICROSOFT CORP. Effective date: 20150422 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20150422 Address after: Washington State Patentee after: Micro soft technique license Co., Ltd Address before: Washington State Patentee before: Microsoft Corp. |