[发明专利]多核移动设备上3D模型的并发加载及渲染方法有效
申请号: | 201310406709.7 | 申请日: | 2013-09-05 |
公开(公告)号: | CN103455356B | 公开(公告)日: | 2017-02-08 |
发明(设计)人: | 王秀敏;张麒;单良 | 申请(专利权)人: | 中国计量学院 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F9/50;G06T15/00 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 315470 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种在多核移动设备上的3D模型并发加载及渲染方法,本发明包括以下步骤以当前设备的CPU核心数作为线程池的容量来创建线程池。然后分别为存于外存设备上的每个3D模型文件分别创建3D模型数据加载任务。再为每个3D模型分别创建渲染任务。将所有数据加载任务提交到线程池的缓冲队列中,由线程池并发执行数据加载任务。等数据加载任务全部执行完毕之后,再将渲染任务提交到线程池的缓冲队列中,由线程池并发执行渲染任务。最后等所有渲染任务执行完毕后,销毁线程池释放系统资源。 | ||
搜索关键词: | 多核 移动 设备 模型 并发 加载 渲染 方法 | ||
【主权项】:
多核移动设备上3D模型的并发加载及渲染方法,其特征包括以下步骤:步骤一:获取当前移动设备的CPU核心数,具体是:根据移动设备所使用的操作系统,直接使用操作系统提供的API或者通过判断文件系统中存放CPU信息的文件数来获取当前移动设备的CPU核心数;步骤二:创建容量为CPU核心数的线程池,具体是:创建整型的线程池数变量,将该变量的值设置为由步骤一获取的CPU核心数;以整型的线程池数变量作为线程池的容量参数,使用移动设备所使用的操作系统的应用程序开发工具包中的线程池类来创建容量为CPU核心数的线程池;步骤三:为每个3D模型文件分别创建异步数据加载任务,具体是:先遍历存于外存设备上的3D模型文件,获取每个模型文件的存放路径,并且置于数组中;再创建异步数据加载任务,具任务流程是:流程一:根据存于数组中的3D模型文件的文件路径打开文件I/O;流程二:抽取存于外存设备上的3D模型文件的数据,包括:顶点数据、法向量数据、纹理坐标数据、面数据、材质数据;流程三:将抽取的3D模型数据单独封装成一个数据对象;步骤四:为每个3D模型分别创建异步渲染任务,渲染任务流程具体是:流程一:使用步骤三封装的3D模型数据对象中的3D模型数据,为画笔绑定顶点数据、法向量数据、纹理坐标数据、面数据,并且设置材质特性;流程二:调用OpenGl ES的gl.glDrawElements函数来渲染3D模型;步骤五:由线程池并发执行所有的异步数据加载任务,具体是:将由步骤三创建的所有异步数据加载任务提交到由步骤二所创建的线程池的缓冲队列中;启动线程池,并发地执行缓冲队列中所有异步数据加载任务;步骤六:由线程池并发执行所有的异步渲染任务,具体是:等步骤五的异步数据加载任务全部执行完毕后,将所有的渲染任务提交到由步骤二所创建的线程池的缓冲队列中;启动线程池,并发地执行缓冲队列中所有异步渲染任务;等所有异步渲染任务执行完毕后,销毁线程池释放系统资源。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国计量学院,未经中国计量学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310406709.7/,转载请声明来源钻瓜专利网。
- 上一篇:具有提高的稳定性的圆柱形二次电池
- 下一篇:燃料电池单元