CN103164867A - 三维图形数据处理方法和装置 - Google Patents

三维图形数据处理方法和装置 Download PDF

Info

Publication number
CN103164867A
CN103164867A CN2011104261153A CN201110426115A CN103164867A CN 103164867 A CN103164867 A CN 103164867A CN 2011104261153 A CN2011104261153 A CN 2011104261153A CN 201110426115 A CN201110426115 A CN 201110426115A CN 103164867 A CN103164867 A CN 103164867A
Authority
CN
China
Prior art keywords
batch
graphic data
triangular facet
batches
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.)
Pending
Application number
CN2011104261153A
Other languages
English (en)
Inventor
江国昌
叶思义
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.)
KINJAU Ltd
Original Assignee
KINJAU Ltd
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 KINJAU Ltd filed Critical KINJAU Ltd
Priority to CN2011104261153A priority Critical patent/CN103164867A/zh
Publication of CN103164867A publication Critical patent/CN103164867A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Generation (AREA)

Abstract

本发明提供了三维图形数据处理方法和装置。一种三维图形数据处理方法,包括:获得包括多个批次的三维图形数据集,其中每个批次包括一个或多个三角面的顶点数据;通过添加退化三角面将所述多个批次合并成一个或多个组合批次来形成优化三维图形数据集;以及输出所述优化三维图形数据集,供图形处理器以每次一整个组合批次的方式取用来绘制三维图形。

Description

三维图形数据处理方法和装置
技术领域
本发明涉及三维图形数据方法和装置。
背景技术
实时三维(3D)应用的成像过程,经常有将充满各种动态的对象渲染到屏幕的过程。目前变形动画(deformable animation)的技术大多使用蒙皮与骨骼动画(skin-bone animation)的技术来实现。
3D渲染的过程一般由图形处理器(Graphics Processing Unit,GPU)的着色器(Shader)来实现。其中,使用三维顶点着色器(VertexShader)来计算骨骼与蒙皮的动画。
要使用GPU制作骨骼动画,就需要在顶点着色器中计算骨骼对3D对象的每个顶点坐标的影响程度。对于每个3D顶点坐标,都需要记录它会受到哪几根特定的骨骼影响,以及每根骨骼对于该顶点的影响权重(weight)。
图1A和1B示出了蒙皮与骨骼动画技术的示意图。图1B中的粗黑线表示用来驱动3D模型动画的骨骼。
目前各种3D对象的动画数据的产生通常是靠3D美术人员在3D模型与动画编辑软件中先编辑好动画数据,然后输出成业界标准格式的数据文件。这些文件的格式以完整保存编辑信息与易于交换为首要目标。模型中的顶点数据与骨骼数据的记录方式则与美术人员编辑的过程相关,而没有针对GPU的效能进行优化。
因此,需要一种三维图形数据装置和方法,用于处理3D图形数据,以得到使得GPU能够迅速高效地取用来绘制3D图形的优化3D图形数据。
发明内容
根据本发明,提出了一种可用于各种三维图形处理器(GPU)的三维图形数据处理装置和方法。该三维图形数据处理装置和方法可应用于一般的三维图形数据,特别是带有骨骼动画的可变形数据,从通用格式的文件或是从只读存储器(ROM)中加载后,在存储器中依据三维顶点数据与受影响骨骼的关系,对原始三维图形数据的结构进行重整以获得优化的三维图形数据,以达到在各种GPU上最好的三维图型渲染效能。
与一般针对静态对象的顶点进行排序以达到最佳缓存使用率的方案相比较,本发明的方案更着重于GPU的着色器取用变形动画数据的最佳缓存使用率。虽然经本发明的三维图形数据处理装置和方法获得的优化三维图形数据集中数据的安排方式对于静态对象的效果,与针对顶点排序的方案几乎一样,但对于各种带骨骼动画的对象,则有15~30%的效能增加。从而,根据本发明,通过对三维图形数据集进行优化处理,可以得到使GPU在计算每个顶点坐标时能够迅速高效地取用到需要的骨骼信息来计算各个骨骼对于顶点坐标产生的影响的优化3D图形数据。
根据本发明的一个方面,提供了一种三维图形数据处理方法,包括:获得包括多个批次的三维图形数据集,其中每个批次包括一个或多个三角面的顶点数据;通过添加退化三角面将所述多个批次合并成一个或多个组合批次来形成优化三维图形数据集;以及输出所述优化三维图形数据集,供图形处理器以每次一整个组合批次的方式取用来绘制三维图形。
根据本发明的另一方面,提供了一种三维图形数据处理装置,包括:图形数据获得单元,其获得包括多个批次的三维图形数据集,其中每个批次包括一个或多个三角面的顶点数据;图形数据优化单元,其通过添加退化三角面将所述多个批次合并成一个或多个组合批次来形成优化三维图形数据集;以及图形数据输出单元,其输出所述优化三维图形数据集,供图形处理器以每次一整个组合批次的方式取用来绘制三维图形。
根据本发明的另一方面,提供了一种移动终端,包括如上所述的三维图形数据处理装置。
根据本发明的另一方面,提供了一种便携式电子设备,包括如上所述的三维图形数据处理装置。
附图说明
通过联系附图阅读以下详细描述可以更好地理解本发明的以上和其他特征和优点,附图中相同或相似的标号用于标示相同或相似的元素,其中:
图1A和1B示出了蒙皮与骨骼动画技术的示意图。
图2示出了根据本发明一个实施例的三维图形数据处理装置的功能框图。
图3示出了三角面条带的示例。
图4示出了批次合并的一个示例。
图5示出了根据本发明一个实施例的三维图形数据处理方法的流程图。
具体实施方式
下面参考附图来描述本发明的实施例。
图2示出了根据本发明一个实施例的三维图形数据处理装置1的功能框图。如图2所示,三维图形数据处理装置1包括图形数据获得单元101、图形数据优化单元102和图形数据输出单元103。
图形数据获得单元101获得包括多个批次(Batch)的三维图形数据集,其中每个批次包括一个或多个三角面的顶点数据。这里的顶点数据例如可包括三角面的顶点的位置坐标等等。根据一个实施例,每个批次包括构成三角面条带(Triangle Strip)的一个或多个相邻三角面的顶点数据。
具体而言,首先,图形数据获得单元101从例如通用格式的文件或从只读存储器(ROM)获取原始三维图形数据集。该原始三维图形数据集包括构成多个三角面的多个顶点的顶点数据,其中每个顶点受若干根骨骼的影响。
然后,作为一个可选的步骤,图形数据获得单元101检查每个顶点受到影响的骨骼的数目是否超过预定的上限。对于影响其的骨骼数目超过上限(例如4根骨骼)的顶点,可以只考虑上限数目的影响最大的骨骼(例如只考虑4根影响最大的骨骼),而忽略其他骨骼的影响。或者,也可以将原始的3D模型拆分成两个模型,等等。
接下来,图形数据获得单元101将共用骨骼的三角面的顶点的顶点数据分成各个批次,从而形成所述包括多个批次的三维图形数据集。换言之,所获得的三维图形数据集中的每个批次中包括的顶点数据是受到相同的骨骼影响的三角面的顶点的顶点数据。更具体而言,根据一个实施例,所获得的三维图形数据集中的每个批次中包括的顶点数据是受到相同的骨骼影响并且相互邻接以构成三角面条带的一个或多个三角面的顶点的顶点数据。
以下将对批次进行更详细描述。注意,在本说明书中,为了描述方便,“某个批次包括某个三角面的顶点数据”也可简称为“某个批次包括某个三角面”。类似地,“某个批次包括某个三角面条带的三角面的顶点数据”也可简称为“某个批次包括某个三角面条带”。
图形处理器(GPU)可以接受OpenGL或是DirectX等绘图程序接口的要求绘制3D三角面。现代的GPU通常可以一次绘制多个三角面。多个相互邻接的3D三角面可以使用三角面条带来表示。
图3所示的三角面条带描述了4个接邻的3D三角面,分别用1、2、3、4来表示。而记录这样的三角面条带只需要记录诸如A、B、C、D、E、F这样的3D顶点索引数据即可。也就是说,三角面条带可由其中包含的三角面的各个顶点的顶点数据来描述。
在本发明中,批次可以包括如下的三角面条带:该三角带条带中包括的三角面的顶点受到相同骨骼的影响。例如,某个批次涉及的所有顶点都受相同的4根骨骼的影响。
GPU可以一次处理整个批次。当一个批次中包含较多的3D三角面时,处理的效率会比多个批次、每个批次只有很少的3D三角面的情况(也就是很多个细碎的批次的情况)更好。
因此,根据本发明,对于图形数据获得单元101获得的包括多个批次的三维图形数据集,将进行进一步优化。
图形数据获得单元101将其获得的包括多个批次的三维图形数据集提供给图形数据优化单元102。
图形数据优化单元102通过将从图形数据获得单元101提供来的三维图形数据集中包括的多个批次合并成一个或多个组合批次来形成优化的三维图形数据集。根据本发明的一个实施例,合并是通过添加退化三角面(degenerate triangle)或者说共点三角面(co-vertice triangle)来实现的。
具体而言,在合并过程中,对于所述多个批次中的例如第一批次和第二批次,如果两者满足例如下文所述的合并条件,则通过添加连接第一批次中包括的某一三角面和第二批次中包括的某一三角面的退化三角面(的顶点数据)来将第一批次和第二批次合并成一组合批次。其中,退化三角面或者共点三角面是这样的三角面,其三个顶点中的两个顶点位于相同的位置。
上述过程对于从图形数据获得单元101提供来的三维图形数据集中包括的多个批次中的每个批次重复,即对于每个批次,检查其是否可与其他一个或多个批次合并成一个更大的组合批次,如果是,则通过如上所述添加退化三角面来将该批次与这其他一个或多个批次之一相连接,从而将这个批次和这其他一个或多个批次合并成一个组合批次。
关于合并条件,根据本发明的一个实施例,被合并成组合批次的批次包括与相同的纹理贴图(texture map)相关联的三角面的顶点数据。换言之,被合并成组合批次的批次包括将被应用相同的纹理贴图的三角面的顶点数据。
根据本发明的另一实施例,被合并成组合批次的批次包括将使用相同的着色器(Shader)的三角面的顶点数据。
根据本发明的另一实施例,被合并成组合批次的批次包括被应用相同的纹理贴图而且使用相同的着色器(Shader)的三角面的顶点数据。
也就是说,本发明的组合批次可以包括如下的三角面条带:该三角带条带中包括的三角面将被应用相同的纹理贴图和/或将使用相同的着色器。
参考图4来具体说明合并的一个示例。如图所示,假设图形数据获得单元101所获得的三维图形数据集中的多个批次中包括批次1和批次2。批次1中包括构成一三角面条带的若干个三角面的顶点数据,其中一个三角面是三角面T1。同样,批次2中包括构成一三角面条带的若干个三角面的顶点数据,其中一个三角面是三角面T2。另外,假设批次1和批次2中包括的三角面将被应用相同的纹理贴图和/或使用相同的着色器,从而可以被合并到一个更大的组合批次中。于是,根据本发明的一个实施例,通过添加一连接批次1中的三角面T1和批次2中的三角面T2的退化三角面DT来将批次1的三角面条带与批次2的三角面条带连接成一更大的三角面条带,也就是将批次1和批次2连接成一更大的批次。该退化三角面DT由图4中的粗黑箭头指示。如图所示,该退化三角面DT具有三个顶点V1、V2和V3,但其中顶点V1和V2是重叠的,亦即两者具有相同的位置坐标。因此,退化三角面DT也可被称为共点三角面。
通过上述方式,图形数据优化单元102把图形数据获得单元101所获得的三维图形数据集中包括的较为零散细碎、包括较少顶点数据的批次合并成较大的、包括较多顶点数据的组合批次,从而形成包括这样的组合批次的优化三维图形数据集。
接下来,图形数据优化单元102将优化的三维图形数据集提供给图形数据输出单元103。
然后,图形数据输出单元103将提供自图形数据优化单元102的优化三维图形数据集输出,以供图形处理器(GPU)(具体而言可以是GPU的着色器)以每次一整个组合批次的方式取用来绘制三维图形。
图5示出了根据本发明一个实施例的三维图形数据处理方法的流程图。
该方法开始于步骤S1。在步骤S1中,获得包括多个批次的三维图形数据集,其中每个批次包括一个或多个三角面的顶点数据。
步骤S1可包括子步骤S101、S102和S103。
在子步骤S101中,获取原始三维图形数据集,其中包括构成多个三角面的多个顶点的顶点数据,每个顶点受一个或多个骨骼的影响。
在可选的子步骤S102中,检查每个顶点受到其影响的骨骼的数目是否超过预定的上限。如上所述,对于受影响的骨骼数目超过上限的顶点,可以只考虑上限数目的影响最大的骨骼,而忽略其他骨骼的影响。或者,也可以将原始的3D模型拆分成两个模型,等等。
在子步骤S103中,将共用骨骼的三角面的顶点的顶点数据分成个别的批次,从而形成包括多个批次的三维图形数据集。
然后,在步骤S2中,通过添加退化三角面将多个批次合并成一个或多个组合批次来形成优化三维图形数据集。具体而言,该步骤可包括通过添加连接所述多个批次中的第一批次中包括的第一三角面和所述多个批次中的第二批次中包括的第二三角面的退化三角面的顶点数据来将第一批次和第二批次合并到一组合批次中。
接下来,在步骤S3中,输出优化三维图形数据集,供图形处理器以每次一整个组合批次的方式取用来绘制三维图形。
然后,该方法结束。
本发明的三维图形数据处理装置和方法可应用到各种包括图形处理器(GPU)的电子设备,尤其是例如GPU处理能力受限的设备,例如各种移动终端或者便携式电子设备。例如,本发明的三维图形数据处理装置和方法可应用到包括但不限于以下设备:移动电话、智能电话、便携式游戏机、平板电脑、笔记本电脑、个人电脑、数字电视等等。
本发明的元素可以实现为硬件、软件、固件或者它们的组合。当以软件方式实现时,本发明的元素是用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何有形介质。
以上出于说明而非限制目的已经描述了本发明的一些具体实施例。然而,本发明并不限于所描述的实施例。本领域的技术人员将会明白,可以对本发明进行多种修改、组合和替换,并且本发明包含落在所附权利要求书的范围内的这种修改、组合和替换。

Claims (16)

1.一种三维图形数据处理方法,包括:
获得包括多个批次的三维图形数据集,其中每个批次包括一个或多个三角面的顶点数据;
通过添加退化三角面将所述多个批次合并成一个或多个组合批次来形成优化三维图形数据集;以及
输出所述优化三维图形数据集,供图形处理器以每次一整个组合批次的方式取用来绘制三维图形。
2.根据权利要求1所述的三维图形数据处理方法,其中,将所述多个批次合并成一个或多个组合批次包括通过添加连接所述多个批次中的第一批次中包括的第一三角面和所述多个批次中的第二批次中包括的第二三角面的退化三角面的顶点数据来将所述第一批次和所述第二批次合并到一组合批次中。
3.根据权利要求2所述的三维图形数据处理方法,其中所述退化三角面所包括的三个顶点中的两个顶点位于相同的位置。
4.根据权利要求1所述的三维图形数据处理方法,其中被合并成组合批次的批次包括与相同的纹理贴图相关联的三角面的顶点数据。
5.根据权利要求1所述的三维图形数据处理方法,其中被合并成组合批次的批次包括使用相同的着色器的三角面的顶点数据。
6.根据权利要求1所述的三维图形数据处理方法,其中获得包括多个批次的三维图形数据集的步骤包括:
获取原始三维图形数据集,所述原始三维图形数据集包括构成多个三角面的多个顶点的顶点数据,每个顶点受一个或多个骨骼的影响;以及
将共用骨骼的三角面的顶点的顶点数据分成批次,从而形成所述包括多个批次的三维图形数据集。
7.根据权利要求6所述的三维图形数据处理方法,其中获取原始三维图形数据集的步骤包括从通用格式的文件或从只读存储器获取所述原始三维图形数据集。
8.一种三维图形数据处理装置,包括:
图形数据获得单元,其获得包括多个批次的三维图形数据集,其中每个批次包括一个或多个三角面的顶点数据;
图形数据优化单元,其通过添加退化三角面将所述多个批次合并成一个或多个组合批次来形成优化三维图形数据集;以及
图形数据输出单元,其输出所述优化三维图形数据集,供图形处理器以每次一整个组合批次的方式取用来绘制三维图形。
9.根据权利要求8所述的三维图形数据处理装置,其中,所述图形数据优化单元通过添加连接所述多个批次中的第一批次中包括的第一三角面和所述多个批次中的第二批次中包括的第二三角面的退化三角面的顶点数据来将所述第一批次和所述第二批次合并到一组合批次中。
10.根据权利要求9所述的三维图形数据处理装置,其中所述退化三角面所包括的三个顶点中的两个顶点位于相同的位置。
11.根据权利要求8所述的三维图形数据处理装置,其中被合并成组合批次的批次包括与相同的纹理贴图相关联的三角面的顶点数据。
12.根据权利要求8所述的三维图形数据处理装置,其中被合并成组合批次的批次包括使用相同的着色器的三角面的顶点数据。
13.根据权利要求8所述的三维图形数据处理装置,其中所述图形数据获得单元获取原始三维图形数据集,所述原始三维图形数据集包括构成多个三角面的多个顶点的顶点数据,每个顶点受一个或多个骨骼的影响;并且所述图像数据获得单元将共用骨骼的三角面的顶点的顶点数据分成批次,从而形成所述包括多个批次的三维图形数据集。
14.根据权利要求13所述的三维图形数据处理装置,其中所述图形数据获得单元从通用格式的文件或从只读存储器获取所述原始三维图形数据集。
15.一种移动终端,包括如权利要求8所述的三维图形数据处理装置。
16.一种便携式电子设备,包括如权利要求8所述的三维图形数据处理装置。
CN2011104261153A 2011-12-09 2011-12-09 三维图形数据处理方法和装置 Pending CN103164867A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011104261153A CN103164867A (zh) 2011-12-09 2011-12-09 三维图形数据处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011104261153A CN103164867A (zh) 2011-12-09 2011-12-09 三维图形数据处理方法和装置

Publications (1)

Publication Number Publication Date
CN103164867A true CN103164867A (zh) 2013-06-19

Family

ID=48587922

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011104261153A Pending CN103164867A (zh) 2011-12-09 2011-12-09 三维图形数据处理方法和装置

Country Status (1)

Country Link
CN (1) CN103164867A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106846499A (zh) * 2017-02-09 2017-06-13 腾讯科技(深圳)有限公司 一种虚拟模型的生成方法及装置
CN108241462A (zh) * 2016-12-26 2018-07-03 卡西欧计算机株式会社 图形描绘装置及其控制方法以及记录介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1555030A (zh) * 2003-12-22 2004-12-15 李浩宇 人体骨骼未知体三维交互模型的建立方法及其应用
CN1849608A (zh) * 2003-07-16 2006-10-18 独立行政法人理化学研究所 由边界表示数据生成体数据的方法及其程序
US20070171219A1 (en) * 2006-01-20 2007-07-26 Smedia Technology Corporation System and method of early rejection after transformation in a GPU
CN101458825A (zh) * 2009-01-04 2009-06-17 腾讯科技(深圳)有限公司 显卡中实现3d骨骼动画模型的碰撞检测方法及显卡、系统
CN101573730A (zh) * 2006-06-30 2009-11-04 微软公司 非等比纹理合成

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1849608A (zh) * 2003-07-16 2006-10-18 独立行政法人理化学研究所 由边界表示数据生成体数据的方法及其程序
CN1555030A (zh) * 2003-12-22 2004-12-15 李浩宇 人体骨骼未知体三维交互模型的建立方法及其应用
US20070171219A1 (en) * 2006-01-20 2007-07-26 Smedia Technology Corporation System and method of early rejection after transformation in a GPU
CN101573730A (zh) * 2006-06-30 2009-11-04 微软公司 非等比纹理合成
CN101458825A (zh) * 2009-01-04 2009-06-17 腾讯科技(深圳)有限公司 显卡中实现3d骨骼动画模型的碰撞检测方法及显卡、系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
盛业华 等: "一种基于边收缩的3维表面模型数据压缩算法", 《中国图象图形学报》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108241462A (zh) * 2016-12-26 2018-07-03 卡西欧计算机株式会社 图形描绘装置及其控制方法以及记录介质
CN106846499A (zh) * 2017-02-09 2017-06-13 腾讯科技(深圳)有限公司 一种虚拟模型的生成方法及装置
CN106846499B (zh) * 2017-02-09 2020-04-03 腾讯科技(深圳)有限公司 一种虚拟模型的生成方法及装置

Similar Documents

Publication Publication Date Title
CN108010112B (zh) 动画处理方法、装置及存储介质
US9165399B2 (en) System, method, and computer program product for inputting modified coverage data into a pixel shader
US10762700B2 (en) Generating random sampling distributions using stochastic rasterization
US9251731B2 (en) Multi-sampling anti-aliasing compression by use of unreachable bit combinations
US20210225075A1 (en) Mesh optimization for computer graphics
US9218679B2 (en) Reduced bitcount polygon rasterization
CN113379886B (zh) 地理信息系统的三维渲染方法、装置、设备及存储介质
US20150015575A1 (en) Techniques for spatially sorting graphics information
CN103164867A (zh) 三维图形数据处理方法和装置
CN113610958A (zh) 一种基于风格迁移的3d图像构建方法、装置及终端
CN111127590B (zh) 一种二阶贝塞尔曲线绘制方法及装置
CN106415668B (zh) 用于减少的像素着色的技术
US20230377265A1 (en) Systems for Efficiently Rendering Vector Objects
Paredes et al. Extended hybrid meshing algorithm for multiresolution terrain models
Chen et al. Texture adaptation for progressive meshes
US9390463B2 (en) Techniques for reducing memory bandwidth for display composition
CN115861510A (zh) 对象渲染方法、装置、电子设备、存储介质及程序产品
JP5798357B2 (ja) 画像処理装置、画像処理方法
CN113835890A (zh) 一种渲染数据处理方法、装置、设备和存储介质
CN111383314A (zh) 一种验证着色器函数的方法、装置及计算机存储介质
US20140192051A1 (en) Offloading Tessellation from a Graphics Processor to a Central Processing Unit
KR101607853B1 (ko) 몽타주 기법을 이용한 3차원 무동력 선박 설계 도면 제공 시스템
US7593011B2 (en) Light map compression
US20230154075A1 (en) Vector Object Generation from Raster Objects using Semantic Vectorization
Amor et al. A new architecture for efficient hybrid representation of terrains

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20130619