CN101127125A - 一种图像渲染方法及系统 - Google Patents
一种图像渲染方法及系统 Download PDFInfo
- Publication number
- CN101127125A CN101127125A CNA2007100772717A CN200710077271A CN101127125A CN 101127125 A CN101127125 A CN 101127125A CN A2007100772717 A CNA2007100772717 A CN A2007100772717A CN 200710077271 A CN200710077271 A CN 200710077271A CN 101127125 A CN101127125 A CN 101127125A
- Authority
- CN
- China
- Prior art keywords
- image
- rendering
- depth
- elements
- module
- 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
- Image Generation (AREA)
Abstract
本发明实施例公开了一种图像渲染方法及系统,该方法包括以下步骤:在图像中的每个元素上标注表示所述元素在图像中的深度的深度参数;对图像中的所有元素按照渲染状态进行分组;逐一将每组渲染状态相同的元素提交进行渲染。本发明实施例能减少渲染提交次数和渲染状态切换的次数,从而减少整个渲染过程的时间消耗,提高图像渲染的效率。
Description
技术领域
本发明属于图像处理领域,尤其涉及一种图像渲染方法及系统。
背景技术
下面以2D游戏渲染过程为例来说明现有技术的图像渲染方法。现有技术的图像渲染方法包括以下步骤:
A、将所有元素(即物件)加载到物件管理器,此时的物件是无序的;
B、将所有物件按在图像(即场景)中的深度由深至浅的顺序进行排序;
C、根据上述顺序将物件顺序交给显示适配器进行渲染。
然而,在实现本发明过程中,发明人发现现有技术中至少存在如下问题:由于现有技术必须严格按照预先排好的顺序进行渲染,只能逐个将元素提交给显示适配器进行渲染,因此渲染提交次数很多,渲染的过程要花费很长的时间;另外,由于可能每个前后进行渲染的元素的渲染状态都不同,因此渲染时要频繁地切换显示适配器的渲染状态,故渲染状态切换次数很多,非常耗时。
发明内容
本发明实施例所要解决的技术问题在于提供一种能减少渲染提交次数和渲染状态切换次数的图像渲染方法及系统。
为解决上述技术问题,本发明实施例提供一种图像渲染方法,其包括以下步骤:
在图像中的每个元素上标注表示所述元素在图像中的深度的深度参数;
对图像中的所有元素按照渲染状态进行分组;
逐一将每组渲染状态相同的元素提交进行渲染。
为解决上述技术问题,本发明实施例提供一种图像渲染方法,其包括以下步骤:
将图像中的透明元素和不透明元素分开;
在图像中的每个元素上标注表示所述元素在图像中的深度的深度参数;
把不透明元素按照渲染状态进行分组,逐一将每组渲染状态相同的元素提交进行渲染;把透明元素按照元素在图像中的深度由深至浅顺序依次渲染。
为解决上述技术问题,本发明实施例还提供一种图像渲染系统,其包括:
深度参数标注模块,用于在图像中的每个元素上标注表示所述元素在图像中的深度的深度参数;
元素分组模块,用于对图像中的所有元素按照渲染状态进行分组;
元素提交模块,用于逐一将每组渲染状态相同的元素提交;
渲染模块,用于对图像中的所有元素进行渲染。
为解决上述技术问题,本发明实施例还提供一种图像渲染系统,其包括:
深度参数标注模块,用于在图像中的每个元素上标注表示所述元素在图像中的深度的深度参数;
分离模块,用于将图像中的透明元素和不透明元素分开;
元素分组模块,用于对所述不透明元素按照渲染状态进行分组;
元素提交模块,用于逐一将每组渲染状态相同的元素提交,将所述透明元素按照元素在图像中的深度由深至浅的顺序提交;
渲染模块,用于对图像中的所有元素进行渲染。
上述技术方案中的一个或多个技术方案具有如下有益效果:由于本发明实施例按照渲染状态对元素进行分组,然后逐一将每组渲染状态相同的元素提交进行渲染,因此本发明实施例能减少渲染提交次数和渲染状态切换的次数,从而减少整个渲染过程的时间消耗,提高图像渲染的效率。
附图说明
图1是本发明第一实施例提供的图像渲染方法的流程图;
图2是本发明第二实施例提供的图像渲染方法的流程图;
图3是本发明第一实施例提供的图像渲染系统的功能模块框图;
图4是本发明第二实施例提供的图像渲染系统的功能模块框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参阅图1,本发明第一实施例提供的图像渲染方法包括以下步骤:
A1、在图像中的每个元素上标注一个表示该元素在图像中的深度的深度参数Z;
A2、对图像中的所有元素按照渲染状态进行分组,所谓渲染状态分组是指把所有渲染状态(如元素的纹理数目、纹理混合状态、ALPHA混合状态等)相同的元素分为一组;
A3、逐一将每组渲染状态相同的元素提交给显示适配器进行渲染,对渲染状态相同的元素同时进行渲染时,如果图像中的多个元素在同一个像素生成渲染结果,则显示适配器比较该多个元素的Z值,将Z值较大的元素的渲染结果剔除,保留Z值较小的元素渲染结果,当然若设置为Z值越小表示元素在图像中的深度越深,则将Z值较小的元素的渲染结果剔除,保留Z值较大的元素渲染结果。
当然本发明第一实施例提供的图像渲染方法中的步骤A2也可在步骤A1之前执行。
请参阅图2,本发明第二实施例提供的图像渲染方法是针对带有透明元素的图像进行渲染的方法,其中,透明元素是指包含透明像素的元素,通常也包含不透明像素,该方法包括以下步骤:
B1、将图像中的透明元素和不透明元素分开;并将透明元素中的透明部分和不透明部分切分成透明元素和不透明元素,从而可减少象素填充消耗;其中,透明部分是指包含透明像素的部分,也有可能包含一些不透明像素,不透明部分是指只包含不透明像素的部分;
B2、在图像中的每个元素上标注一个表示该元素在图像中的深度的深度参数Z;
B3、把不透明元素按照渲染状态进行分组,逐一将每组渲染状态相同的元素提交给显示适配器进行渲染;把透明元素按照元素在图像中的深度由深至浅顺序依次渲染。
当然本发明第二实施例提供的图像渲染方法中的步骤B2也可在步骤B1之前执行。
下面以2D游戏渲染过程为例来说明本发明第三和第四实施例提供的图像渲染方法。本发明实施例将元素分为两类,一类为贴图不透明的元素,另一类为贴图带有透明的元素。
本发明第三实施例提供的图像渲染方法是适用于贴图不透明的元素和贴图带有透明的元素进行渲染的方法,包括以下步骤:
C1、在游戏场景中的每个元素上标注一个表示该元素在场景中的深度的深度参数Z,假设在场景中最深的Z值为1.0,最浅的Z值为0.0,场景中共有5个元素,分别为A、B、C、D、E,其在场景中的深度顺序是A>B>C>D>E,意思是A离我们最远,会被B、C、D和E遮住,本发明实施例在该五个元素上标注参数Z,ZA=5/5、ZB=4/5、ZC=3/5、ZD=2/5、ZE=1/5;
C2、对该五个元素按照渲染状态进行分组,假设元素A和B的渲染状态中的元素的纹理数目相同,则将元素A和B分为一组,假设元素C、D和E的渲染状态中的纹理混合状态相同,则将元素C、D和E分为一组;
C3、先将元素A和B或先将元素C、D和E一起提交给显示适配器进行渲染,这样对于显示适配器实际渲染元素时,就不是按照ABCDE的顺序,假设元素C、D和E在同一个像素生成渲染结果,则显示适配器比较元素C、D和E的Z值,将Z值较大的元素C的渲染结果剔除,保留Z值较小的元素E渲染结果。
当然本发明第三实施例提供的图像渲染方法中的步骤C2也可在步骤C1之前执行。
本发明第四实施例提供的图像渲染方法是针对带有透明元素的图像进行渲染的方法,包括以下步骤:
D1、将游戏场景中的透明元素和不透明元素分开;并将透明元素中的透明部分和不透明部分切分成透明元素和不透明元素,从而可减少象素填充消耗;
D2、在游戏场景中的每个元素上标注一个表示该元素在场景中的深度的深度参数Z;
D3、把不透明元素按照渲染状态进行分组,逐一将每组渲染状态相同的元素提交给显示适配器进行渲染;把透明元素按照元素在场景中的深度由深至浅顺序依次渲染。
当然本发明第四实施例提供的图像渲染方法中的步骤D2也可在步骤D1之前执行。
请参阅图3,本发明第一实施例提供的图像渲染系统包括:
深度参数标注模块,用于在图像中的每个元素上标注表示所述元素在图像中的深度的深度参数;
元素分组模块,用于对图像中的所有元素按照渲染状态进行分组;
元素提交模块,用于逐一将每组渲染状态相同的元素提交给显示适配器;
渲染模块,用于对图像中的所有元素进行渲染,其包括:
深度比较模块,用于比较在同一个像素生成渲染结果的多个元素的深度参数值;
渲染结果剔除模块,用于将所述参数值表示所述元素在图像中的深度较深的元素的渲染结果剔除。
请参阅图4,本发明第二实施例提供的图像渲染系统包括:
深度参数标注模块,用于在图像中的每个元素上标注表示所述元素在图像中的深度的深度参数;
分离模块,用于将图像中的透明元素和不透明元素分开;
切分模块,用于将透明元素中的透明部分和不透明部分切分成透明元素和不透明元素;
元素分组模块,用于对所述不透明元素按照渲染状态进行分组;
元素提交模块,用于逐一将每组渲染状态相同的元素提交给显示适配器,将所述透明元素按照元素在图像中的深度由深至浅的顺序提交给显示适配器;
渲染模块,用于对图像中的所有元素进行渲染,其包括:
深度比较模块,用于比较在同一个像素生成渲染结果的多个元素的深度参数值;
渲染结果剔除模块,用于将所述参数值表示所述元素在图像中的深度较深的元素的渲染结果剔除。
本发明第三实施例提供的图像渲染系统包括:
深度参数标注模块,用于在游戏场景中的每个元素上标注表示所述元素在游戏场景中的深度的深度参数;
元素分组模块,用于对游戏场景中的所有元素按照渲染状态进行分组;
元素提交模块,用于逐一将每组渲染状态相同的元素提交给显示适配器;
渲染模块,用于对游戏场景中的所有元素进行渲染,其包括:
深度比较模块,用于比较在同一个像素生成渲染结果的多个元素的深度参数值;
渲染结果剔除模块,用于将所述参数值表示所述元素在游戏场景中的深度较深的元素的渲染结果剔除。
本发明第四实施例提供的图像渲染系统包括:
深度参数标注模块,用于在游戏场景中的每个元素上标注表示所述元素在游戏场景中的深度的深度参数;
分离模块,用于将游戏场景中透明元素和不透明元素分开;
切分模块,用于将透明元素中的透明部分和不透明部分切分成透明元素和不透明元素;
元素分组模块,用于对所述不透明元素按照渲染状态进行分组;
元素提交模块,用于逐一将每组渲染状态相同的元素提交给显示适配器,将所述透明元素按照元素在游戏场景中的深度由深至浅的顺序提交给显示适配器;
渲染模块,用于对游戏场景中的所有元素进行渲染,其包括:
深度比较模块,用于比较在同一个像素生成渲染结果的多个元素的深度参数值;
渲染结果剔除模块,用于将所述参数值表示所述元素在游戏场景中的深度较深的元素的渲染结果剔除。
利用本发明实施例的方法及系统渲染图像时,假设图像中具有1000个元素,则首先将该1000个元素根据渲染状态进行分类,而渲染状态的种类是有限的,最多也只有10余种,而通常用到的只有几种,假设该1000个元素分为10种渲染状态,则把每个渲染状态相同的元素集中在一起提交给显卡渲染,则只需提交渲染10次,而渲染状态的切换只有10次。因此本发明实施例的方法及系统能减少渲染提交次数和渲染状态切换的次数,从而减少整个渲染过程的时间消耗,提高图像渲染的效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,包括如下步骤:(方法的步骤),所述的存储介质,如ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种图像渲染方法,其特征在于,包括以下步骤:
在图像中的每个元素上标注表示所述元素在图像中的深度的深度参数;
对图像中的所有元素按照渲染状态进行分组;
逐一将每组渲染状态相同的元素提交进行渲染。
2.如权利要求1所述的图像渲染方法,其特征在于,在所述对渲染状态相同的元素进行渲染的步骤中还包括以下步骤:
如果图像中的多个元素在同一个像素生成渲染结果,则显示适配器比较所述多个元素的深度参数值,将所述参数值表示所述元素在图像中的深度较深的元素的渲染结果剔除,保留所述参数值表示所述元素在图像中的深度较浅的元素渲染结果。
3.一种图像渲染方法,其特征在于,包括以下步骤:
将图像中的透明元素和不透明元素分开;
在图像中的每个元素上标注表示所述元素在图像中的深度的深度参数;
把不透明元素按照渲染状态进行分组,逐一将每组渲染状态相同的元素提交进行渲染;把透明元素按照元素在图像中的深度由深至浅顺序依次渲染。
4.如权利要求3所述的图像渲染方法,其特征在于,在所述对渲染状态相同的元素进行渲染的步骤中还包括以下步骤:
如果图像中的多个元素在同一个像素生成渲染结果,则显示适配器比较所述多个元素的深度参数值,将所述参数值表示所述元素在图像中的深度较深的元素的渲染结果剔除,保留所述参数值表示所述元素在图像中的深度较浅的元素渲染结果。
5.如权利要求3所述的图像渲染方法,其特征在于,所述方法还包括以下步骤:将透明元素中的透明部分和不透明部分切分成透明元素和不透明元素。
6.一种图像渲染系统,其特征在于,包括:
深度参数标注模块,用于在图像中的每个元素上标注表示所述元素在图像中的深度的深度参数;
元素分组模块,用于对图像中的所有元素按照渲染状态进行分组;
元素提交模块,用于逐一将每组渲染状态相同的元素提交;
渲染模块,用于对图像中的所有元素进行渲染。
7.如权利要求6所述的图像渲染系统,其特征在于,所述渲染模块包括:深度比较模块,用于比较在同一个像素生成渲染结果的多个元素的深度参数值;
渲染结果剔除模块,用于将所述参数值表示所述元素在图像中的深度较深的元素的渲染结果剔除。
8.一种图像渲染系统,其特征在于,包括:
深度参数标注模块,用于在图像中的每个元素上标注表示所述元素在图像中的深度的深度参数;
分离模块,用于将图像中的透明元素和不透明元素分开;元素分组模块,用于对所述不透明元素按照渲染状态进行分组;
元素提交模块,用于逐一将每组渲染状态相同的元素提交,将所述透明元素按照元素在图像中的深度由深至浅的顺序提交;
渲染模块,用于对图像中的所有元素进行渲染。
9.如权利要求8所述的图像渲染系统,其特征在于,所述渲染模块包括:深度比较模块,用于比较在同一个像素生成渲染结果的多个元素的深度参数值;
渲染结果剔除模块,用于将所述参数值表示所述元素在图像中的深度较深的元素的渲染结果剔除。
10.如权利要求8所述的图像渲染系统,其特征在于,所述系统还包括:
切分模块,用于将透明元素中的透明部分和不透明部分切分成透明元素和不透明元素。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007100772717A CN101127125A (zh) | 2007-09-26 | 2007-09-26 | 一种图像渲染方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007100772717A CN101127125A (zh) | 2007-09-26 | 2007-09-26 | 一种图像渲染方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101127125A true CN101127125A (zh) | 2008-02-20 |
Family
ID=39095149
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007100772717A Pending CN101127125A (zh) | 2007-09-26 | 2007-09-26 | 一种图像渲染方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101127125A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102520937A (zh) * | 2011-11-29 | 2012-06-27 | 广东威创视讯科技股份有限公司 | 优化进程间图像渲染的方法 |
CN103295257A (zh) * | 2012-02-27 | 2013-09-11 | 三星电子株式会社 | 渲染系统和方法 |
US9336623B2 (en) | 2008-12-19 | 2016-05-10 | Imagination Technologies Limited | Multilevel display control list in tile based 3D computer graphics system |
CN105631923A (zh) * | 2015-12-25 | 2016-06-01 | 网易(杭州)网络有限公司 | 一种渲染方法和装置 |
CN106327458A (zh) * | 2016-08-31 | 2017-01-11 | 上海交通大学 | 一种基于图像分层渲染的方法 |
CN106569767A (zh) * | 2016-11-08 | 2017-04-19 | 广东威创视讯科技股份有限公司 | 拼接墙的窗口元素绘制、显示方法和系统 |
CN106774782A (zh) * | 2015-11-24 | 2017-05-31 | 中兴通讯股份有限公司 | 界面显示方法、装置及终端 |
-
2007
- 2007-09-26 CN CNA2007100772717A patent/CN101127125A/zh active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9336623B2 (en) | 2008-12-19 | 2016-05-10 | Imagination Technologies Limited | Multilevel display control list in tile based 3D computer graphics system |
CN102520937A (zh) * | 2011-11-29 | 2012-06-27 | 广东威创视讯科技股份有限公司 | 优化进程间图像渲染的方法 |
CN102520937B (zh) * | 2011-11-29 | 2014-10-29 | 广东威创视讯科技股份有限公司 | 优化进程间图像渲染的方法 |
CN103295257A (zh) * | 2012-02-27 | 2013-09-11 | 三星电子株式会社 | 渲染系统和方法 |
US9805502B2 (en) | 2012-02-27 | 2017-10-31 | Samsung Electronics Co., Ltd. | Rendering system and method |
CN106774782A (zh) * | 2015-11-24 | 2017-05-31 | 中兴通讯股份有限公司 | 界面显示方法、装置及终端 |
CN105631923A (zh) * | 2015-12-25 | 2016-06-01 | 网易(杭州)网络有限公司 | 一种渲染方法和装置 |
CN105631923B (zh) * | 2015-12-25 | 2018-10-23 | 网易(杭州)网络有限公司 | 一种渲染方法和装置 |
CN106327458A (zh) * | 2016-08-31 | 2017-01-11 | 上海交通大学 | 一种基于图像分层渲染的方法 |
CN106569767A (zh) * | 2016-11-08 | 2017-04-19 | 广东威创视讯科技股份有限公司 | 拼接墙的窗口元素绘制、显示方法和系统 |
CN106569767B (zh) * | 2016-11-08 | 2019-09-03 | 广东威创视讯科技股份有限公司 | 拼接墙的窗口元素绘制、显示方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101127125A (zh) | 一种图像渲染方法及系统 | |
CN111080780B (zh) | 虚拟角色模型的边缘处理方法和装置 | |
CN110163831B (zh) | 三维虚拟沙盘的物体动态展示方法、装置及终端设备 | |
CN104240175A (zh) | 一种图片编辑及渲染的方法和装置 | |
CN101620740A (zh) | 交互信息生成方法及系统 | |
CN101178817A (zh) | 一种基于三维场景内三维信息演示文档的实现方法 | |
US20220193547A1 (en) | Method and system for game screen rendering based on multiple graphics cards | |
CN104318538B (zh) | 一种二维序列帧图片拼接成大图片的方法及其所用的装置 | |
CN105844251A (zh) | 一种卡通视频识别方法及装置 | |
CN107492139A (zh) | 泛光信息的处理方法、装置、存储介质、处理器及终端 | |
CN111626250B (zh) | 文本图像的分行方法、装置、计算机设备及可读存储介质 | |
CN111179402A (zh) | 一种目标对象的渲染方法、装置及系统 | |
CN111462164A (zh) | 一种前景分割方法以及基于图像合成的数据增强方法 | |
CN111583378A (zh) | 一种虚拟资产处理的方法及装置、电子设备、存储介质 | |
CN102542528B (zh) | 一种图像转换处理方法及系统 | |
CN111354067A (zh) | 一种基于Unity3D引擎的多模型同屏渲染方法 | |
CN1848179B (zh) | 高效z测试 | |
CA2298081A1 (en) | Image processing apparatus and method of same | |
CN111158647B (zh) | 基于结构化理论的创意素材自适应生成方法及装置 | |
CN109933679A (zh) | 图像中的对象类型识别方法、装置和设备 | |
CN113869385A (zh) | 基于目标检测的海报比对方法、装置、设备及存储介质 | |
CN107707963A (zh) | 一种动态植入视频广告并显示的方法及系统 | |
CN110390710B (zh) | 一种渲染器代理文件的处理方法 | |
CN112312043A (zh) | 一种动画视频导出的优化方法和装置 | |
CN112149745A (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 |