CN107492139A - 泛光信息的处理方法、装置、存储介质、处理器及终端 - Google Patents
泛光信息的处理方法、装置、存储介质、处理器及终端 Download PDFInfo
- Publication number
- CN107492139A CN107492139A CN201710742961.3A CN201710742961A CN107492139A CN 107492139 A CN107492139 A CN 107492139A CN 201710742961 A CN201710742961 A CN 201710742961A CN 107492139 A CN107492139 A CN 107492139A
- Authority
- CN
- China
- Prior art keywords
- floodlight
- information
- pixel
- current pixel
- rendering objects
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
本发明公开了一种泛光信息的处理方法、装置、存储介质、处理器及终端。该方法包括:根据渲染对象的透明属性确定编码方式;按照编码方式对渲染对象包含的每个像素的泛光信息进行编码。本发明解决了相关技术中所提供的泛光渲染方式无法满足在移动平台上运行游戏的表现需求的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种泛光信息的处理方法、装置、存储介质、处理器及终端。
背景技术
泛光(Bloom)效果是一种常见光学效应,其是指人眼或者摄像镜头在观察亮度相对较高的对象时(比如,霓虹灯,反射太阳光的水面,晴朗的天空)会产生一种光晕溢出的效果。泛光的产生主要是由人眼晶状体或者相机透镜的散射导致的。在Bloom游戏场景中,由高亮度的室外环境所产生的光晕已经浸入到游戏角色的边缘。
泛光的存在可以从视觉上提高画面的对比度,增强画面的表现力。因此,在注重画面质量游戏工业界,泛光效果已经得到极为广泛的应用。早在1999年,游戏Ico和Outcast便能够实现实时的泛光效果。而到了2004年,泛光效果已经基本上成为所有三维(3D)游戏的标配。
在计算机图形学中,对泛光的模拟通常使用卷积的方法。即使用一个Disk Kernel对游戏画面进行卷积来模拟透镜的散射。在游戏运行过程中,为了提高运行效率,卷积通常采用一个常见的高斯模糊(Gaussian Blur)来处理。由于光溢出的程度与图像的亮度相关,而只有高动态范围(High Dynamic Range,简称为HDR)图像才能够表示出画面的完整泛光信息,因此,泛光效果只有在HDR渲染中才能够得到较为完整的体现。
目前,受限于设备机能和兼容性,大多数移动平台下的游戏渲染通常使用低动态范围(Low Dynamic Range,简称为LDR)渲染流程,这使得泛光效果的实现变得较为困难。
LDR与HDR的主要区别在于:渲染所用的帧缓存格式不同。在渲染的过程中,需要使用一个缓存(称为帧缓存)用于存储中间渲染结果。
在LDR渲染流程下,通常使用R8G8B8A8格式的帧缓存(即R,G,B,A各自占有8个bit,总共32个bit),红绿蓝(Red Green Blue,简称为RGB)用来存储颜色,透明度(Alpha,简称为A)用于存储透明度。由于各通道仅占8个bit,其仅能够表示256种不同的取值,故而该精度不足于保留所有的颜色信息。但是,该格式使用广泛,在移动平台上也能够得到很好的支持,而且占用带宽小,性能上也有很大的优势,因此还是当前最现实可行的方案。
而在HDR渲染流程下,通常使用每个通道16-bit的帧缓存格式,其与LDR相比,极大地提升了表示精度,但是带来的代价便是占用的内存和带宽提升至原来的两倍;同时也有大量的移动设备无法支持16-bit的帧缓存格式,故而诸多缺点导致HDR渲染通常只能用于个人计算机(PC)端或者主机/家用机(Console)所运行的游戏上,而无法在移动平台上得到广泛的应用。
多渲染目标(Multiple Render Target,简称为MRT)技术是指在渲染过程中可以同时使用多个帧缓存(既可以是多个LDR帧缓存,也可以是多个HDR帧缓存),多个帧缓存可以存储更多的信息,当然同时也会占用更多的内存和带宽。该技术在移动平台上也难以得到很好的支持。
综合上述分析,相关技术中在游戏渲染中实现泛光效果的方式主要包括以下三种:
方式一、HDR方案
HDR方案是理论上的标准方案。首先,使用HDR渲染管线将渲染的结果存储为HDR图像,其可以记录相对完整的泛光信息,通过泛光信息判断哪些图像区域可以将光溢出到邻近像素。然后,在利用高斯模糊来模拟光的溢出。最后,再合成回原图像,即完成整个泛光效果的模拟。
此种方式的优点在于实现简单且可以渲染出正确的泛光效果。但是鉴于HDR通常需要使用每通道16位的图像格式来进行存储,这意味要比通常的8位格式多出一倍的空间消耗和带宽消耗。更为重要的是,虽然HDR渲染在PC游戏上得到了广泛的应用,但是在移动端面对硬件环境的多样性和复杂性,HDR渲染尚未得到广泛的支持。同时,即使在支持16位图像格式的设备上,HDR渲染相对于LDR渲染,在耗电、发热等指标上都毫无优势。综上可知,基于HDR方案的泛光效果在移动或手持平台上难以得到广泛应用。
方式二、LDR+MRT方案
LDR+MRT方案是在LDR渲染流程下对HDR方案的一种妥协。在LDR渲染流程下,图像的亮度通过色调映射(Tone Mapping)被强制规范到[0,1]范围内。由于色调映射丢失了大量的泛光信息,使得映射后的LDR图像没有足够的信息来标记出强亮度区域以进行泛光渲染。为此,MRT方案使用一张额外的图像来解决这些问题。通过在渲染流程中加入一张额外的渲染目标,可以辅助存储完整的泛光信息。该方案也可以认为是HDR方案的一个变种,即将HDR图像采用两张LDR图像来表示。由于泛光信息不再丢失,泛光的渲染也不存在任何障碍了。
LDR+MRT方案同样可以实现出正确的泛光,其与HDR方案的不同之处在于:该方案不再需要硬件对16位图像格式进行支持,但取而代之的是需要支持MRT。因此,在硬件兼容性上,LDR+MRT并不具备任何优势,而且有着与HDR方案同样的空间消耗和带宽增加的缺陷。在移动平台上,LDR+MRT方案也并不是一种较好的选择。
方式三、LDR朴素方案
LDR朴素方案即直接在LDR图像上进行泛光渲染。由于泛光信息的丢失,泛光效果无法进行有效的区域标示,进而导致整个图像都有可能受到泛光的影响,出现无法忍受的画面过曝现象。为了避免这种失真,在进行最初的场景设计时,灯光、材质等诸多流程上都需要小心地处理,进而增加了制作流程的复杂度。而且在一些难以控制的情况下(例如:存在大量粒子效果的场景),画面过曝现象几乎无法避免。
LDR朴素方案虽然无法对泛光的区域进行有效地控制,但是由于其实现简单,效率较高,也不存在任何兼容性问题,因此,在大多数设备上都能够得到支持。于是,在很多情况下,该方案便成为一个无奈的选择。
由此可见,现有的泛光渲染方案的既有缺陷(依赖HDR或MRT,无法较好地兼容移动平台或者无法对泛光区域进行有效地控制造成画面过爆),极大地加强了在移动平台上进行正确并高效的泛光渲染的实现难度。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明至少部分实施例提供了一种泛光信息的处理方法、装置、存储介质、处理器及终端,以至少解决相关技术中所提供的泛光渲染方式无法满足在移动平台上运行游戏的表现需求的技术问题。
根据本发明其中一实施例,提供了一种泛光信息的处理方法,包括:
根据渲染对象的透明属性确定编码方式;按照编码方式对渲染对象包含的每个像素的泛光信息进行编码。
可选地,根据渲染对象的透明属性确定编码方式包括:当透明属性表示渲染对象为不透明对象时,确定将当前像素的泛光信息编码至图像帧缓存的透明度Alpha通道;当透明属性表示渲染对象为透明对象时,确定将当前像素的泛光信息和当前像素的透明度信息编码至Alpha通道。
可选地,按照编码方式对每个像素的泛光信息进行编码包括:当透明属性表示渲染对象为不透明对象时,在Alpha通道的部分或全部比特位写入相同的数值,其中,数值表示当前像素的泛光信息;当透明属性表示渲染对象为透明对象时,将当前像素的泛光信息写入Alpha通道的最低比特位以及将当前像素的透明度信息写入Alpha通道中除最低比特位之外的其余比特位。
可选地,在按照编码方式对每个像素的泛光信息进行编码之后,还包括:将不透明对象包含的每个像素与透明对象包含的每个像素进行叠加处理,选取Alpha通道的最大值,得到叠加后的Alpha通道。
可选地,在按照编码方式对每个像素的泛光信息进行编码之后,还包括:从叠加后的Alpha通道中提取出当前像素的泛光信息;根据当前像素的泛光信息判断当前像素是否位于泛光区域。
根据本发明其中一实施例,还提供了一种泛光信息的处理装置,包括:
确定模块,用于根据渲染对象的透明属性确定编码方式;处理模块,用于按照编码方式对渲染对象包含的每个像素的泛光信息进行编码。
可选地,确定模块,用于当透明属性表示渲染对象为不透明对象时,确定将当前像素的泛光信息编码至图像帧缓存的透明度Alpha通道;以及当透明属性表示渲染对象为透明对象时,确定将当前像素的泛光信息和当前像素的透明度信息编码至Alpha通道。
可选地,处理模块,用于当透明属性表示渲染对象为不透明对象时,在Alpha通道的部分或全部比特位写入相同的数值,其中,数值表示当前像素的泛光信息;以及当透明属性表示渲染对象为透明对象时,将当前像素的泛光信息写入Alpha通道的最低比特位以及将当前像素的透明度信息写入Alpha通道中除最低比特位之外的其余比特位。
可选地,上述装置还包括:叠加模块,用于将不透明对象包含的每个像素与透明对象包含的每个像素进行叠加处理,选取Alpha通道的最大值,得到叠加后的Alpha通道。
可选地,上述装置还包括:提取模块,用于从叠加后的Alpha通道中提取出当前像素的泛光信息;判断模块,用于根据当前像素的泛光信息判断当前像素是否位于泛光区域。
根据本发明其中一实施例,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述泛光信息的处理方法。
根据本发明其中一实施例,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述泛光信息的处理方法。
根据本发明其中一实施例,还提供了一种终端,包括:一个或多个处理器,存储器,显示装置以及一个或多个程序,其中,一个或多个程序被存储在存储器中,并且被配置为由一个或多个处理器执行,一个或多个程序用于执行上述泛光信息的处理方法。
在本发明至少部分实施例中,采用根据渲染对象的透明属性确定编码方式的方式,按照编码方式对渲染对象包含的每个像素的泛光信息进行编码,该方案的运行效率和设备兼容性与LDR朴素方案几乎相同,并且相对于现有方案具有极大的效果提升,可以有效地满足移动平台上运行游戏的表现需求,从而避免依赖于HDR和MRT,具有较高的运行效率和设备兼容性,能够很好地控制泛光区域,不影响游戏画面其它组成元素的渲染效果,易于集成,容易实现,进而解决了相关技术中所提供的泛光渲染方式无法满足在移动平台上运行游戏的表现需求的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明其中一实施例的泛光信息的处理方法的流程图;
图2是根据本发明其中一实施例的泛光信息的处理装置的结构框图;
图3是根据本发明其中一优选实施例的泛光信息的处理装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明其中一实施例,提供了一种泛光信息的处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明其中一实施例的泛光信息的处理方法的流程图,如图1所示,该方法包括如下步骤:
步骤S12,根据渲染对象的透明属性确定编码方式;
步骤S14,按照编码方式对渲染对象包含的每个像素的泛光信息进行编码。
通过上述步骤,可以采用根据渲染对象的透明属性确定编码方式的方式,按照编码方式对渲染对象包含的每个像素的泛光信息进行编码,该方案的运行效率和设备兼容性与LDR朴素方案几乎相同,并且相对于现有方案具有极大的效果提升,可以有效地满足移动平台上运行游戏的表现需求,从而避免依赖于HDR和MRT,具有较高的运行效率和设备兼容性,能够很好地控制泛光区域,不影响游戏画面其它组成元素的渲染效果,易于集成,容易实现,进而解决了相关技术中所提供的泛光渲染方式无法满足在移动平台上运行游戏的表现需求的技术问题。
可选地,在步骤S12中,根据渲染对象的透明属性确定编码方式可以包括以下执行步骤:
步骤S121,当透明属性表示渲染对象为不透明对象时,确定将当前像素的泛光信息编码至图像帧缓存的透明度Alpha通道;
步骤S122,当透明属性表示渲染对象为透明对象时,确定将当前像素的泛光信息和当前像素的透明度信息编码至Alpha通道。
在不依赖于HDR和MRT的情况下,为了对泛光区域进行控制,需要额外存储一些信息用于对泛光区域进行标记。泛光区域是画面亮度值大于预设阈值的区域。而泛光信息则是用来标识某个像素是否属于泛光区域。由于泛光信息在存储至LDR图像缓存时会丢失精度,因此无法从LDR图像缓存中根据亮度信息恢复出泛光信息,而只能将泛光信息以特定方式也存储至LDR缓存。
但是,LDR只有RGBA各8-bit共32-bit的空间,而RGB用于存储颜色不能被动用(人眼对颜色信息比较敏感,如果修改RGB所表示的颜色,那么人眼很容易发现画面的失真),因此只有设法将泛光信息存储至A通道,即Alpha通道,其用于存储透明度信息(人眼对透明度信息相对不敏感)。但是Alpha通道通常用于执行混合(其是将半透明的图像根据透明度叠加到底色上)操作,如果修改了Alpha值便会影响到半透明物体的渲染)。
为此,可以使用一种新的特殊编码方式将Alpha和泛光信息进行统一编码,这样便可以将泛光信息存储在LDR图像缓存的Alpha通道中,同时不影响图像缓存的混合。
对于泛光效果的渲染,通常可以包括以下执行步骤:
第一步、渲染正常图像。
第二步、提取高亮度区域。
第三步、对高亮度区域进行高斯模糊。
第四步、叠加回正常图像,得到泛光效果。
上述第二步(提取高亮度区域)是本发明所提供的技术方案中最为关键的部分。为了有效地标识图像中的高亮度区域,在执行第一步(渲染正常图像)操作时需要执行一些特殊地编码操作,其可以包括:
(1)在渲染不透明物体时,将泛光信息写入Alpha通道;
(2)在渲染透明物体时,将泛光信息与透明度信息写入Alpha通道。
可选地,在步骤S14中,按照编码方式对每个像素的泛光信息进行编码可以包括以下执行步骤:
步骤S141,当透明属性表示渲染对象为不透明对象时,在Alpha通道的部分或全部比特位写入相同的数值,其中,数值表示当前像素的泛光信息;
步骤S142,当透明属性表示渲染对象为透明对象时,将当前像素的泛光信息写入Alpha通道的最低比特位以及将当前像素的透明度信息写入Alpha通道中除最低比特位之外的其余比特位。
在上述操作过程中,包含有两个对泛光信息的编码过程(编码过程1,编码过程2),其原因在于:在使用LDR帧缓存的情况下,每个颜色通道仅占8位,其所能表示的范围仅为[0,255]。这样狭窄的表示范围不足于表达高亮度信息,因此需要将高亮度信息通过特殊的编码进行压缩,存储至其它位置。为此,可以选择将是否为高亮度区域这一信息通过1个bit来进行编码表示,然后存储至帧缓存的Alpha通道。
由于不透明物体与半透明物体对于Alpha通道的需求差异,可以将编码过程划分为两个不同的编码过程,编码过程1针对不透明物体,而编码过程2针对半透明物体。
编码过程1:
在该编码过程中中,若bloom值大于1,表示该像素属于泛光区域,返回值1;否则,说明该像素不属于泛光区域,返回值0。
由于LDR缓存会自动将浮点数转换成8-bit整数,因此,返回值1实际上是在LDR的Alpha通道内写入255,而返回值0则是在LDR的Alpha通道内写入0。换言之,若该像素产生泛光,则将255写入到Alpha通道,否则,将0写入到Alpha通道。由于不透明物体无需透明度信息,因此不需要考虑透明度问题。
编码过程2:
由于半透明物体需要考虑到透明度问题,因此这里将透明度与泛光信息一同存入至8-bit的Alpha通道。表1用于表示将透明度与泛光信息一同存入Alpha通道的存储方式,如表1所示:
表1
具体地,采用Alpha通道的最低位(即第0位)表示泛光信息,另外采用高7位(第1~7位)存储透明度信息,这样总共可以表示2的7次方=128种不同的透明度,进而能够在较大程度上满足透明度需求。
可选地,在步骤S14,按照编码方式对每个像素的泛光信息进行编码之后,还可以包括以下执行步骤:
步骤S15,将不透明对象包含的每个像素与透明对象包含的每个像素进行叠加处理,选取Alpha通道的最大值,得到叠加后的Alpha通道。
使用最大值(Max)混合操作可以对Alpha通道进行混合,从而确保不透明物体与半透明物体的泛光信息互不干扰。同时,半透明物体自身的泛光信息也可以得到合理地叠加。经过以上处理后,便可以在LDR管线中进行高效率的泛光渲染。
Max混合操作即是将当前颜色的Alpha值与底色的Alpha值进行比较,以便将较大的取值存储至底色。例如,底色的Alpha值为200,当前颜色的Alpha值为255,则需要将255存储至底色的Alpha通道。这种混合模式可以实现正确地叠加不透明物体与半透明物体的泛光信息。若不透明物体属于泛光区域,则可以向Alpha通道存入255,这样无论在上面叠加多少半透明物体,Alpha通道取Max操作始终为255,其表示这个像素会产生泛光,进而得到正确的泛光结果。如果不透明物体不属于泛光区域,则可以向Alpha通道存入0,而在0与任意(不小于0)值之间执行Max操作的结果都会是其他值,因此该像素是否泛光则由其他值的半透明物体决定,进而得到正确的泛光结果。
可选地,在步骤S14,按照编码方式对每个像素的泛光信息进行编码之后,还可以包括以下执行步骤:
步骤S16,从叠加后的Alpha通道中提取出当前像素的泛光信息;根据当前像素的泛光信息判断当前像素是否位于泛光区域。
在上述操作过程中,还包含一个泛光信息的解码过程(解码过程1)。在上述第二步中,提取高亮度区域可以包括以下执行步骤:
(1)从Alpha通道中恢复出泛光信息;
(2)根据泛光信息判断是否为高亮区域。
在泛光信息的解码过程1中,解码方式如下:
在解码过程中,便是将Alpha通道的最低位提取出来,如果该位显示为1,则返回1,说明该像素属于泛光区域,否则返回0,说明该像素不属于泛光区域。
无论是对于透明物体还是不透明物体,其解码过程均采用相同的处理方式,因此,相对于上述编码过程1与编码过程2这两个编码过程而言,解码过程只需要一个。
通过上述编码过程1和编码过程2,可以有效地将泛光度信息存储至LDR帧缓存的Alpha通道,同时还不会影响半透明物体的渲染。通过使用上述技术方案,可以在仅使用LDR的情况下实现泛光效果,摆脱对HDR的依赖,进而消耗更少的带宽,获得更好的兼容性与更高的运行效率,因此更加适用于移动平台。
图2是根据本发明其中一实施例的泛光信息的处理装置的结构框图,如图2所示,该装置包括:确定模块10,用于根据渲染对象的透明属性确定编码方式;处理模块20,用于按照编码方式对渲染对象包含的每个像素的泛光信息进行编码。
可选地,确定模块10,用于当透明属性表示渲染对象为不透明对象时,确定将当前像素的泛光信息编码至图像帧缓存的透明度Alpha通道;以及当透明属性表示渲染对象为透明对象时,确定将当前像素的泛光信息和当前像素的透明度信息编码至Alpha通道。
可选地,处理模块20,用于当透明属性表示渲染对象为不透明对象时,在Alpha通道的部分或全部比特位写入相同的数值,其中,数值表示当前像素的泛光信息;以及当透明属性表示渲染对象为透明对象时,将当前像素的泛光信息写入Alpha通道的最低比特位以及将当前像素的透明度信息写入Alpha通道中除最低比特位之外的其余比特位。
可选地,图3是根据本发明其中一优选实施例的泛光信息的处理装置的结构框图,如图3所示,上述装置还可以包括:叠加模块30,用于将不透明对象包含的每个像素与透明对象包含的每个像素进行叠加处理,选取Alpha通道的最大值,得到叠加后的Alpha通道。
可选地,如图3所示,上述装置还可以包括:提取模块40,用于从叠加后的Alpha通道中提取出当前像素的泛光信息;判断模块,用于根据当前像素的泛光信息判断当前像素是否位于泛光区域。
根据本发明其中一实施例,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述泛光信息的处理方法。上述存储介质可以包括但不限于:U盘、只读存储器(ROM)、随机存取存储器(RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
根据本发明其中一实施例,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述泛光信息的处理方法。上述处理器可以包括但不限于:微处理器(MCU)或可编程逻辑器件(FPGA)等的处理装置。
根据本发明其中一实施例,还提供了一种终端,包括:一个或多个处理器,存储器,显示装置以及一个或多个程序,其中,一个或多个程序被存储在存储器中,并且被配置为由一个或多个处理器执行,一个或多个程序用于执行上述泛光信息的处理方法。在一些实施例中,上述终端可以是智能手机(例如:Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,简称为MID)、PAD等终端设备。上述显示装置可以是触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与终端的用户界面进行交互。此外,上述终端还可以包括:输入/输出接口(I/O接口)、通用串行总线(USB)端口、网络接口、电源和/或相机。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (13)
1.一种泛光信息的处理方法,其特征在于,包括:
根据渲染对象的透明属性确定编码方式;
按照所述编码方式对所述渲染对象包含的每个像素的泛光信息进行编码。
2.根据权利要求1所述的方法,其特征在于,根据所述渲染对象的所述透明属性确定所述编码方式包括:
当所述透明属性表示所述渲染对象为不透明对象时,确定将当前像素的泛光信息编码至图像帧缓存的透明度Alpha通道;
当所述透明属性表示所述渲染对象为透明对象时,确定将当前像素的泛光信息和所述当前像素的透明度信息编码至所述Alpha通道。
3.根据权利要求2所述的方法,其特征在于,按照所述编码方式对每个像素的泛光信息进行编码包括:
当所述透明属性表示所述渲染对象为不透明对象时,在所述Alpha通道的部分或全部比特位写入相同的数值,其中,所述数值表示所述当前像素的泛光信息;
当所述透明属性表示所述渲染对象为透明对象时,将所述当前像素的泛光信息写入所述Alpha通道的最低比特位以及将所述当前像素的透明度信息写入所述Alpha通道中除所述最低比特位之外的其余比特位。
4.根据权利要求3所述的方法,其特征在于,在按照所述编码方式对每个像素的泛光信息进行编码之后,还包括:
将所述不透明对象包含的每个像素与所述透明对象包含的每个像素进行叠加处理,选取Alpha通道的最大值,得到叠加后的Alpha通道。
5.根据权利要求4所述的方法,其特征在于,在按照所述编码方式对每个像素的泛光信息进行编码之后,还包括:
从所述叠加后的Alpha通道中提取出所述当前像素的泛光信息;
根据所述当前像素的泛光信息判断所述当前像素是否位于泛光区域。
6.一种泛光信息的处理装置,其特征在于,包括:
确定模块,用于根据渲染对象的透明属性确定编码方式;
处理模块,用于按照所述编码方式对所述渲染对象包含的每个像素的泛光信息进行编码。
7.根据权利要求6所述的装置,其特征在于,所述确定模块,用于当所述透明属性表示所述渲染对象为不透明对象时,确定将当前像素的泛光信息编码至图像帧缓存的透明度Alpha通道;以及当所述透明属性表示所述渲染对象为透明对象时,确定将当前像素的泛光信息和所述当前像素的透明度信息编码至所述Alpha通道。
8.根据权利要求7所述的装置,其特征在于,所述处理模块,用于当所述透明属性表示所述渲染对象为不透明对象时,在所述Alpha通道的部分或全部比特位写入相同的数值,其中,所述数值表示所述当前像素的泛光信息;以及当所述透明属性表示所述渲染对象为透明对象时,将所述当前像素的泛光信息写入所述Alpha通道的最低比特位以及将所述当前像素的透明度信息写入所述Alpha通道中除所述最低比特位之外的其余比特位。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
叠加模块,用于将所述不透明对象包含的每个像素与所述透明对象包含的每个像素进行叠加处理,选取Alpha通道的最大值,得到叠加后的Alpha通道。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
提取模块,用于从所述叠加后的Alpha通道中提取出所述当前像素的泛光信息;
判断模块,用于根据所述当前像素的泛光信息判断所述当前像素是否位于泛光区域。
11.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至5中任意一项所述的泛光信息的处理方法。
12.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至5中任意一项所述的泛光信息的处理方法。
13.一种终端,其特征在于,包括:一个或多个处理器,存储器,显示装置以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序用于执行权利要求1至5中任意一项所述的泛光信息的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710742961.3A CN107492139B (zh) | 2017-08-25 | 2017-08-25 | 泛光信息的处理方法、装置、存储介质、处理器及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710742961.3A CN107492139B (zh) | 2017-08-25 | 2017-08-25 | 泛光信息的处理方法、装置、存储介质、处理器及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107492139A true CN107492139A (zh) | 2017-12-19 |
CN107492139B CN107492139B (zh) | 2020-06-16 |
Family
ID=60650736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710742961.3A Active CN107492139B (zh) | 2017-08-25 | 2017-08-25 | 泛光信息的处理方法、装置、存储介质、处理器及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107492139B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109395384A (zh) * | 2018-09-12 | 2019-03-01 | Oppo广东移动通信有限公司 | 游戏渲染方法及相关产品 |
CN109859303A (zh) * | 2019-01-16 | 2019-06-07 | 网易(杭州)网络有限公司 | 图像的渲染方法、装置、终端设备及可读存储介质 |
CN110288670A (zh) * | 2019-06-19 | 2019-09-27 | 杭州绝地科技股份有限公司 | 一种ui描边特效的高性能渲染方法 |
CN111078601A (zh) * | 2019-12-18 | 2020-04-28 | 成都国科微电子有限公司 | 一种总线带宽使用峰值调整方法及装置 |
CN112402958A (zh) * | 2020-10-27 | 2021-02-26 | 腾讯科技(深圳)有限公司 | 一种图像处理方法、装置和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1426574A (zh) * | 2000-04-14 | 2003-06-25 | 皮克塞(研究)有限公司 | 形状处理器 |
US20140126814A1 (en) * | 2011-11-01 | 2014-05-08 | Zynga Inc. | Image compression with alpha channel data |
CN103810742A (zh) * | 2012-11-05 | 2014-05-21 | 正谓有限公司 | 图像渲染方法和系统 |
-
2017
- 2017-08-25 CN CN201710742961.3A patent/CN107492139B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1426574A (zh) * | 2000-04-14 | 2003-06-25 | 皮克塞(研究)有限公司 | 形状处理器 |
US20140126814A1 (en) * | 2011-11-01 | 2014-05-08 | Zynga Inc. | Image compression with alpha channel data |
CN103810742A (zh) * | 2012-11-05 | 2014-05-21 | 正谓有限公司 | 图像渲染方法和系统 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109395384A (zh) * | 2018-09-12 | 2019-03-01 | Oppo广东移动通信有限公司 | 游戏渲染方法及相关产品 |
US10991151B2 (en) | 2018-09-12 | 2021-04-27 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Game rendering method, terminal, and non-transitory computer-readable storage medium |
CN109859303A (zh) * | 2019-01-16 | 2019-06-07 | 网易(杭州)网络有限公司 | 图像的渲染方法、装置、终端设备及可读存储介质 |
CN110288670A (zh) * | 2019-06-19 | 2019-09-27 | 杭州绝地科技股份有限公司 | 一种ui描边特效的高性能渲染方法 |
CN110288670B (zh) * | 2019-06-19 | 2023-06-23 | 杭州绝地科技股份有限公司 | 一种ui描边特效的高性能渲染方法 |
CN111078601A (zh) * | 2019-12-18 | 2020-04-28 | 成都国科微电子有限公司 | 一种总线带宽使用峰值调整方法及装置 |
CN112402958A (zh) * | 2020-10-27 | 2021-02-26 | 腾讯科技(深圳)有限公司 | 一种图像处理方法、装置和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107492139B (zh) | 2020-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107492139A (zh) | 泛光信息的处理方法、装置、存储介质、处理器及终端 | |
CN104272740B (zh) | 颜色缓冲和深度缓冲压缩 | |
CN111080780B (zh) | 虚拟角色模型的边缘处理方法和装置 | |
US6043821A (en) | Method and apparatus for rendering pixel information from blended texture maps | |
US7532222B2 (en) | Anti-aliasing content using opacity blending | |
CN108509819A (zh) | 一种用于光照不均匀的二维码二值化方法 | |
US9552626B1 (en) | Digital image blemish removal | |
US11054969B2 (en) | Method and device for displaying page of electronic book, and terminal device | |
CN105528207A (zh) | 一种虚拟现实系统及其中显示安卓应用图像的方法和装置 | |
EP3161794A1 (en) | Rendering graphics to overlapping bins | |
US11508109B2 (en) | Methods and apparatus for machine learning rendering | |
CN105023234B (zh) | 基于嵌入式系统存储优化的图形加速方法 | |
CN103440674A (zh) | 一种数字图像蜡笔特效的快速生成方法 | |
CN108022285A (zh) | 地图渲染方法及装置 | |
WO2023065665A1 (zh) | 图像处理方法、装置、设备、存储介质及计算机程序产品 | |
US20070200864A1 (en) | Method and system for gathering per-frame image statistics while preserving resolution and runtime performance in a real-time visual simulation | |
CN110266970A (zh) | 一种短视频制作方法和系统 | |
CN112991377A (zh) | 一种基于opencv和shader融合技术的抠像算法 | |
Ramanarayanan et al. | Perception of complex aggregates | |
US11804008B2 (en) | Systems and methods of texture super sampling for low-rate shading | |
CN101296290A (zh) | 一种数码图像显示方法及设备 | |
EP4379647A1 (en) | Render format selection method and device related thereto | |
CN107016976A (zh) | 显示控制方法及装置和显示屏系统 | |
US11908079B2 (en) | Variable rate tessellation | |
CN109859303A (zh) | 图像的渲染方法、装置、终端设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |