CN108711182A - 渲染处理方法、装置及移动终端设备 - Google Patents
渲染处理方法、装置及移动终端设备 Download PDFInfo
- Publication number
- CN108711182A CN108711182A CN201810413872.9A CN201810413872A CN108711182A CN 108711182 A CN108711182 A CN 108711182A CN 201810413872 A CN201810413872 A CN 201810413872A CN 108711182 A CN108711182 A CN 108711182A
- Authority
- CN
- China
- Prior art keywords
- bone
- vertex
- animation data
- pixel
- transformation matrix
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 21
- 210000000988 bone and bone Anatomy 0.000 claims abstract description 328
- 239000011159 matrix material Substances 0.000 claims abstract description 138
- 230000009466 transformation Effects 0.000 claims abstract description 127
- 238000009877 rendering Methods 0.000 claims abstract description 51
- 238000000034 method Methods 0.000 claims description 43
- 238000012545 processing Methods 0.000 claims description 30
- 238000006243 chemical reaction Methods 0.000 claims description 23
- 230000008569 process Effects 0.000 claims description 23
- 238000005070 sampling Methods 0.000 claims description 23
- 230000033001 locomotion Effects 0.000 claims description 17
- 230000008859 change Effects 0.000 claims description 9
- 230000003362 replicative effect Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 description 35
- 238000010586 diagram Methods 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 3
- 210000002805 bone matrix Anatomy 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 240000007594 Oryza sativa Species 0.000 description 1
- 235000007164 Oryza sativa Nutrition 0.000 description 1
- 235000005865 Symphytum officinale Nutrition 0.000 description 1
- 240000002299 Symphytum officinale Species 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 235000009566 rice Nutrition 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Classifications
-
- 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
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
本发明公开一种渲染处理方法、装置及移动终端设备。该渲染处理方法,包括:通过图形处理器GPU的顶点着色器,从纹理获取由中央处理器CPU预先离线采样的骨骼动画数据;将所述获取的骨骼动画数据中的像素点解码成变换矩阵来进行顶点变换操作;根据所述完成顶点变换操作后的骨骼动画数据,进行GPU实例化渲染。本发明提供的方案,能使得在移动终端设备上实现流畅的大规模人群实时渲染。
Description
技术领域
本发明涉及移动互联网技术领域,具体涉及一种渲染处理方法、装置及移动终端设备。
背景技术
在游戏设计和虚拟现实模拟中,一般都存在大规模人群的渲染问题。在移动终端设备,受制于硬件计算能力限制,当人物增多时,骨骼动画的计算开销也会随之增长。所谓骨骼动画,又称为关节动画,这种动画生成方法分别定义了骨架和皮肤,骨架由一系列骨骼按照特定的拓扑关系联结而成,而包裹这些骨骼的“皮肤”则是一个顶点网,每个顶点的位置受到一个或多个骨骼运动的影响而变化。在骨骼动画中,模型具有互相连接的“骨骼”组成的骨架结构,通过改变骨骼的朝向和位置来为模型生成动画。在骨骼的控制下,通过顶点混合动态计算蒙皮网格的顶点。
现有传统的人群渲染处理方法中,是由CPU(Central Processing Unit,中央处理器)单独实时计算每个人物的骨骼动画和蒙皮信息,再将计算结果传给GPU(GraphicProcessing Unit,图形处理器)进行后续的处理。然而CPU还要负责逻辑等其他计算,难以实时处理巨大的动画及顶点位置的计算。随着人物数量的增加,骨骼动画计算的开销和Draw Call(指一次绘制图形接口的调用)的数量也随之线性增加,最终导致在性能相对较低的移动终端设备上,CPU不堪重负,难以处理大规模的人群实时渲染。另外还有一些方案,虽然可以利用GPU来完成骨骼动画的处理,但对于动画的信息大都是实时计算,可适用于计算机设备,却并不适合计算能力较弱的移动终端设备。
因此,现有的渲染处理方法,在移动终端设备上进行大规模人群的实时渲染还存在缺陷。
发明内容
为解决上述技术问题,本发明提供一种渲染处理方法、装置及移动终端设备,能使得在移动终端设备上实现流畅的大规模人群实时渲染。
根据本发明的一个方面,提供一种渲染处理方法,包括:
通过图形处理器GPU的顶点着色器,从纹理获取由中央处理器CPU预先离线采样的骨骼动画数据;
将所述获取的骨骼动画数据中的像素点解码成变换矩阵来进行顶点变换操作;
根据所述完成顶点变换操作后的骨骼动画数据,进行GPU实例化渲染。
优选的,所述预先离线采样的骨骼动画数据,由所述CPU按以下方式进行离线采样:
通过遍历骨骼模型的所有骨骼的节点,建立骨骼层次结构;
依次采样所有动画,得到所有骨骼的变换矩阵;
将所述所有骨骼的变换矩阵写入创建的纹理中;
复制所述骨骼模型,通过遍历所有顶点,将影响顶点的骨骼索引及骨骼权重写入纹理坐标。
优选的,所述通过遍历骨骼模型的所有骨骼的节点,建立骨骼层次结构,包括:
读取骨骼模型,从根节点开始遍历所有骨骼,建立骨骼之间的父子层级关系,其中每个子骨骼持有父骨骼的骨骼索引。
优选的,所述依次采样所有动画,得到所有骨骼的变换矩阵,包括:
读取所有动画文件,按设定帧率采样动画,得到每帧的骨骼变换数据;
通过遍历所有骨骼,按照骨骼变换矩阵公式,得到所有骨骼的4x4变换矩阵。
优选的,所述将所述所有骨骼的变换矩阵写入创建的纹理中,包括:
创建设定大小的浮点纹理;
将所述骨骼的变换矩阵的行向量,转换为设定数量的像素点,依次写入所述浮点纹理。
优选的,所述将所述获取的骨骼动画数据中的像素点解码成变换矩阵来进行顶点变换操作,包括:
根据所述骨骼动画数据中影响顶点的骨骼索引,查找到动画图片中对应的像素点;
将设定数量的像素点组成一个4x4的变换矩阵;
根据所述变换矩阵及所述骨骼动画数据中影响顶点的骨骼权重,确定最终顶点位置,其中所有骨骼权重之和为1。
优选的,所述根据所述骨骼动画数据中影响顶点的骨骼索引,查找到动画图片中对应的像素点,包括:
根据所述骨骼动画数据中当前播放的动画索引、帧数索引及影响顶点的骨骼索引,查找到所述纹理中的像素索引作为变换矩阵的起点;
根据所述骨骼索引查找到动画图片中对应的设定数量的像素点。
优选的,所述根据所述变换矩阵及所述骨骼动画数据中影响顶点的骨骼权重,确定最终顶点位置,包括:
将所述4x4的变换矩阵与所述骨骼动画数据中影响顶点的骨骼权重进行矩阵乘法运算,确定最终顶点位置。
根据本发明的另一个方面,提供一种渲染处理装置,包括:
数据获取模块,用于通过图形处理器GPU的顶点着色器,从纹理获取由中央处理器CPU预先离线采样的骨骼动画数据;
变换处理模块,用于将所述数据获取模块获取的骨骼动画数据中的像素点解码成变换矩阵来进行顶点变换操作;
渲染处理模块,用于根据所述变换处理模块完成顶点变换操作后的骨骼动画数据,进行GPU实例化渲染。
优选的,所述变换处理模块包括:
像素点子模块,用于根据所述骨骼动画数据中影响顶点的骨骼索引,查找到动画图片中对应的像素点;
矩阵子模块,用于将所述像素点子模块查找到的设定数量的像素点组成一个4x4的变换矩阵;
变换子模块,用于根据所述矩阵子模块组成的变换矩阵及所述骨骼动画数据中影响顶点的骨骼权重,确定最终顶点位置,其中所有骨骼权重之和为1。
根据本发明的另一个方面,提供一种移动终端设备,包括:
中央处理器CPU,用于预先离线采样骨骼动画数据;
图形处理器GPU,用于通过顶点着色器,从纹理获取由所述CPU预先离线采样的骨骼动画数据,将所述获取的骨骼动画数据中的像素点解码成变换矩阵来进行顶点变换操作,根据所述完成顶点变换操作后的骨骼动画数据,进行GPU实例化渲染。
优选的,所述中央处理器CPU包括:
层次结构模块,用于通过遍历骨骼模型的所有骨骼的节点,建立骨骼层次结构;
采样模块,用于依次采样所有动画,得到所有骨骼的变换矩阵;
矩阵写入模块,用于将所述采样子模块得到的所有骨骼的变换矩阵写入创建的纹理中;
参数写入模块,用于复制所述骨骼模型,通过遍历所有顶点,将影响顶点的骨骼索引及骨骼权重写入纹理坐标。
优选的,所述图形处理器GPU,包括:
数据获取模块,用于通过顶点着色器,从纹理获取由所述中央处理器CPU预先离线采样的骨骼动画数据;
变换处理模块,用于将所述数据获取模块获取的骨骼动画数据中的像素点解码成变换矩阵来进行顶点变换操作;
渲染处理模块,用于根据所述变换处理模块完成顶点变换操作后的骨骼动画数据,进行GPU实例化渲染;
其中,所述变换处理模块包括:
像素点子模块,用于根据所述骨骼动画数据中影响顶点的骨骼索引,查找到动画图片中对应的像素点;
矩阵子模块,用于将所述像素点子模块查找到的设定数量的像素点组成一个4x4的变换矩阵;
变换子模块,用于根据所述矩阵子模块组成的变换矩阵及所述骨骼动画数据中影响顶点的骨骼权重,确定最终顶点位置,其中所有骨骼权重之和为1。
可以发现,本发明实施例的技术方案,是由中央处理器CPU预先离线采样骨骼动画数据,再通过图形处理器GPU的顶点着色器,从纹理获取由CPU预先离线采样的骨骼动画数据,将所述获取的骨骼动画数据中的像素点解码成变换矩阵来进行顶点变换操作,根据所述完成顶点变换操作后的骨骼动画数据,进行GPU实例化渲染。因为本发明实施例方案中,骨骼动画的信息采用CPU离线采样的方式存储在图片的纹理中,运行时可以直接从图片的纹理中读取骨骼动画数据,对于人物的骨骼动画没有实时的计算开销,大大降低了CPU的负载,可以解放CPU去做其他的逻辑运算;再配合GPU实例化技术,可以把大规模的人群合并到少量Draw Call中渲染,大大提高了渲染效率,而且即使随着数量规模的增加对终端性能的影响也不明显,因此,本发明实施例方案在移动终端设备就可以非常高效的实时渲染大规模的人群。
进一步的,本发明实施例的CPU可以按以下方式进行离线采样:通过遍历骨骼模型的所有骨骼的节点,建立骨骼层次结构;依次采样所有动画,得到所有骨骼的变换矩阵;将所述所有骨骼的变换矩阵写入创建的纹理中;复制所述骨骼模型,通过遍历所有顶点,将影响顶点的骨骼索引及骨骼权重写入纹理坐标。
进一步的,本发明实施例中将所述获取的骨骼动画数据中的像素点解码成变换矩阵来进行顶点变换操作,可以包括:根据所述骨骼动画数据中影响顶点的骨骼索引,查找到动画图片中对应的像素点;将设定数量的像素点组成一个4x4的变换矩阵;根据所述变换矩阵及所述骨骼动画数据中影响顶点的骨骼权重,确定最终顶点位置。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1是根据本发明的一个实施例的一种渲染处理方法的示意性流程图;
图2是根据本发明的一个实施例的一种渲染处理方法中CPU离线采样骨骼动画数据的一示意性流程图;
图3是根据本发明的一个实施例的一种渲染处理方法中GPU进行顶点变换及渲染处理的一示意性流程图;
图4是根据本发明的一个实施例的一种渲染处理方法中的骨骼动画纹理示意图;
图5是根据本发明的一个实施例的一种渲染处理装置的示意性方框图;
图6是根据本发明的一个实施例的一种渲染处理装置的另一示意性方框图;
图7是根据本发明的一个实施例的一种移动终端设备的示意性方框图;
图8是根据本发明的一个实施例的一种移动终端设备的另一示意性方框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本发明提供一种渲染处理方法,能使得在移动终端设备上实现流畅的大规模人群实时渲染。
以下结合附图详细描述本发明实施例的技术方案。
图1是根据本发明的一个实施例的一种渲染处理方法的示意性流程图。
该方法可以应用于渲染处理装置中,该渲染处理装置可以位于移动终端设备。
参照图1,所述方法包括:
在步骤101中,通过图形处理器GPU的顶点着色器,从纹理获取由中央处理器CPU预先离线采样的骨骼动画数据。
其中,CPU也可以按以下方式进行离线采样:
通过遍历骨骼模型的所有骨骼的节点,建立骨骼层次结构;
依次采样所有动画,得到所有骨骼的变换矩阵;
将所述所有骨骼的变换矩阵写入创建的纹理中;
复制所述骨骼模型,通过遍历所有顶点,将影响顶点的骨骼索引及骨骼权重写入纹理坐标。
在步骤102中,将所述获取的骨骼动画数据中的像素点解码成变换矩阵来进行顶点变换操作。
其中,该步骤也可以包括:
根据所述骨骼动画数据中影响顶点的骨骼索引,查找到动画图片中对应的像素点;
将设定数量的像素点组成一个4x4的变换矩阵;
根据所述变换矩阵及所述骨骼动画数据中影响顶点的骨骼权重,确定最终顶点位置,其中所有骨骼权重之和为1。
在步骤103中,根据所述完成顶点变换操作后的骨骼动画数据,进行GPU实例化渲染。
可以发现,本发明实施例的技术方案,是由中央处理器CPU预先离线采样骨骼动画数据,再通过图形处理器GPU的顶点着色器,从纹理获取由CPU预先离线采样的骨骼动画数据,将所述获取的骨骼动画数据中的像素点解码成变换矩阵来进行顶点变换操作,根据所述完成顶点变换操作后的骨骼动画数据,进行GPU实例化渲染。因为本发明实施例方案中,骨骼动画的信息采用CPU离线采样的方式存储在图片的纹理中,运行时可以直接从图片的纹理中读取骨骼动画数据,对于人物的骨骼动画没有实时的计算开销,大大降低了CPU的负载,可以解放CPU去做其他的逻辑运算;再配合GPU实例化技术,可以把大规模的人群合并到少量Draw Call中渲染,大大提高了渲染效率,而且即使随着数量规模的增加对终端性能的影响也不明显,因此,本发明实施例方案在移动终端设备就可以非常高效的实时渲染大规模的人群。
图2是根据本发明的一个实施例的一种渲染处理方法中CPU离线采样骨骼动画数据的一示意性流程图。
本发明实施例技术方案,是一种高效的对数量不敏感的大规模人群的渲染方法,可以解决移动终端设备上大规模人群的实时渲染问题。传统渲染方法是由移动终端设备的CPU单独实时计算每个人物的骨骼动画和蒙皮信息,随着人物数量的增加,骨骼动画计算的开销和Draw Call的数量也随之线性增加,最终导致CPU不堪重负,难以处理大规模的人群实时渲染。本发明实施例技术方案,由CPU将骨骼动画计算部分以离线的方式预先采样计算好,并将结果保存在纹理中,这样后续运行时只需要从纹理读取骨骼动画数据,不需要实时计算,也就是对于人物的骨骼动画就没有实时的计算开销,从而大大降低了CPU的负载,可以解放CPU去做其他的逻辑运算。
图2所示流程主要在CPU侧执行。
参照图2,所述方法包括:
在步骤201中,在CPU导入骨骼模型以及动画文件。
在步骤202中,通过遍历骨骼模型的所有骨骼的节点,建立骨骼层次结构。
该步骤中,从骨骼模型的根节点开始,深度遍历骨骼模型的所有骨骼节点,建立骨骼层次结构。具体的,从骨骼模型的根节点开始,深度优先遍历所有子骨骼,建立骨骼之间的父子关系,每个子骨骼中都持有父骨骼的骨骼索引。
在步骤203中,依次采样所有动画,得到所有骨骼的变换矩阵。
该步骤,可以包括:
1)读取所有动画文件,按设定帧率采样动画,得到每帧的骨骼变换数据。
在每个动画中,按设定的帧率例如30帧采样动画作为关键帧,在每一个关键帧中,遍历所有骨骼,得到每帧的骨骼变换数据。其中设定的帧率可以根据实际需要进行设置,本发明不加以限定。
2)通过遍历所有骨骼,按照骨骼变换矩阵公式,得到所有骨骼的4x4变换矩阵。
遍历所有骨骼,根据公式(1)即骨骼变换矩阵公式,得到所有骨骼的4x4变换矩阵。公式(1)如下所示:
Mb=Mroot-trs*...*Mb-parent-parent-trs*Mb-parent-trs*Mb-trs*Mb-bindpose
其中,M表示骨骼的变换矩阵MatrixTRS,每个骨骼的变换矩阵MatrixTRS是位移、旋转、缩放的级联矩阵。b(即bone)表示骨骼,bindpose表示bindpose矩阵,bindpose矩阵的作用是把骨骼模型的顶点从模型空间变换到骨骼空间。
骨骼模型的顶点是在建模软件中基于模型空间建模,然而每个骨骼都是基于骨骼空间进行变换的,因此需要乘以bindpose矩阵将模型顶点变换到骨骼空间。每个骨骼的变换矩阵都是相对于父骨骼的,要得到该骨骼在骨骼空间中的变换矩阵,需要递归级联所有父骨骼的变换矩阵直至根骨骼,如公式(1)中所示,Mroot-trs是根骨骼的矩阵,Mb-bindpose是最底层第一个子骨骼的矩阵,Mb-trs是Mb-bindpose的父骨骼的矩阵,Mb-parent-trs是Mb-trs的父骨骼的矩阵,其他以此类推。
在步骤204中,判断是否采样完,如果未采样完,返回步骤203继续采样,如果采样完,进入步骤205。
在步骤205中,将采样得到的骨骼变换矩阵存入动画图片的纹理中。
该步骤,可以包括:
1)创建设定大小的浮点纹理。
该步骤可以创建足够大小的浮点纹理,例如是256x128大小的16位浮点纹理。普通的纹理,通道内的值一般是[0,255]来表示颜色,本发明浮点纹理通道内的值就是浮点数,能表示更大精度。
其中纹理像素总和Pixels的数量计算参见公式(2)。公式(2)如下所示:
Pixels=ClipCount*FrameCount*BoneCount*3
其中,Pixels是纹理像素总和,ClipCount表示动画的个数,FrameCount表示动画中关键帧的个数,BoneCount表示模型中骨骼的总数。其中FrameCount随着动画长度和采样帧率的改变而改变,FrameCount等于动画的长度(秒)乘以采样帧率。
2)将所述骨骼的变换矩阵的行向量,转换为设定数量的像素点,依次写入所述浮点纹理。
该步骤可以将采样到的骨骼的变换矩阵的矩阵数组,按顺序逐个写入到浮点纹理中。每个矩阵可以是一个4x4的矩阵,因为矩阵的最后一行始终是(0,0,0,1),本发明为了节约纹理大小,可以约定将矩阵的前几个例如前三个行向量分别转换为若干个例如3个像素点写入浮点纹理,直到写完所有矩阵。
其中纹理的结构见图4,图4是根据本发明的一个实施例的一种渲染处理方法中的骨骼动画纹理示意图。如图4所示的骨骼动画纹理,包括关键帧0、关键帧1、关键帧2…关键帧n,其中关键帧0中包括骨骼0、骨骼1、骨骼2…骨骼n,而骨骼0中包括像素0、像素1、像素2。
在步骤206中,复制骨骼模型,遍历所有顶点,将影响顶点的骨骼索引和骨骼权重写入纹理坐标。
该步骤重新复制一个相同的骨骼模型,拥有相同的顶点、三角形网格、法线以及纹理坐标信息。遍历所有顶点,将影响每个顶点的骨骼索引以及骨骼权重,写入模型数据中作为第二组纹理坐标信息。
可以发现,通过上述步骤,实现CPU预先离线采样骨骼动画数据,并存入纹理中,这样后续运行时可以直接从图片的纹理中读取骨骼动画数据,对于人物的骨骼动画没有实时的计算开销,大大降低了CPU的负载,可以解放CPU去做其他的逻辑运算。
图3是根据本发明的一个实施例的一种渲染处理方法中GPU进行顶点变换及渲染处理的一示意性流程图。
图3所示流程主要在GPU侧执行。
参照图3,所述方法包括:
在步骤301中,GPU获取由CPU传送的新生成的骨骼模型和包含骨骼动画数据的纹理。
当CPU将新生成的骨骼模型和包含骨骼动画数据的纹理载入内存后,可以传送给GPU,则GPU可以保存在自身的显存中,后续GPU可以直接读取骨骼模型和包含骨骼动画数据的纹理。
在步骤302中,通过GPU的顶点着色器Shader,从纹理中获取由CPU预先离线采样的骨骼动画数据。
GPU接收了由CPU传送的骨骼模型和包含骨骼动画数据的纹理后,可以通过顶点着色器Shader,从纹理中获取由CPU预先离线采样的骨骼动画数据。
其中,Shader是一段运行在图形处理器GPU上的程序。顶点着色器负责模型顶点的变换,像素着色器负责计算最终的颜色。
因为顶点着色器主要负责顶点的变换,因此在顶点着色器从纹理中获取由CPU预先离线采样的骨骼动画数据。
在步骤303中,在顶点着色器中,将获取的骨骼动画数据中的像素点解码成变换矩阵来进行顶点变换操作。
该步骤将骨骼动画数据中的像素点解码成变换矩阵,对顶点做变换。
该步骤可以包括:
1)根据所述骨骼动画数据中影响顶点的骨骼索引,查找到动画图片中对应的像素点。
其中可以根据所述骨骼动画数据中当前播放的动画索引、帧数索引及影响顶点的骨骼索引,查找到所述纹理中的像素索引作为变换矩阵的起点;再根据所述骨骼索引查找到动画图片中对应的设定数量的像素点。
运行时,根据当前骨骼模型正在播放的动画索引ClipStartIndex,第几帧的帧数索引FrameIndex,以及影响当前顶点的是哪几根骨骼的骨骼索引BoneIndex来找到纹理中像素的像素索引PixelIndex,见如下公式(3):
PixelIndex=ClipStartIndex+FrameIndex*BoneCount*3+BoneIndex*3
2)将设定数量的像素点组成一个4x4的变换矩阵
在Shader中,将生成的将骨骼动画数据中的像素点解码成变换矩阵进行顶点变换操作,例如解码成4x4的变换矩阵来进行顶点变换操作。
得到像素索引后,从它开始的3个像素点,加上(0,0,0,1)组合成一个4x4的变换矩阵。
3)根据所述变换矩阵及所述骨骼动画数据中影响顶点的骨骼权重,确定最终顶点位置,其中所有骨骼权重之和为1。
该步骤可以将所述4x4的变换矩阵与所述骨骼动画数据中影响顶点的骨骼权重进行矩阵乘法运算,确定最终顶点位置。
因为可能不止一根骨骼影响这个顶点,该步骤计算所有骨骼的加权和,将变换矩阵与骨骼权重进行矩阵乘法运算,见如下公式(4)所示:
其中,vertex是顶点位置,matrix是骨骼的变换矩阵,weight是骨骼权重,mul()是矩阵乘法操作。
在步骤304中,对动画人物进行GPU实例化渲染。
该步骤根据完成顶点变换操作后的骨骼动画数据,对动画人物进行GPU实例化渲染。
该步骤利用GPU实例化技术,可以在每个人物拥有独立参数的情况下,用很少的Draw Call数量渲染大规模的人群。
GPU实例化技术(GPU Instancing),可以将相同模型的多个拷贝一次渲染出来,并允许每个拷贝可以有不一样的参数(比如位置,颜色等)。这项技术能大大降低Draw Call的数量,从而提升渲染效率。
以下进一步根据上述方法流程,介绍本发明实施例的一个具体应用例。
本具体应用例以基于Unity3D游戏引擎为例,平台为可以安卓或IOS(由苹果公司开发的移动操作系统)移动平台等,实现语言可以为C#和CG语言等,例如在CPU端可以是C#或C++语言,在GPU端可以是CG或GLSL语言等。
本具体应用例中,将一个带任意数量骨骼动画的骨骼模型,导入到Unity3D引擎中,由CPU进行离线骨骼动画数据采样。本具体应用例中,以骨骼模型的三角形面数为994,骨骼数量为21个,有9个动画为例说明。理论上骨骼模型的面数、骨骼数量、动画个数可以是任意数量,但是数量越多,计算的开销,动画数据纹理的大小也会随之增大,因此数量越少,就意味着能渲染更大规模的人群。
首先,读取骨骼模型,从骨骼模型的根节点开始深度遍历所有子骨骼,建立骨骼之间的父子层级关系,每个子骨骼都持有父骨骼的骨骼索引。
然后,读取所有动画文件,按设定的帧率(例如帧率为30帧)采样动画,得到每一帧的骨骼变换数据。遍历所有骨骼,按上述公式(1)也即骨骼变换矩阵公式运算,得到骨骼最终的4x4变换矩阵。再新建一张足够大小的浮点纹理,例如是256x128大小的16位浮点纹理。将每个矩阵的前三个行向量分别转换为3个像素点,依次写入纹理中,直到写完所有矩阵。
再次,复制一个相同的骨骼模型,拥有相同的顶点、三角形网格、法线以及纹理坐标信息。遍历所有顶点,将影响该顶点的骨骼索引以及骨骼权重写入骨骼模型的第二套纹理坐标中。
接着,新建Shader文件,在GPU的顶点着色器中,根据当前播放的动画以、帧数索引及影响顶点的骨骼索引,找到纹理中相对应的像素索引也即像素坐标,该坐标为所有骨骼在这一帧的矩阵数据的起点。因为每个顶点上都保存着影响它的骨骼索引以及骨骼权重,因此可以根据骨骼索引找到动画图片上对应的3个像素点,将像素点解码成变换矩阵进行顶点变换操作,也即转换成变换矩阵作用于该顶点。将变换矩阵与影响顶点的骨骼权重再进行矩阵乘法运算,确定最终顶点位置。如果有多个骨骼时,可以算出每个骨骼的值并求和。
最后,在骨骼模型的材质球上开启GPU实例化功能,可以将多个人物放在一个DrawCall中渲染,使得Draw Call数量大大减少。本具体应用例中,在移动终端设备例如手机小米5上渲染1000个人物,使用本发明实施例的技术方案,只有2个Draw Call,可以实时跑60帧,而使用传统的方法,需有1000个Draw Call,只能跑17帧。
综上所述,虽然近几年智能移动终端设备发展很迅速,但受限于硬件制作工艺、芯片体积、发热量等因素,移动芯片的处理能力远不如桌面计算机。大规模人群实时渲染问题一直是游戏和虚拟现实中的一个难点,在桌面计算机上,依靠着芯片强大的计算能力,可以实时的计算并渲染大规模人群。但是在移动终端平台上,计算能力远不及计算机,用传统的方式无法实现大规模人群的渲染。而本发明实施例提出的方案,由CPU将骨骼动画的数据信息预先采样好,保存进纹理中,这样运行时CPU就不需要再进行实时的骨骼变换运算,只需要从纹理中读取骨骼动画数据,交由GPU去处理每个顶点的变换操作,这样大大降低了CPU的负担,可以让CPU去处理其他逻辑运算。而GPU具有高并行的特点,非常擅长处理矩阵及浮点运算。因此上述处理方法,既解放了CPU,又能充分发挥GPU的能力,再配合GPU实例化的操作,使得在移动终端平台上,可以流畅的实时渲染大规模人群。
上述详细介绍了本发明的一种渲染处理方法,以下介绍本发明对应的渲染处理装置及设备。
图5是根据本发明的一个实施例的一种渲染处理装置的示意性方框图。该渲染处理装置可以位于移动终端设备。
参照图5,一种渲染处理装置50,包括:数据获取模块51、变换处理模块52、渲染处理模块53。
数据获取模块51,用于通过图形处理器GPU的顶点着色器,从纹理获取由中央处理器CPU预先离线采样的骨骼动画数据。
其中,CPU可以按以下方式进行离线采样:通过遍历骨骼模型的所有骨骼的节点,建立骨骼层次结构;依次采样所有动画,得到所有骨骼的变换矩阵;将所述所有骨骼的变换矩阵写入创建的纹理中;复制所述骨骼模型,通过遍历所有顶点,将影响顶点的骨骼索引及骨骼权重写入纹理坐标。
变换处理模块52,用于将所述数据获取模块获取的骨骼动画数据中的像素点解码成变换矩阵来进行顶点变换操作。
变换处理模块52可以根据所述骨骼动画数据中影响顶点的骨骼索引,查找到动画图片中对应的像素点;将设定数量的像素点组成一个4x4的变换矩阵;根据所述变换矩阵及所述骨骼动画数据中影响顶点的骨骼权重,确定最终顶点位置,其中所有骨骼权重之和为1。
渲染处理模块53,用于根据所述变换处理模块完成顶点变换操作后的骨骼动画数据,进行GPU实例化渲染。
可以发现,本发明实施例的技术方案,是由中央处理器CPU预先离线采样骨骼动画数据,再通过图形处理器GPU的顶点着色器,从纹理获取由CPU预先离线采样的骨骼动画数据,将所述获取的骨骼动画数据中的像素点解码成变换矩阵来进行顶点变换操作,根据所述完成顶点变换操作后的骨骼动画数据,进行GPU实例化渲染。因为本发明实施例方案中,骨骼动画的信息采用CPU离线采样的方式存储在图片的纹理中,运行时可以直接从图片的纹理中读取骨骼动画数据,对于人物的骨骼动画没有实时的计算开销,大大降低了CPU的负载,可以解放CPU去做其他的逻辑运算;再配合GPU实例化技术,可以把大规模的人群合并到少量Draw Call中渲染,大大提高了渲染效率,而且即使随着数量规模的增加对终端性能的影响也不明显,因此,本发明实施例方案在移动终端设备就可以非常高效的实时渲染大规模的人群。
图6是根据本发明的一个实施例的一种渲染处理装置的另一示意性方框图。该渲染处理装置可以位于移动终端设备。
参照图6,一种渲染处理装置60,包括:数据获取模块51、变换处理模块52、渲染处理模块53。
其中数据获取模块51、变换处理模块52、渲染处理模块53的功能可以参见图5描述,此处不再赘述。
所述变换处理模块52可以包括:像素点子模块521、矩阵子模块522、变换子模块523。
像素点子模块521,用于根据所述骨骼动画数据中影响顶点的骨骼索引,查找到动画图片中对应的像素点。
矩阵子模块522,用于将所述像素点子模块查找到的设定数量的像素点组成一个4x4的变换矩阵。
变换子模块523,用于根据所述矩阵子模块组成的变换矩阵及所述骨骼动画数据中影响顶点的骨骼权重,确定最终顶点位置,其中所有骨骼权重之和为1。
其中,像素点子模块521,根据所述骨骼动画数据中当前播放的动画索引、帧数索引及影响顶点的骨骼索引,查找到所述纹理中的像素索引作为变换矩阵的起点;根据所述骨骼索引查找到动画图片中对应的设定数量的像素点。
其中,变换子模块523,将所述4x4的变换矩阵与所述骨骼动画数据中影响顶点的骨骼权重进行矩阵乘法运算,确定最终顶点位置。
其中进行矩阵乘法运算是按照前述的公式(4)进行运算:
其中,vertex是顶点位置,matrix是骨骼的变换矩阵,weight是骨骼权重,mul()是矩阵乘法操作。
图7是根据本发明的一个实施例的一种移动终端设备的示意性方框图。
参照图7,一种移动终端设备70,包括:中央处理器CPU 71和图形处理器GPU 72。
中央处理器CPU 71,用于预先离线采样骨骼动画数据。
图形处理器GPU 72,用于通过顶点着色器,从纹理获取由所述CPU预先离线采样的骨骼动画数据,将所述获取的骨骼动画数据中的像素点解码成变换矩阵来进行顶点变换操作,根据所述完成顶点变换操作后的骨骼动画数据,进行GPU实例化渲染。
图8是根据本发明的一个实施例的一种移动终端设备的另一示意性方框图。
参照图8,一种移动终端设备80,包括:中央处理器CPU 71和图形处理器GPU 72。
其中,所述中央处理器CPU 71可以包括:层次结构模块711、采样模块712、矩阵写入模块713、参数写入模块714。
层次结构模块711,用于通过遍历骨骼模型的所有骨骼的节点,建立骨骼层次结构。
采样模块712,用于依次采样所有动画,得到所有骨骼的变换矩阵。
矩阵写入模块713,用于将所述采样子模块得到的所有骨骼的变换矩阵写入创建的纹理中。
参数写入模块714,用于复制所述骨骼模型,通过遍历所有顶点,将影响顶点的骨骼索引及骨骼权重写入纹理坐标。
其中,层次结构模块711,读取骨骼模型,从根节点开始遍历所有骨骼,建立骨骼之间的父子层级关系,其中每个子骨骼持有父骨骼的骨骼索引。
其中,采样模块712,读取所有动画文件,按设定帧率采样动画,得到每帧的骨骼变换数据;通过遍历所有骨骼,按照骨骼变换矩阵公式,得到所有骨骼的4x4变换矩阵。
其中,矩阵写入模块713,创建设定大小的浮点纹理;将所述骨骼的变换矩阵的行向量,转换为设定数量的像素点,依次写入所述浮点纹理。
其中,所述图形处理器GPU 72可以包括:数据获取模块721、变换处理模块722、渲染处理模块723。
数据获取模块721,用于通过顶点着色器,从纹理获取由所述中央处理器CPU预先离线采样的骨骼动画数据。
变换处理模块722,用于将所述数据获取模块获取的骨骼动画数据中的像素点解码成变换矩阵来进行顶点变换操作。
渲染处理模块723,用于根据所述变换处理模块完成顶点变换操作后的骨骼动画数据,进行GPU实例化渲染。
其中,所述变换处理模块722可以包括:像素点子模块7221、矩阵子模块7222、变换子模块7223。
像素点子模块7221,用于根据所述骨骼动画数据中影响顶点的骨骼索引,查找到动画图片中对应的像素点。
矩阵子模块7222,用于将所述像素点子模块查找到的设定数量的像素点组成一个4x4的变换矩阵。
变换子模块7223,用于根据所述矩阵子模块组成的变换矩阵及所述骨骼动画数据中影响顶点的骨骼权重,确定最终顶点位置,其中所有骨骼权重之和为1。
本发明实施例还提供一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行以下所述的方法:
通过图形处理器GPU的顶点着色器,从纹理获取由中央处理器CPU预先离线采样的骨骼动画数据;
将所述获取的骨骼动画数据中的像素点解码成变换矩阵来进行顶点变换操作;
根据所述完成顶点变换操作后的骨骼动画数据,进行GPU实例化渲染。
上文中已经参考附图详细描述了根据本发明的技术方案。
此外,根据本发明的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本发明的上述方法中限定的上述各步骤的计算机程序代码指令。
或者,本发明还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或计算设备、服务器等)的处理器执行时,使所述处理器执行根据本发明的上述方法的各个步骤。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
附图中的流程图和框图显示了根据本发明的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (13)
1.一种渲染处理方法,其特征在于,包括:
通过图形处理器GPU的顶点着色器,从纹理获取由中央处理器CPU预先离线采样的骨骼动画数据;
将所述获取的骨骼动画数据中的像素点解码成变换矩阵来进行顶点变换操作;
根据所述完成顶点变换操作后的骨骼动画数据,进行GPU实例化渲染。
2.根据权利要求1所述的方法,其特征在于,所述预先离线采样的骨骼动画数据,由所述CPU按以下方式进行离线采样:
通过遍历骨骼模型的所有骨骼的节点,建立骨骼层次结构;
依次采样所有动画,得到所有骨骼的变换矩阵;
将所述所有骨骼的变换矩阵写入创建的纹理中;
复制所述骨骼模型,通过遍历所有顶点,将影响顶点的骨骼索引及骨骼权重写入纹理坐标。
3.根据权利要求2所述的方法,其特征在于,所述通过遍历骨骼模型的所有骨骼的节点,建立骨骼层次结构,包括:
读取骨骼模型,从根节点开始遍历所有骨骼,建立骨骼之间的父子层级关系,其中每个子骨骼持有父骨骼的骨骼索引。
4.根据权利要求2所述的方法,其特征在于,所述依次采样所有动画,得到所有骨骼的变换矩阵,包括:
读取所有动画文件,按设定帧率采样动画,得到每帧的骨骼变换数据;
通过遍历所有骨骼,按照骨骼变换矩阵公式,得到所有骨骼的4x4变换矩阵。
5.根据权利要求2所述的方法,其特征在于,所述将所述所有骨骼的变换矩阵写入创建的纹理中,包括:
创建设定大小的浮点纹理;
将所述骨骼的变换矩阵的行向量,转换为设定数量的像素点,依次写入所述浮点纹理。
6.根据权利要求1所述的方法,其特征在于,所述将所述获取的骨骼动画数据中的像素点解码成变换矩阵来进行顶点变换操作,包括:
根据所述骨骼动画数据中影响顶点的骨骼索引,查找到动画图片中对应的像素点;
将设定数量的像素点组成一个4x4的变换矩阵;
根据所述变换矩阵及所述骨骼动画数据中影响顶点的骨骼权重,确定最终顶点位置,其中所有骨骼权重之和为1。
7.根据权利要求6所述的方法,其特征在于,所述根据所述骨骼动画数据中影响顶点的骨骼索引,查找到动画图片中对应的像素点,包括:
根据所述骨骼动画数据中当前播放的动画索引、帧数索引及影响顶点的骨骼索引,查找到所述纹理中的像素索引作为变换矩阵的起点;
根据所述骨骼索引查找到动画图片中对应的设定数量的像素点。
8.根据权利要求6所述的方法,其特征在于,所述根据所述变换矩阵及所述骨骼动画数据中影响顶点的骨骼权重,确定最终顶点位置,包括:
将所述4x4的变换矩阵与所述骨骼动画数据中影响顶点的骨骼权重进行矩阵乘法运算,确定最终顶点位置。
9.一种渲染处理装置,其特征在于,包括:
数据获取模块,用于通过图形处理器GPU的顶点着色器,从纹理获取由中央处理器CPU预先离线采样的骨骼动画数据;
变换处理模块,用于将所述数据获取模块获取的骨骼动画数据中的像素点解码成变换矩阵来进行顶点变换操作;
渲染处理模块,用于根据所述变换处理模块完成顶点变换操作后的骨骼动画数据,进行GPU实例化渲染。
10.根据权利要求9所述的装置,其特征在于,所述变换处理模块包括:
像素点子模块,用于根据所述骨骼动画数据中影响顶点的骨骼索引,查找到动画图片中对应的像素点;
矩阵子模块,用于将所述像素点子模块查找到的设定数量的像素点组成一个4x4的变换矩阵;
变换子模块,用于根据所述矩阵子模块组成的变换矩阵及所述骨骼动画数据中影响顶点的骨骼权重,确定最终顶点位置,其中所有骨骼权重之和为1。
11.一种移动终端设备,其特征在于,包括:
中央处理器CPU,用于预先离线采样骨骼动画数据;
图形处理器GPU,用于通过顶点着色器,从纹理获取由所述CPU预先离线采样的骨骼动画数据,将所述获取的骨骼动画数据中的像素点解码成变换矩阵来进行顶点变换操作,根据所述完成顶点变换操作后的骨骼动画数据,进行GPU实例化渲染。
12.根据权利要求11述的设备,其特征在于,所述中央处理器CPU包括:
层次结构模块,用于通过遍历骨骼模型的所有骨骼的节点,建立骨骼层次结构;
采样模块,用于依次采样所有动画,得到所有骨骼的变换矩阵;
矩阵写入模块,用于将所述采样子模块得到的所有骨骼的变换矩阵写入创建的纹理中;
参数写入模块,用于复制所述骨骼模型,通过遍历所有顶点,将影响顶点的骨骼索引及骨骼权重写入纹理坐标。
13.根据权利要求11述的设备,其特征在于,所述图形处理器GPU包括:
数据获取模块,用于通过顶点着色器,从纹理获取由所述中央处理器CPU预先离线采样的骨骼动画数据;
变换处理模块,用于将所述数据获取模块获取的骨骼动画数据中的像素点解码成变换矩阵来进行顶点变换操作;
渲染处理模块,用于根据所述变换处理模块完成顶点变换操作后的骨骼动画数据,进行GPU实例化渲染;
其中,所述变换处理模块包括:
像素点子模块,用于根据所述骨骼动画数据中影响顶点的骨骼索引,查找到动画图片中对应的像素点;
矩阵子模块,用于将所述像素点子模块查找到的设定数量的像素点组成一个4x4的变换矩阵;
变换子模块,用于根据所述矩阵子模块组成的变换矩阵及所述骨骼动画数据中影响顶点的骨骼权重,确定最终顶点位置,其中所有骨骼权重之和为1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810413872.9A CN108711182A (zh) | 2018-05-03 | 2018-05-03 | 渲染处理方法、装置及移动终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810413872.9A CN108711182A (zh) | 2018-05-03 | 2018-05-03 | 渲染处理方法、装置及移动终端设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108711182A true CN108711182A (zh) | 2018-10-26 |
Family
ID=63868841
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810413872.9A Pending CN108711182A (zh) | 2018-05-03 | 2018-05-03 | 渲染处理方法、装置及移动终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108711182A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109840931A (zh) * | 2019-01-21 | 2019-06-04 | 网易(杭州)网络有限公司 | 骨骼动画的合批渲染方法、装置、系统及存储介质 |
CN109978981A (zh) * | 2019-03-15 | 2019-07-05 | 广联达科技股份有限公司 | 一种提高建筑模型显示效率的批次渲染方法 |
CN110047030A (zh) * | 2019-04-10 | 2019-07-23 | 网易(杭州)网络有限公司 | 周期性特效生成方法及装置、电子设备、存储介质 |
CN110969690A (zh) * | 2019-12-19 | 2020-04-07 | 福建天晴数码有限公司 | 一种基于纹理的顶点动画数据存储方法及其系统 |
CN111402369A (zh) * | 2020-03-10 | 2020-07-10 | 京东数字科技控股有限公司 | 互动广告的处理方法、装置、终端设备及存储介质 |
CN111754381A (zh) * | 2019-03-26 | 2020-10-09 | 华为技术有限公司 | 图形渲染方法、装置和计算机可读存储介质 |
CN112489183A (zh) * | 2020-11-26 | 2021-03-12 | 北京邮电大学 | 基于Unity3D的骨骼动画渲染方法及系统 |
CN112562043A (zh) * | 2020-12-08 | 2021-03-26 | 北京百度网讯科技有限公司 | 图像处理方法、装置和电子设备 |
CN112652025A (zh) * | 2020-12-18 | 2021-04-13 | 完美世界(北京)软件科技发展有限公司 | 图像渲染方法、装置、计算机设备及可读存储介质 |
CN112669419A (zh) * | 2020-12-22 | 2021-04-16 | 北京像素软件科技股份有限公司 | 用于渲染的方法、中央处理器、图像处理器、系统和存储介质 |
CN112933597A (zh) * | 2021-03-16 | 2021-06-11 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、计算机设备及存储介质 |
CN113034629A (zh) * | 2021-05-17 | 2021-06-25 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、计算机设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020171660A1 (en) * | 2001-05-02 | 2002-11-21 | Eastman Kodak Company | Block sampling based method and apparatus for texture synthesis |
KR100587974B1 (ko) * | 2004-12-16 | 2006-06-08 | 한국전자통신연구원 | 3차원 게임 엔진에 특화된 공통 데이터 포맷 구축 방법 |
CN102157008A (zh) * | 2011-04-12 | 2011-08-17 | 电子科技大学 | 一种大规模虚拟人群实时绘制方法 |
CN102999933A (zh) * | 2012-12-01 | 2013-03-27 | 王爽 | 基于gpu的骨骼动画批量渲染 |
CN103021008A (zh) * | 2012-12-11 | 2013-04-03 | 湖南师范大学 | 一种基于可编程gpu的骨骼动画处理方法 |
CN104021584A (zh) * | 2014-06-25 | 2014-09-03 | 无锡梵天信息技术股份有限公司 | 一种骨骼蒙皮动画的实现方法 |
-
2018
- 2018-05-03 CN CN201810413872.9A patent/CN108711182A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020171660A1 (en) * | 2001-05-02 | 2002-11-21 | Eastman Kodak Company | Block sampling based method and apparatus for texture synthesis |
KR100587974B1 (ko) * | 2004-12-16 | 2006-06-08 | 한국전자통신연구원 | 3차원 게임 엔진에 특화된 공통 데이터 포맷 구축 방법 |
CN102157008A (zh) * | 2011-04-12 | 2011-08-17 | 电子科技大学 | 一种大规模虚拟人群实时绘制方法 |
CN102999933A (zh) * | 2012-12-01 | 2013-03-27 | 王爽 | 基于gpu的骨骼动画批量渲染 |
CN103021008A (zh) * | 2012-12-11 | 2013-04-03 | 湖南师范大学 | 一种基于可编程gpu的骨骼动画处理方法 |
CN104021584A (zh) * | 2014-06-25 | 2014-09-03 | 无锡梵天信息技术股份有限公司 | 一种骨骼蒙皮动画的实现方法 |
Non-Patent Citations (1)
Title |
---|
范晓晔: "虚拟海洋生物群体仿真关键技术研究", 《中国优秀博硕士学位论文全文数据库(硕士)-信息科技辑》 * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109840931A (zh) * | 2019-01-21 | 2019-06-04 | 网易(杭州)网络有限公司 | 骨骼动画的合批渲染方法、装置、系统及存储介质 |
CN109840931B (zh) * | 2019-01-21 | 2023-07-25 | 网易(杭州)网络有限公司 | 骨骼动画的合批渲染方法、装置、系统及存储介质 |
CN109978981A (zh) * | 2019-03-15 | 2019-07-05 | 广联达科技股份有限公司 | 一种提高建筑模型显示效率的批次渲染方法 |
CN111754381A (zh) * | 2019-03-26 | 2020-10-09 | 华为技术有限公司 | 图形渲染方法、装置和计算机可读存储介质 |
US11908039B2 (en) | 2019-03-26 | 2024-02-20 | Huawei Technologies Co., Ltd. | Graphics rendering method and apparatus, and computer-readable storage medium |
CN110047030A (zh) * | 2019-04-10 | 2019-07-23 | 网易(杭州)网络有限公司 | 周期性特效生成方法及装置、电子设备、存储介质 |
CN110047030B (zh) * | 2019-04-10 | 2023-05-16 | 网易(杭州)网络有限公司 | 周期性特效生成方法及装置、电子设备、存储介质 |
CN110969690A (zh) * | 2019-12-19 | 2020-04-07 | 福建天晴数码有限公司 | 一种基于纹理的顶点动画数据存储方法及其系统 |
CN110969690B (zh) * | 2019-12-19 | 2023-05-23 | 福建天晴数码有限公司 | 一种基于纹理的顶点动画数据存储方法及其系统 |
CN111402369B (zh) * | 2020-03-10 | 2023-11-03 | 京东科技控股股份有限公司 | 互动广告的处理方法、装置、终端设备及存储介质 |
CN111402369A (zh) * | 2020-03-10 | 2020-07-10 | 京东数字科技控股有限公司 | 互动广告的处理方法、装置、终端设备及存储介质 |
CN112489183A (zh) * | 2020-11-26 | 2021-03-12 | 北京邮电大学 | 基于Unity3D的骨骼动画渲染方法及系统 |
CN112562043A (zh) * | 2020-12-08 | 2021-03-26 | 北京百度网讯科技有限公司 | 图像处理方法、装置和电子设备 |
CN112562043B (zh) * | 2020-12-08 | 2023-08-08 | 北京百度网讯科技有限公司 | 图像处理方法、装置和电子设备 |
CN112652025A (zh) * | 2020-12-18 | 2021-04-13 | 完美世界(北京)软件科技发展有限公司 | 图像渲染方法、装置、计算机设备及可读存储介质 |
CN112669419A (zh) * | 2020-12-22 | 2021-04-16 | 北京像素软件科技股份有限公司 | 用于渲染的方法、中央处理器、图像处理器、系统和存储介质 |
CN112933597A (zh) * | 2021-03-16 | 2021-06-11 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、计算机设备及存储介质 |
CN113034629B (zh) * | 2021-05-17 | 2021-08-20 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、计算机设备及存储介质 |
CN113034629A (zh) * | 2021-05-17 | 2021-06-25 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108711182A (zh) | 渲染处理方法、装置及移动终端设备 | |
WO2020220915A1 (zh) | 虚拟对象显示方法、装置、电子设备及存储介质 | |
US12017145B2 (en) | Method and system of automatic animation generation | |
CN110751696B (zh) | 将BIM模型数据转化为glTF数据的方法、装置、设备及介质 | |
Lauterbach et al. | Fast BVH construction on GPUs | |
CN110443842A (zh) | 基于视角融合的深度图预测方法 | |
CN109271933A (zh) | 基于视频流进行三维人体姿态估计的方法 | |
CN109215123B (zh) | 基于cGAN的无限地形生成方法、系统、存储介质和终端 | |
US20130278607A1 (en) | Systems and Methods for Displaying Animations on a Mobile Device | |
CN107213638B (zh) | 一种3d游戏骨骼处理系统及其处理方法 | |
CN106528174B (zh) | 基于cocos2dx的flash渲染方法和渲染引擎 | |
CN102157008A (zh) | 一种大规模虚拟人群实时绘制方法 | |
WO2023043993A1 (en) | Displaced micro-meshes for ray and path tracing | |
KR20080022591A (ko) | 내장형 디바이스에서의 3d 콘텐츠에 대한 오프라인 최적화파이프라인 | |
CN103198505A (zh) | 一种基于gpu渲染游戏角色及角色换装的方法和装置 | |
CN108537753A (zh) | 一种基于上下文特征空间约束的图像修复方法 | |
CN112258625A (zh) | 基于注意力机制的单幅图像到三维点云模型重建方法及系统 | |
CN112860839A (zh) | 一种基于Unity3D的水环境质量实时监测方法及装置 | |
CN103678888B (zh) | 一种基于欧拉流体模拟算法的心脏血液流动示意显示方法 | |
CN116152419B (zh) | 数据处理方法、装置、设备及存储介质 | |
Hu et al. | Pose-aware attention network for flexible motion retargeting by body part | |
KR20230167746A (ko) | 메시 정점 위치에 대한 반복 및 루트 찾기를 사용하여 표면에 근사하는 폴리곤 메시를 생성하기 위한 방법 및 시스템 | |
CN110009749A (zh) | 一种虚拟对象定位方法、装置、计算设备及存储介质 | |
CN110070597A (zh) | 一种基于OpenCL的Unity3D渲染加速方法 | |
Gao et al. | Application Study of Virtual Simulation Technology Based on Lumion in Landscape Design |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200813 Address after: 310052 room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province Applicant after: Alibaba (China) Co.,Ltd. Address before: 510665 Guangdong city of Guangzhou province Whampoa Tianhe District Road No. 163 Xiping Yun Lu Yun Ping radio square B tower 13 floor 02 unit self Applicant before: Guangzhou Aijiuyou Information Technology Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181026 |
|
RJ01 | Rejection of invention patent application after publication |