[发明专利]3D引擎中的对象渲染方法和系统在审
申请号: | 201310597785.0 | 申请日: | 2013-11-21 |
公开(公告)号: | CN103810745A | 公开(公告)日: | 2014-05-21 |
发明(设计)人: | 饶纪云 | 申请(专利权)人: | 广州菲动软件科技有限公司 |
主分类号: | G06T15/00 | 分类号: | G06T15/00 |
代理公司: | 广州华进联合专利商标代理有限公司 44224 | 代理人: | 王茹;向群 |
地址: | 510000 广东省广州市天河区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 引擎 中的 对象 渲染 方法 系统 | ||
技术领域
本发明涉及3D渲染技术领域,特别是涉及一种3D引擎中的对象渲染方法,以及一种3D引擎中的对象渲染系统。
背景技术
随着Flash Stage3D技术的发展,实现Flash技术使用显卡加速渲染图形的技术。其中渲染对象的收集是3D引擎中的一个重要环节,而且是比较消耗计算机的CPU资源的环节。
在3D引擎中,一般实行逐帧收集渲染对象的方法,其实现方式是:在每一帧渲染开始时清空渲染对象收集器里面的所有渲染对象,然后再去遍历所有的对象节点,把渲染对象一个一个的收集起来。最后再遍历收集器里的渲染对象,将每个对象进行渲染。
上述方法的缺陷是处理速度慢,每一帧渲染前,都需要遍历所有对象节点收集所有对象,造成了CPU的巨大消耗。
发明内容
基于此,本发明提供一种3D引擎中的对象渲染方法和系统,能减少CPU消耗,提高渲染速度。
一种3D引擎中的对象渲染方法,包括如下步骤:
创建渲染对象收集器;
当对象添加到当前编辑的场景时,收集所述对象添加至所述渲染对象收集器;
当对象移除出所述场景时,从所述渲染对象收集器中查找到所述对象并删除;
当渲染每一帧场景时,读取所述渲染对象收集器,渲染所述渲染对象收集器中的每一个对象。
一种3D引擎中的对象渲染系统,包括:
创建模块,用于创建渲染对象收集器;
收集模块,用于当对象添加到当前编辑的场景时,收集所述对象添加至所述渲染对象收集器;
删除模块,用于当对象移除出所述场景时,从所述渲染对象收集器中查找到所述对象并删除;
渲染模块,用于当渲染每一帧场景时,读取所述渲染对象收集器,渲染所述渲染对象收集器中的每一个对象。
本发明通过对象在添加进场景或移除出场景的同时,及时对对应的对象进行增加和删减,可避免每帧场景渲染时再收集当前帧包含的所有对象,可减少CPU的计算量;本发明通过渲染对象收集器实现了渲染对象添加进场景或移除出场景的实时收集、删除和更新,在进行渲染时就可直接读取当前收集到的渲染对象进行渲染,因此处理速度较快,特别是当渲染对象的数量庞大时其效果更为突出,显著提高了3D引擎的运行效率。
附图说明
图1为本发明3D引擎中的对象渲染方法在一实施例中的流程示意图。
图2为本发明3D引擎中的对象渲染系统在一实施例中的结构示意图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细说明,但本发明的实施方式不限于此。
如图1所示,是本发明一种3D引擎中的对象渲染方法,包括如下步骤:
S11、创建渲染对象收集器;
在本步骤中,创建一渲染对象收集器,用于实时收集当前场景中包含的各个对象,通过该收集器实现对象的实时更新;
S12、当对象添加到当前编辑的场景时,收集所述对象添加到所述渲染对象收集器中;
在当前显示的场景中,若新增对象,则在对象添加的场景中的同时,将所述对象添加到预先创建的所述渲染对象收集器中;
S13、当对象移除出所述场景时,从所述渲染对象收集器中查找到所述对象并删除;
在当前显示的场景中,若有对象被移除,则在该对象被删除的同时,从所述渲染对象收集器中查找到该对象并及时删除;
S14、当渲染每一帧场景时,读取所述渲染对象收集器,渲染所述渲染对象收集器的每一个对象;
在每一帧渲染开始时,直接读取渲染对象收集器中收集的对象,对每个对象进行渲染。
本实施例通过对象在添加进场景或移除出场景的同时,及时对对应的对象进行增加和删减,可避免每帧场景渲染时再收集当前帧包含的所有对象,可减少CPU的计算量;
本实施例通过创建的渲染对象收集器,能方便地对对象进行收集,快速地实现在对象添加进场景或移除出场景的同时进行增加和删减的操作,进一步提高处理速度;
本实施例实现了渲染对象添加进场景或移除出场景的实时收集、删除和更新,在进行渲染时就可直接读取当前收集到的渲染对象进行渲染,因此处理速度较快,特别是当渲染对象的数量庞大时其效果更为突出,显著提高了3D引擎的运行效率。
在一较佳实施例中,所述渲染对象收集器可为线性表,通过线性表结构存储收集到的每一个对象,可更为快捷地进行对象增加、对象删除和查找对象等操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州菲动软件科技有限公司,未经广州菲动软件科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310597785.0/2.html,转载请声明来源钻瓜专利网。