[发明专利]一种骨骼动画兼容处理方法在审
| 申请号: | 201810476030.8 | 申请日: | 2018-05-17 |
| 公开(公告)号: | CN108648252A | 公开(公告)日: | 2018-10-12 |
| 发明(设计)人: | 程正 | 申请(专利权)人: | 成都明镜视觉科技有限公司 |
| 主分类号: | G06T13/40 | 分类号: | G06T13/40;G06T1/20 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 610041 四川省成都市*** | 国省代码: | 四川;51 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 骨骼动画 着色器 骨骼 兼容 兼容性处理 纹理映射 运算 传递 | ||
本发明提供一种骨骼动画兼容处理方法,通过cpu运算好骨骼动画数据然后提交给gpu,当骨骼数所需要的uniform变量小于剩余着色器的uniform变量个数时,就采用uniform方式提交给着色器。当骨骼数所需要的uniform变量大于剩余着色器uniform变量个数时,通过纹理映射的方式传递给着色器。采用本发明方法能够解决大量骨骼的骨骼动画运行在gpu上,实现骨骼动画兼容性处理。
技术领域
本发明涉及计算机图形技术领域,更具体地说,涉及一种骨骼动画兼容处理的实现方法。
背景技术
骨骼动画是计算机动画技术的一个重要组成部分,在计算机辅助动画电影制作和各类广告制作中一直发挥着重要的作用。
随着计算机硬件能力的提升和渲染技术的提升,计算机绘制出来的图像越来越逼真,不仅仅在传统的动画上面有进一步的发展,3D动画电影也越来越受到观众的喜爱。现在使用最广泛的关键帧动画就是骨骼动画。在骨骼动画中,动画模型由两个部分来表示:一个部分是形成层次的一系列骨胳,即骨架(skeleton),每一个骨骼数据都包含其自身的动画数据;另一个部分是蒙在骨架上的皮肤(skin),即网格模型,用于提供动画绘制所需要的几何模型和纹理材质信息。通过对骨架进行动画模拟,再利用骨胳控制皮肤变形就实现了骨骼动画。骨骼动画与关键帧动画相比占用空间较小,因为它不需要存储每一帧的各个顶点的数据,而只需存储每一帧的骨骼(骨骼数量相对较少),并且多个不同的皮肤可以通过使用相同的骨骼共享相同的动画。骨骼动画在蒙皮时通常有两种计算方式,一种是通过cpu运算好骨架动画数据,然后再通过cpu来进行顶点变换来改变顶点的位置,最后再将变换后的顶点提交给gpu来渲染。另一种是通过cpu运算好骨架动画数据后直接提交给gpu,gpu直接对原始网格的顶点缓冲对象(vbo)在着色器(shader)中进行变化位置后直接绘制在屏幕上。后者不仅有效的利用的gpu的算力来加速了蒙皮的过程,并且不用重复提交不同姿态(pose)网格顶点数据给gpu,大大降低了cpu与gpu通讯所带来的开销。然而后者也并不是没有缺点,虽然不用像前者那种每次都去提交大量顶点数据,但是要提交骨骼数据(相对较小)。虽然顶点着色器可以同过uniform标示符的变量来接收骨骼数据,但是现代gpu通常都会有uniform变量的容量限制(通常是256*4个浮点精度数)。然后骨骼数据中一个骨头的数据就需要占据16个浮点精度数,也就是说即使全部使用最多也就64根骨头数据。然而实际渲染过程中着色器中还需要接收诸如灯光,材质等等的的数据。所以真正能剩下的uniform变量少之又少(大概仅剩下1/3-1/2,依赖于材质复杂度和灯光个数,换算下来就是20-30根骨骼)。所以如何让大量骨骼的骨骼动画运行在gpu上就成了一个问题。
发明内容
为了解决上述问题,本发明提供一种骨骼动画兼容处理方法,通过cpu运算好骨骼动画数据然后提交给gpu,如下步骤:
S1、根据cpu运算好的骨骼动画数据判断骨骼数所需要的uniform变量书是否小于剩余着色器的uniform变量个数,如果是,转到步骤S2;如果否,转到步骤S3;
S2、直接采用uniform的方式将骨骼数提交给着色器;
S3、通过纹理映射的方式将骨骼数传递给着色器;
所述步骤S3中通过纹理映射的方式将骨骼数传递给着色器主要包括如下步骤:
S31、判断硬件是否支持浮点精度纹理,如果是,转到步骤S32;如果否,转到步骤S33;
S32、当硬件支持浮点精度纹理时,将骨骼数进行更新,并将更新后的骨骼数据依次填充进纹理当中,然后和着色器中的纹理采样器绑定,顶点着色器通过顶点缓冲对象中的骨骼id数映射成纹理的坐标,纹理采样器再根据纹理坐标依次往后采样4个像素(一个像素有rgba4个浮点精度通道),总共所采样处理的16像素通道值就是一个骨骼所需的16个浮点精度数据;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都明镜视觉科技有限公司,未经成都明镜视觉科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810476030.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:3D表情制作方法及系统
- 下一篇:动态图片的生成方法及装置





