CN103810745A - 3d引擎中的对象渲染方法和系统 - Google Patents
3d引擎中的对象渲染方法和系统 Download PDFInfo
- Publication number
- CN103810745A CN103810745A CN201310597785.0A CN201310597785A CN103810745A CN 103810745 A CN103810745 A CN 103810745A CN 201310597785 A CN201310597785 A CN 201310597785A CN 103810745 A CN103810745 A CN 103810745A
- Authority
- CN
- China
- Prior art keywords
- gatherer
- rendering
- rendering objects
- objects
- scene
- 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
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明提供一种3D引擎中的对象渲染方法,包括如下步骤:创建渲染对象收集器;当对象添加到当前编辑的场景时,收集所述对象添加至所述渲染对象收集器中;当对象移除出所述场景时,从所述渲染对象收集器中查找到所述对象并删除;当渲染每一帧场景时,读取所述渲染对象收集器,渲染所述渲染对象收集器中的每一个对象。本发明能减少CPU消耗,提高渲染速度。
Description
技术领域
本发明涉及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引擎的运行效率。
在一较佳实施例中,所述渲染对象收集器可为线性表,通过线性表结构存储收集到的每一个对象,可更为快捷地进行对象增加、对象删除和查找对象等操作。
在一较佳实施例中,所述读取所述渲染对象收集器,渲染所述渲染对象收集器的每一个对象的步骤为:
读取所述渲染对象收集器中存储的对象,获取所述对象的属性数据,根据所述属性数据对每个对象进行渲染;
在本实施例中,读取到渲染对象收集器中存储的对象时,获取该对象对应的属性数据,例如渲染操作、材质属性、光照信息、渲染方式等属性信息,这些信息在进行渲染时被取出,根据各种属性信息对该对象进行渲染,显示在当前画面上。
如图2所示,本发明还提供一种3D引擎中的对象渲染系统,包括:
创建模块21,用于创建渲染对象收集器;
在本模块中,创建一渲染对象收集器,用于实时收集当前场景中包含的各个对象,通过该收集器实现对象的实时更新;
所述收集模块22用于当对象添加到当前编辑的场景时,收集所述对象添加到所述渲染对象收集器中;
在当前显示的场景中,若新增对象,则在对象添加的场景中的同时,将所述对象添加到预先创建的所述渲染对象收集器中;
所述删除模块23还可用于当对象移除出所述场景时,从所述渲染对象收集器中查找到所述对象并删除;
在当前显示的场景中,若有对象被移除,则在该对象被删除的同时,从所述渲染对象收集器中查找到该对象并及时删除;
所述渲染模块24还可用于当渲染每一帧场景时,读取所述渲染对象收集器,渲染所述渲染对象收集器的每一个对象。
在每一帧渲染开始时,直接读取渲染对象收集器中收集的对象,对每个对象进行渲染。
本实施例通过对象在添加进场景或移除出场景的同时,及时对对应的对象进行增加和删减,可避免每帧场景渲染时再收集当前帧包含的所有对象,可减少CPU的计算量;
本实施例通过创建的渲染对象收集器,能方便地对对象进行收集,快速地实现在对象添加进场景或移除出场景的同时进行增加和删减的操作,进一步提高处理速度;
本实施例实现了渲染对象添加进场景或移除出场景的实时收集、删除和更新,在进行渲染时就可直接读取当前收集到的渲染对象进行渲染,因此处理速度较快,特别是当渲染对象的数量庞大时其效果更为突出,显著提高了3D引擎的运行效率。
在一较佳实施例中,所述渲染对象收集器可为线性表,通过线性表结构存储收集到的每一个对象,可更为快捷地进行对象增加、对象删除和查找对象等操作。
在一较佳实施例中,所述渲染模块24还用于:
读取所述渲染对象收集器中存储的对象,获取所述对象的属性数据,根据所述属性数据对每个对象进行渲染;
在本实施例中,读取到渲染对象收集器中存储的对象时,获取该对象对应的属性数据,例如渲染操作、材质属性、光照信息、渲染方式等属性信息,这些信息在进行渲染时被取出,根据各种属性信息对该对象进行渲染,显示在当前画面上。
本发明通过对象在添加进场景或移除出场景的同时,及时对对应的对象进行增加和删减,可避免每帧场景渲染时再收集当前帧包含的所有对象,可减少CPU的计算量;本发明通过渲染对象收集器实现了渲染对象添加进场景或移除出场景的实时收集、删除和更新,在进行渲染时就可直接读取当前收集到的渲染对象进行渲染,因此处理速度较快,特别是当渲染对象的数量庞大时其效果更为突出,显著提高了3D引擎的运行效率。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (6)
1.一种3D引擎中的对象渲染方法,其特征在于,包括如下步骤:
创建渲染对象收集器;
当对象添加到当前编辑的场景时,收集所述对象添加至所述渲染对象收集器中;
当对象移除出所述场景时,从所述渲染对象收集器中查找到所述对象并删除;
当渲染每一帧场景时,读取所述渲染对象收集器,渲染所述渲染对象收集器中的每一个对象。
2.根据权利要求1所述的3D引擎中的对象渲染方法,其特征在于,所述渲染对象收集器为线性表。
3.根据权利要求1所述的3D引擎中的对象渲染方法,其特征在于,所述读取所述渲染对象收集器,渲染所述渲染对象收集器的每一个对象的步骤为:
读取所述渲染对象收集器中存储的对象,获取所述对象的属性数据,根据所述属性数据对每个对象进行渲染。
4.一种3D引擎中的对象渲染系统,其特征在于,包括:
创建模块,用于创建渲染对象收集器;
收集模块,用于当对象添加到当前编辑的场景时,收集所述对象添加至所述渲染对象收集器中;
删除模块,用于当对象移除出所述场景时,从所述渲染对象收集器中查找到所述对象并删除;
渲染模块,用于当渲染每一帧场景时,读取所述渲染对象收集器,渲染所述渲染对象收集器中的每一个对象。
5.根据权利要求4所述的3D引擎中的对象渲染系统,其特征在于,所述渲染对象收集器为线性表。
6.根据权利要求4所述的3D引擎中的对象渲染系统,其特征在于,所述渲染模块还用于读取所述渲染对象收集器中存储的对象,获取所述对象的属性数据,根据所述属性数据对每个对象进行渲染。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310597785.0A CN103810745A (zh) | 2013-11-21 | 2013-11-21 | 3d引擎中的对象渲染方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310597785.0A CN103810745A (zh) | 2013-11-21 | 2013-11-21 | 3d引擎中的对象渲染方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103810745A true CN103810745A (zh) | 2014-05-21 |
Family
ID=50707460
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310597785.0A Pending CN103810745A (zh) | 2013-11-21 | 2013-11-21 | 3d引擎中的对象渲染方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103810745A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109471721A (zh) * | 2018-10-19 | 2019-03-15 | 珠海金山网络游戏科技有限公司 | 一种对象添加方法、装置及设备 |
CN114170368A (zh) * | 2021-12-10 | 2022-03-11 | 京东方科技集团股份有限公司 | 模型的四边形线框的渲染方法、系统及模型渲染设备 |
CN117315121A (zh) * | 2023-10-12 | 2023-12-29 | 重庆爱车天下科技有限公司 | 一种基于车规级芯片3d渲染引擎系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030117589A1 (en) * | 2001-11-27 | 2003-06-26 | Sony Computer Entertainment Inc. | Image processor, components thereof, and rendering method |
CN101286240A (zh) * | 2008-04-22 | 2008-10-15 | 北京航空航天大学 | 一种可快速配置和实时渲染的安防三维电子地图 |
CN102654921A (zh) * | 2011-03-03 | 2012-09-05 | 福建星网视易信息系统有限公司 | 用于对象管理的三维图形引擎 |
-
2013
- 2013-11-21 CN CN201310597785.0A patent/CN103810745A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030117589A1 (en) * | 2001-11-27 | 2003-06-26 | Sony Computer Entertainment Inc. | Image processor, components thereof, and rendering method |
CN101286240A (zh) * | 2008-04-22 | 2008-10-15 | 北京航空航天大学 | 一种可快速配置和实时渲染的安防三维电子地图 |
CN102654921A (zh) * | 2011-03-03 | 2012-09-05 | 福建星网视易信息系统有限公司 | 用于对象管理的三维图形引擎 |
Non-Patent Citations (1)
Title |
---|
况卫飞 等: "三维渲染引擎编辑器的研究", 《电子设计工程》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109471721A (zh) * | 2018-10-19 | 2019-03-15 | 珠海金山网络游戏科技有限公司 | 一种对象添加方法、装置及设备 |
CN114170368A (zh) * | 2021-12-10 | 2022-03-11 | 京东方科技集团股份有限公司 | 模型的四边形线框的渲染方法、系统及模型渲染设备 |
CN117315121A (zh) * | 2023-10-12 | 2023-12-29 | 重庆爱车天下科技有限公司 | 一种基于车规级芯片3d渲染引擎系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102708197B (zh) | 一种多媒体文件管理方法及装置 | |
CN112235631A (zh) | 视频处理方法、装置、电子设备及存储介质 | |
CN107704203B (zh) | 聚合大文件的删除方法、装置、设备及计算机存储介质 | |
CN102541538A (zh) | 一种基于移动终端的图片显示方法及装置 | |
KR102310246B1 (ko) | 세컨더리 인덱스 생성 방법 및 세컨더리 인덱스 저장 장치 | |
RU2017135819A (ru) | Способ для декодирования битового потока видео | |
CN102724485A (zh) | 采用双核处理器对输入视频进行结构化描述的装置和方法 | |
CN106557545A (zh) | 视频检索方法和装置 | |
CN103810745A (zh) | 3d引擎中的对象渲染方法和系统 | |
KR102147633B1 (ko) | 가변 길이 코딩된 파일을 디코딩하는 방법 및 장치 | |
CN112732191B (zh) | 基于日志结构合并树合并数据的方法、系统、设备及介质 | |
CN104185088A (zh) | 一种视频处理方法及装置 | |
WO2022016859A1 (zh) | 一种自动驾驶仿真渲染方法、装置、设备及可读介质 | |
CN104217011A (zh) | HBase二级索引表的查询方法和装置 | |
CN102332284A (zh) | 适用于数字媒体播出的多媒体数据处理方法及其处理系统 | |
CN105472207A (zh) | 一种视音频文件渲染方法及装置 | |
CN106570060B (zh) | 一种信息流中数据的随机抽取方法及装置 | |
TW201601541A (zh) | 網路攝影資料管理系統與方法 | |
CN103399904A (zh) | 数据处理方法及数据处理系统 | |
JP2014532220A (ja) | ネットコメントの収集方法およびシステム | |
CN105528443B (zh) | 一种管理应用的方法、装置及电子设备 | |
CN106873906A (zh) | 用于管理元信息的方法和装置 | |
CN104268220B (zh) | 音视频类应用垃圾文件的清理方法及装置 | |
CN108846039B (zh) | 数据流向确定方法及装置 | |
CN104539895A (zh) | 一种视频分层存储系统及处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140521 |