CN112686939B - 景深图像的渲染方法、装置、设备及计算机可读存储介质 - Google Patents
景深图像的渲染方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN112686939B CN112686939B CN202110011428.6A CN202110011428A CN112686939B CN 112686939 B CN112686939 B CN 112686939B CN 202110011428 A CN202110011428 A CN 202110011428A CN 112686939 B CN112686939 B CN 112686939B
- Authority
- CN
- China
- Prior art keywords
- image
- rendered
- rendering
- canvas
- fusion
- 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.)
- Active
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 251
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000004927 fusion Effects 0.000 claims abstract description 106
- 230000000694 effects Effects 0.000 claims abstract description 46
- 238000012545 processing Methods 0.000 claims abstract description 37
- 239000000463 material Substances 0.000 claims description 38
- 230000015654 memory Effects 0.000 claims description 22
- 238000013507 mapping Methods 0.000 claims description 21
- 230000009467 reduction Effects 0.000 claims description 7
- 238000002156 mixing Methods 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 5
- 239000003086 colorant Substances 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000005669 field effect Effects 0.000 description 3
- 239000002245 particle Substances 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 238000007499 fusion processing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012634 optical imaging Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Image Generation (AREA)
- Image Processing (AREA)
Abstract
本申请提供了一种景深图像的渲染方法、装置、设备及计算机可读存储介质;方法包括:获取待渲染图像、以及用于对所述待渲染图像进行透明区域及模糊区域划分的遮罩图像;对所述待渲染图像进行模糊处理,得到对应的模糊图像;通过所述遮罩图像,对所述待渲染图像和所述模糊图像进行图像融合,得到对应的融合图像;对所述待渲染图像及所述融合图像进行图像渲染,得到所述待渲染图像对应的景深图像。通过本申请,能够在实现高效景深效果的同时大大降低功耗。
Description
技术领域
本申请涉及图像处理技术,尤其涉及一种景深图像的渲染方法、装置、设备及计算机可读存储介质。
背景技术
景深效果是相机镜头的重要光学成像特性,在摄影中作为一种非常重要的艺术工具,用于强调所拍摄的对象,使得画面具有层次感。相关技术中的景深效果通过获取一张清晰图像(即待渲染图像),并同时获取场景的深度图,然后利用深度图计算模糊参数,根据模糊参数对清晰图像的部分区域进行模糊,实现待渲染图像在一定距离范围内的图像区域清晰、其余区域模糊的变化,从而达到视线聚焦物体的景深效果;然而,此种方式依赖于深度图,需要将深度图进行额外渲染,大大增加了消耗。
发明内容
本申请实施例提供一种景深图像的渲染方法、装置、设备及计算机可读存储介质,能够在实现高效景深效果的同时大大降低消耗。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种景深图像的渲染方法,包括:
获取待渲染图像、以及用于对所述待渲染图像进行透明区域及模糊区域划分的遮罩图像;
对所述待渲染图像进行模糊处理,得到对应的模糊图像;
通过所述遮罩图像,对所述待渲染图像和所述模糊图像进行图像融合,得到对应的融合图像;
对所述待渲染图像及所述融合图像进行图像渲染,得到所述待渲染图像对应的景深图像。
本申请实施例提供一种景深图像的渲染装置,包括:
获取模块,用于获取待渲染图像、以及用于对所述待渲染图像进行透明区域及模糊区域划分的遮罩图像;
模糊模块,用于对所述待渲染图像进行模糊处理,得到对应的模糊图像;
融合模块,用于通过所述遮罩图像,对所述待渲染图像和所述模糊图像进行图像融合,得到对应的融合图像;
渲染模块,用于对所述待渲染图像及所述融合图像进行图像渲染,得到所述待渲染图像对应的景深图像。
上述方案中,所述获取待渲染图像之前,所述装置还包括:
缓存区创建模块,用于创建包含指令集的命令缓冲区,所述命令缓冲区设置有第一临时缓存区及第二临时缓存区,所述指令集中包括图像获取指令及图像模糊指令;
相应的,所述获取模块,还用于响应于所述图像获取指令,获取待渲染图像,并将所述待渲染图像缓存至所述第一临时缓存区;
所述模糊模块,还用于响应于所述图像模糊指令,对所述待渲染图像进行模糊处理,得到对应的模糊图像,并将所述模糊图像缓存至所述第二临时缓存区。
上述方案中,所述通过所述遮罩图像,对所述待渲染图像和所述模糊图像进行图像融合,得到对应的融合图像之前,所述装置还包括:
画布创建模块,用于当所述待渲染图像为虚拟场景中待渲染图像时,创建所述虚拟场景的画布;
将所述第一临时缓存区缓存的所述待渲染图像、所述第二临时缓存区缓存的所述模糊图像、以及所述遮罩图像传入至所述画布中;
相应的,所述融合模块,还用于确定所述遮罩图像的颜色通道的通道值;
在所述虚拟场景的画布中,基于所述遮罩图像的颜色通道的通道值,对所述待渲染图像和所述模糊图像进行图像融合,得到对应的融合图像。
上述方案中,所述画布创建模块,还用于通过所述命令缓冲区,获取所述待渲染图像的第一贴图的属性变量,并将所述第一贴图的属性变量传至所述画布的画布材质中;
通过所述命令缓冲区,获取所述模糊图像的第二贴图的属性变量,并将所述第二贴图的属性变量传至所画布的画布材质中;
获取所述遮罩图像的第三贴图的属性变量,并将所述第三贴图的属性变量传至所述画布的画布材质中。
上述方案中,所述融合模块,还用于在所述画布的画布材质的着色器中,通过所述遮罩图像的颜色通道的通道值,将所述待渲染图像和所述模糊图像进行图像融合,得到呈现于所述画布之上的融合图像。
上述方案中,所述融合模块,还用于将所述待渲染图像与所述遮罩图像的颜色通道的通道值进行相乘,得到所述虚拟场景画布中的透明区域图像;
将所述模糊图像与参考通道值进行相乘,得到所述虚拟场景的画布中的非透明区域图像,所述颜色通道的通道值与参考通道值之和等于1;
将所述透明区域图像与所述非透明区域图像进行图像融合,得到呈现于所述画布之上的融合图像。
上述方案中,所述渲染模块,还用于将所述待渲染图像渲染至所述画布中,得到第一渲染图像;
将所述融合图像渲染至所述第一渲染图像中,得到第二渲染图像;
从所述待渲染图像中获取目标渲染对象,并将所述目标渲染对象渲染至所述第二渲染图像中,得到所述待渲染图像对应的景深图像。
上述方案中,所述渲染模块,还用于当所述待渲染图像中包含至少两个渲染对象时,分别获取所述待渲染图像中各个渲染对象的深度信息以及渲染命令;
基于各所述深度信息,对所述待渲染图像中各个渲染对象的渲染命令进行排序,得到对应的渲染命令序列,并将所述渲染命令序列存储至所述命令缓冲区;
按照所述渲染命令序列执行所述命令缓冲区中的各渲染命令,将所述待渲染图像中各个渲染对象渲染至所述画布中,得到第一渲染画布图像。
上述方案中,所述渲染模块,还用于将所述目标渲染对象渲染至所述第二渲染图像中,得到第三渲染图像;
将所述特效材质的渲染对象渲染至所述第三渲染图像中,得到所述待渲染图像对应的景深图像。
上述方案中,所述渲染模块,还用于对所述待渲染图像进行透明度识别,得到所述待渲染图像的透明对象和非透明对象;
将所述非透明对象的深度信息写入至所述画布中,得到第四渲染图像;
当所述透明对象的数量为至少两个时,将各所述透明对象及所述融合图像按照预设顺序存储至所述命令缓冲区的透明对象队列;
按照所述预设顺序,将所述透明对象队列中的各所述透明对象及所述融合图像的深度信息写入至所述第四渲染图像,得到所述待渲染图像对应的景深图像。
上述方案中,所述渲染模块,还用于获取所述待渲染图像的渲染优先级与所述融合图像的渲染优先级;
比较所述待渲染图像的渲染优先级与所述融合图像的渲染优先级,以确定所述待渲染图像与所述融合图像的渲染顺序;
按照所述渲染顺序,对所述待渲染图像及所述融合图像进行图像渲染,得到所述待渲染图像对应的景深图像。
上述方案中,所述模糊模块,还用于将所述待渲染图像进行缩小处理,得到缩小后的待渲染图像;
对所述缩小后的待渲染图像中每个像素进行像素偏移处理,得到像素偏移后的待渲染图像;
将缩小处理前的所述待渲染图像与所述像素偏移后的待渲染图像进行图像融合,得到对应的模糊图像。
本申请实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的景深图像的渲染方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的景深图像的渲染方法。
本申请实施例具有以下有益效果:
通过获取待渲染图像、以及用于对待渲染图像进行透明区域及模糊区域划分的遮罩图像;对待渲染图像进行模糊处理,得到对应的模糊图像;通过遮罩图像,对待渲染图像和所述模糊图像进行图像融合,得到对应的融合图像;对待渲染图像及所述融合图像进行图像渲染,得到待渲染图像对应的景深图像;如此,无需获取待渲染图像的深度图,无需对深度图进行额外渲染,能够在实现高效景深效果的同时大大降低功耗。
附图说明
图1为本申请实施例提供的景深图像的渲染系统的一个可选的架构示意图;
图2为本申请实施例提供的电子设备的一个可选的结构示意图;
图3是本申请实施例提供的景深图像的渲染方法的一个可选的流程示意图;
图4为本申请实施例提供的景深图像的渲染方法的一个可选的流程示意图;
图5为本申请实施例提供的图像模糊处理的方法的一个可选的流程示意图;
图6为本申请实施例提供的景深图像的渲染方法的一个可选的流程示意图;
图7为本申请实施例提供的图像传入画布的方法的一个可选的流程示意图;
图8为本申请实施例提供的图像融合的方法的一个可选的流程示意图;
图9为本申请实施例提供的景深图像的渲染方法的一个可选的流程示意图;
图10为本申请实施例提供的景深图像的渲染方法的一个可选的流程示意图;
图11为本申请实施例提供的景深图像的渲染方法的一个可选的流程示意图;
图12为本申请实施例提供的景深图像的渲染方法的一个可选的流程示意图;
图13为本申请实施例提供的景深图像的渲染方法的一个可选的流程示意图;
图14为本申请实施例提供的景深图像的渲染方法的一个可选的流程示意图;
图15为本申请实施例提供的虚拟场景的画布示意图;
图16为本申请实施例提供的图像遮罩示意图;
图17为本申请实施例提供的模糊图像示意图;
图18为本申请实施例提供的着色器设置界面示意图;
图19A-19B为本申请实施例提供的景深效果示意图;
图20为本申请实施例提供的景深图像的渲染装置的结构组成示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二…”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二…”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
参见图1,图1为本申请实施例提供的景深图像的渲染系统100的一个可选的架构示意图,为实现支撑一个示例性应用,终端(示例性地,示出终端400-1和终端400-2)通过网络300连接服务器200,网络可以是广域网或者局域网,又或者是二者的组合,使用无线链路实现数据传输。
在一些实施例中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器等。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、摄像机等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
在一些实施例中,终端用于获取待渲染图像、以及用于对待渲染图像进行透明区域及模糊区域划分的遮罩图像;对待渲染图像进行模糊处理,得到对应的模糊图像;通过遮罩图像,对待渲染图像和模糊图像进行图像融合,得到对应的融合图像;对待渲染图像及融合图像进行图像渲染,得到待渲染图像对应的景深图像;如此,所有操作均通过终端来执行,能够保证景深图像的获取实时性。
在一些实施例中,终端用于获取待渲染图像、以及用于对待渲染图像进行透明区域及模糊区域划分的遮罩图像,并将获取的待渲染图像和遮罩图像发送至服务器200;服务器200对待渲染图像进行模糊处理,得到对应的模糊图像;通过遮罩图像,对待渲染图像和模糊图像进行图像融合,得到对应的融合图像;对待渲染图像及融合图像进行图像渲染,得到并返回待渲染图像对应的景深图像至终端;如此,模糊处理、融合处理及渲染处理均在服务器侧执行,可以减少终端功耗,保证终端高效运行。
参见图2,图2为本申请实施例提供的电子设备500的一个可选的结构示意图,在实际应用中,电子设备500可以为图1中的终端400-1、终端400-2或服务器200,以电子设备为图1所示的终端400-1或400-2为例,对实施本申请实施例的景深图像的渲染方法的电子设备进行说明。图2所示的电子设备500包括:至少一个处理器510、存储器550、至少一个网络接口520和用户接口530。电子设备500中的各个组件通过总线系统540耦合在一起。可理解,总线系统540用于实现这些组件之间的连接通信。总线系统540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统540。
处理器510可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口530包括使得能够呈现媒体内容的一个或多个输出装置531,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口530还包括一个或多个输入装置532,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器550可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器550可选地包括在物理位置上远离处理器510的一个或多个存储设备。
存储器550包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Me mory),易失性存储器可以是随机存取存储器(RAM,Random Access Memor y)。本申请实施例描述的存储器550旨在包括任意适合类型的存储器。
在一些实施例中,存储器550能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统551,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块552,用于经由一个或多个(有线或无线)网络接口520到达其他计算设备,示例性的网络接口520包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块553,用于经由一个或多个与用户接口530相关联的输出装置531(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块554,用于对一个或多个来自一个或多个输入装置532之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的景深图像的渲染装置可以采用软件方式实现,图2示出了存储在存储器550中的景深图像的渲染装置555,其可以是程序和插件等形式的软件,包括以下软件模块:获取模块5551、模糊模块5552、融合模块5553和渲染模块5554,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。
将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的景深图像的渲染装置可以采用硬件方式实现,作为示例,本申请实施例提供的景深图像的渲染装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的景深图像的渲染方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application SpecificIntegrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Pro grammable Gate Array)或其他电子元件。
将结合本申请实施例提供的终端的示例性应用和实施,说明本申请实施例提供的景深图像的渲染方法。
参见图3,图3是本申请实施例提供的景深图像的渲染方法的一个可选的流程示意图,将结合图3示出的步骤进行说明。
步骤101,终端获取待渲染图像、以及用于对待渲染图像进行透明区域及模糊区域划分的遮罩图像。
这里,待渲染图像可以为终端的图像采集设备(如摄像头)采集得到的原始清晰图像,也可以其他设备或服务器发送而来的原始清晰图像。图像遮罩用于遮挡待渲染图像的任意形状的一个图层(或图层的任何通道),以对待渲染图像进行透明区域和模糊区域的划分,当将遮罩图像设在待渲染图像之上时,遮罩图像为遮罩层,待渲染图像为被遮罩层,遮罩层与被遮罩层中只有相重叠的地方才会被显示,也即,在遮罩层中有对象的区域就是透明的,可看到被遮罩层中的对象,而没有对象的区域就是不透明的,被遮罩层中相应位置的对象是看不见的。
例如,可创建一张黑白的遮罩图像,用于后续控制待渲染图像中模糊效果范围,遮罩图像的形状可自定义绘制,其中,黑白遮罩中白色部分指示不透明区域或所期望最终得到的景深图像中的模糊图像区域,黑色部分指示透明区域或所期望最终得到的景深图像中的清晰图像区域。
步骤102,对待渲染图像进行模糊处理,得到对应的模糊图像。
这里,在对待渲染图像进行渲染之前,先对待渲染图像进行模糊处理,得到对应的模糊图像。
在一些实施例中,参见图4,图4为本申请实施例提供的景深图像的渲染方法的一个可选的流程示意图,基于图3,在执行步骤101之前,还可执行如下步骤:
步骤105,终端创建包含指令集的命令缓冲区,其中,命令缓冲区设置有第一临时缓存区及第二临时缓存区,指令集中包括图像获取指令及图像模糊指令;
相应的,步骤101~步骤102还可分别通过如下步骤来实现:
步骤1011,响应于图像获取指令,获取待渲染图像和遮罩图像,并将待渲染图像和遮罩图像缓存至第一临时缓存区;
步骤1021,响应于图像模糊指令,对待渲染图像进行模糊处理,得到对应的模糊图像,并将模糊图像缓存至第二临时缓存区。
这里,将一系列指令添加到命令缓冲区(Command Buffer)中,在需要执行时通过相机事件或者Graphics类进行执行,进而实现对渲染流程的控制,同时可以实时生成所需临时效果。
在一些实施例中,参见图5,图5为本申请实施例提供的图像模糊处理的方法的一个可选的流程示意图,图3示出的步骤102可通过如图5所示的步骤201-203来实现:
步骤201,将待渲染图像进行缩小处理,得到缩小后的待渲染图像;
步骤202,对缩小后的待渲染图像中每个像素进行像素偏移处理,得到像素偏移后的待渲染图像;
步骤203,将缩小处理前的待渲染图像与像素偏移后的待渲染图像进行图像融合,得到对应的模糊图像。
在实际应用中,在对待渲染图像进行模糊处理时,为了提供图像处理效率,可先将待渲染图像进行缩小处理,如将待渲染图像缩小至原来的1/4,得到缩小后的待渲染图像;然后,对缩小后的待渲染图像中每个像素进行像素偏移处理,如对每个像素分别进行左、右、上、下偏移两个象素的宽度,得到像素偏移后的待渲染图像;最后,将缩小处理前的待渲染图像(即初始的待渲染图像)与像素偏移后的待渲染图像按照预设比例进行图像融合,如将初始的待渲染图像的40%与像素偏移后的待渲染图像的60%的比例进行叠加混合,进行高斯模糊操作,得到对应的模糊图像。
步骤103,通过遮罩图像,对待渲染图像和模糊图像进行图像融合,得到对应的融合图像。
在一些实施例中,参见图6,图6为本申请实施例提供的景深图像的渲染方法的一个可选的流程示意图,基于图4,在执行步骤103之前,还可执行如下步骤:
步骤106,当待渲染图像为虚拟场景中待渲染图像时,创建虚拟场景的画布;
这里,可通过使用一个预设形状(如正方形)的模型画布放入虚拟场景中的待渲染图像中的目标对象背后,并将模型画布拉伸放大至覆盖整个屏幕大小即可完成虚拟场景的画布创建。
步骤107,将第一临时缓存区缓存的待渲染图像、遮罩图像、以及第二临时缓存区缓存的模糊图像传入至画布中;
相应的,步骤103可通过如下步骤1031~步骤1032执行:
步骤1031,确定遮罩图像的颜色通道的通道值;
步骤1032,在虚拟场景的画布中,基于遮罩图像的颜色通道的通道值,对待渲染图像和模糊图像进行图像融合,得到对应的融合图像。
这里,将存储至命令缓冲区中的待渲染图像和模糊图像传送至虚拟场景的画布中,以基于虚拟场景的画布执行后续操作。
在一些实施例中,参见图7,图7为本申请实施例提供的图像传入画布的方法的一个可选的流程示意图,图6示出的步骤107可通过如图7所示的步骤301-303来实现:
步骤301,通过命令缓冲区,获取待渲染图像的第一贴图的属性变量,并将第一贴图的属性变量传至画布的画布材质中;
步骤302,通过命令缓冲区,获取模糊图像的第二贴图的属性变量,并将第二贴图的属性变量传至画布的画布材质中;
步骤303,获取遮罩图像的第三贴图的属性变量,并将第三贴图的属性变量传至画布的画布材质中。
这里,在实际实施时,通过命令缓冲区,获取待渲染图像的第一贴图的属性变量、模糊图像的第二贴图的属性变量,并将第一贴图的属性变量、模糊图像的第二贴图的属性变量设置在对应变量上,以传至画布的画布材质中;对于绘制的遮罩图像,可直接将遮罩图像拖至画布的UI画布上的贴图属性即可。
其中,材质即为虚拟场景中模拟对象或物体本身真实的物理性质,例如颜色、反光、透明、贴图等,它决定这些平面在着色时以特定的方式出现,将赋予材质的图形称为“贴图”,用多种方法贴图能把创建的虚拟场景的画布渲染成丰富的场景画面。
在一些实施例中,终端可如下方式在虚拟场景画布中,基于遮罩图像的颜色通道的通道值,对待渲染图像和模糊图像进行图像融合,得到对应的融合图像:在画布的画布材质的着色器中,通过遮罩图像的颜色通道的通道值,将待渲染图像和模糊图像进行图像融合,得到呈现于画布之上的融合图像。
在一些实施例中,参见图8,图8为本申请实施例提供的图像融合的方法的一个可选的流程示意图,图6示出的步骤1032可通过如图8所示的步骤401-403来实现:
步骤401,将待渲染图像与遮罩图像的颜色通道的通道值进行相乘,得到虚拟场景画布中的透明区域图像;
步骤402,将模糊图像与参考通道值进行相乘,得到虚拟场景的画布中的非透明区域图像,其中,颜色通道的通道值与参考通道值之和等于1;
步骤403,将透明区域图像与非透明区域图像进行图像融合,得到呈现于画布之上的融合图像。
在实际应用中,每个图像都有一个或多个颜色通道,每个颜色通道都存放着图像中颜色元素的信息(即通道值),所有颜色通道中的颜色叠加混合产生图像中像素的颜色,图像中默认的颜色通道数取决于其颜色模式,即一个图像的颜色模式将决定其颜色通道的数量,例如,在默认情况下,位图模式、灰度、双色调和索引颜色图像只有一个通道,RGB和Lab图像有3个通道,CMYK图像有4个通道,等等。
由于遮罩图像为灰度图像,每个颜色通道的通道值是一样的,故遮罩图像的颜色通道的通道值可为遮罩图像的R通道值、G通道值或B通道值中任意一个。以遮罩图像的R通道值作为遮罩图像的颜色通道的通道值为例,在实际实施时,在画布的画布材质的着色器中,通过遮罩图像的颜色通道的R通道值,将获取的初始的待渲染图像和步模糊得到的模糊图像进行图像融合,得到呈现于画布之上的融合图像,具体地公式可为:融合图像=待渲染图像*遮罩图像R通道值+模糊图像*(1-遮罩图像R通道值)。
步骤104:对待渲染图像及融合图像进行图像渲染,得到待渲染图像对应的景深图像。
在一些实施例中,参见图9,图9为本申请实施例提供的景深图像的渲染方法的一个可选的流程示意图,图6示出的步骤104可通过如图9所示的步骤1041-1043来实现:
步骤1041,将待渲染图像渲染至画布中,得到第一渲染图像;
步骤1042,将融合图像渲染至第一渲染图像中,得到第二渲染图像;
步骤1043,从待渲染图像中获取目标渲染对象,并将目标渲染对象渲染至第二渲染图像中,得到待渲染图像对应的景深图像。
在对呈现于画布中的融合图像进行渲染之前,将创建的命令缓冲区添加相机事件,让所有操作在该画布中的融合图像进行渲染前执行,并且在不透明对象后,渲染该命令缓冲区所做操作的对象,待画布中的融合图像渲染完毕后,将待渲染图像中目标渲染对象(如待渲染图像的角色)贴在画布上,即可得到景深效果的图像。
在一些实施例中,参见图10,图10为本申请实施例提供的景深图像的渲染方法的一个可选的流程示意图,图9示出的步骤1041可通过如图10所示的步骤501-503来实现:
步骤501,当待渲染图像中包含至少两个渲染对象时,分别获取待渲染图像中各个渲染对象的深度信息以及渲染命令;
步骤502,基于各深度信息,对待渲染图像中各个渲染对象的渲染命令进行排序,得到对应的渲染命令序列,并将渲染命令序列存储至命令缓冲区;
步骤5013,按照渲染命令序列执行命令缓冲区中的各渲染命令,将待渲染图像中各个渲染对象渲染至所述画布中,得到第一渲染画布图像。
吗好以从各渲染对象离采集设备由远至近的顺序,依次渲染各个渲染对象。
在一些实施例中,参见图11,图11为本申请实施例提供的景深图像的渲染方法的一个可选的流程示意图,当待渲染图像包括特效材质的渲染对象时,图9示出的步骤1043可通过如图11所示的步骤601-步骤602来实现:
步骤601,将目标渲染对象渲染至第二渲染图像中,得到第三渲染图像;
步骤602,将特效材质的渲染对象渲染至第三渲染图像中,得到待渲染图像对应的景深图像。
这里,当待渲染图像包括特效材质的渲染对象时,如粒子特效,可先将目标渲染对象渲染至第二渲染图像中,最后再渲染特效材质的渲染对象;如此,避免特效材质的渲染对象被景深效果中的模糊所覆盖,即解决特效物体由于没有深度被景深效果覆盖模糊的问题。
在一些实施例中,参见图12,图12为本申请实施例提供的景深图像的渲染方法的一个可选的流程示意图,图6示出的步骤104可通过如图12所示的步骤1044-1047来实现:
步骤1044,对待渲染图像进行透明度识别,得到待渲染图像的透明对象和非透明对象;
步骤1045,将非透明对象的深度信息写入至画布中,得到第四渲染图像;
步骤1046,当透明对象的数量为至少两个时,将各透明对象及融合图像按照预设顺序存储至命令缓冲区的透明对象队列;
步骤1047,按照预设顺序,将透明对象队列中的各透明对象及融合图像的深度信息写入至第四渲染图像,得到待渲染图像对应的景深图像。
这里,在进行渲染时,先渲染不透明对象,即将非透明对象的深度信息先写入至画布中,之后再将得到的画布中的融合图像设为透明对象队列中,至此,透明对象队列中包括透明对象和呈现于画布之上的融合图像,当透明对象的数量为至少两个时,将各透明对象及融合图像按照预设顺序存储至命令缓冲区的透明对象队列,最后按照预设顺序,将透明对象队列中的各透明对象及融合图像的深度信息写入至上述非透明对象渲染之后的画布中,得到最终的景深图像。
在一些实施例中,参见图13,图13为本申请实施例提供的景深图像的渲染方法的一个可选的流程示意图,图3示出的步骤104还可通过如图13所示的步骤1048-1050来实现:
步骤1048,获取待渲染图像的渲染优先级与融合图像的渲染优先级;
步骤1049,比较待渲染图像的渲染优先级与融合图像的渲染优先级,以确定待渲染图像与融合图像的渲染顺序;
步骤1050,按照渲染顺序,对待渲染图像及融合图像进行图像渲染,得到待渲染图像对应的景深图像。
这里,渲染优先级越高,越先渲染对应的图像。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
相关技术中的景深图像渲染方法依赖于深度图,需要将深度图额外渲染一次,大大增加了消耗;同时,在虚拟场景(如游戏)应用中,粒子特效通常不具有深度信息,导致无法正确渲染深度图,使得特效受景深效果影响而变得模糊,出现渲染错误的问题。鉴于此,本申请实施例提供一种景深图像的渲染方法,通过使用命令缓冲区(Command Buffer)修改渲染队列的功能,将透明队列之前渲染的物体进行模糊,并用遮罩图代替深度图进行模糊范围的区分,在实现高效景深效果的同时降低功耗,并解决特效物体由于没有深度被景深效果覆盖模糊的问题。
参见图14,图14为本申请实施例提供的景深图像的渲染方法的一个可选的流程示意图,将结合图14示出的步骤进行说明。
步骤701,创建虚拟场景的画布及遮罩图像。
参见图15,图15为本申请实施例提供的虚拟场景的画布示意图,这里,通过使用一个预设形状(如正方形)的模型画布(也称面片)放入虚拟场景中的角色(即上述的待渲染图像中的目标对象)背后,并将模型画布拉伸放大至覆盖整个屏幕大小即可完成虚拟场景的画布创建。
参见图16,图16为本申请实施例提供的图像遮罩示意图,图16示出的为一张黑白的遮罩图像,用于后续控制待渲染图像中模糊效果范围,遮罩图像的形状可自定义绘制,其中,黑白遮罩中白色部分指示不透明区域或所期望最终得到的景深图像中的模糊图像区域,黑色部分指示透明区域或所期望最终得到的景深图像中的清晰图像区域。
步骤702,通过命令缓冲区获取当前屏幕中的待渲染图像,并将待渲染图像缓存至第一临时缓存区。
在实际实施时,可创建包含指令集的命令缓冲区,其中,命令缓冲区设置有第一临时缓存区及第二临时缓存区,指令集中包括图像获取指令及图像模糊指令;终端响应于图像获取指令,获取待渲染图像,并将待渲染图像缓存至第一临时缓存区。
步骤703,通过命令缓冲区对待渲染图像进行模糊处理,得到对应的模糊图像,并将模糊图像缓存至第二临时缓存区。
这里,终端响应于图像模糊指令,对待渲染图像进行模糊处理,得到对应的模糊图像,并将模糊图像缓存至第二临时缓存区。
参见图17,图17为本申请实施例提供的模糊图像示意图,在进行模糊处理时,为了提供图像处理效率,可先将待渲染图像进行缩小处理,如将待渲染图像缩小至原来的1/4,得到缩小后的待渲染图像;然后,对缩小后的待渲染图像中每个像素进行像素偏移处理,如对每个像素分别进行左、右、上、下偏移两个象素的宽度,得到像素偏移后的待渲染图像;最后,将缩小处理前的待渲染图像(即步骤702获取的初始待渲染图像)与像素偏移后的待渲染图像按照预设比例进行图像融合,如将缩小处理前的待渲染图像的40%与像素偏移后的待渲染图像的60%的比例进行叠加混合,进行高斯模糊操作,得到对应的模糊图像。
步骤704,将第一临时缓存区缓存的待渲染图像、第二临时缓存区缓存的模糊图像传、以及遮罩图像传入至虚拟场景的画布中。
这里,将上述步骤702得到的待渲染图像、步骤703得到的模糊图像以及步骤701创建的遮罩图像传入至虚拟场景的画布中。在实际实施时,通过命令缓冲区,获取待渲染图像的第一贴图的属性变量、模糊图像的第二贴图的属性变量,并将第一贴图的属性变量、模糊图像的第二贴图的属性变量设置在对应变量上,传至画布的画布材质中;对于绘制的遮罩图像,参见图18,图18为本申请实施例提供的着色器设置界面示意图,直接将遮罩图像拖至画布的UI画布上的贴图属性即可。
步骤705,在虚拟场景的画布中,基于遮罩图像的颜色通道的通道值,对待渲染图像和模糊图像进行图像融合,得到呈现于画布之上的融合图像。
在实际应用中,每个图像都有一个或多个颜色通道,每个颜色通道都存放着图像中颜色元素的信息(即通道值),所有颜色通道中的颜色叠加混合产生图像中像素的颜色,图像中默认的颜色通道数取决于其颜色模式,即一个图像的颜色模式将决定其颜色通道的数量,例如,在默认情况下,位图模式、灰度、双色调和索引颜色图像只有一个通道,RGB和Lab图像有3个通道,CMYK图像有4个通道,等等。
由于遮罩图像为灰度图像,每个颜色通道的通道值是一样的,故这里以遮罩图像的R通道值作为遮罩图像的颜色通道的通道值,在实际实施时,在画布的画布材质的着色器中,通过遮罩图像的颜色通道的R通道值,将步骤702获取的待渲染图像和步骤703得到的模糊图像进行图像融合,得到呈现于画布之上的融合图像,具体地公式可为:融合图像=待渲染图像*遮罩图像R通道值+模糊图像*(1-遮罩图像R通道值)。
步骤706,设置画布至上的融合图像在不透明对象渲染之后渲染,并将其设为透明对象队列写入深度,得到待渲染图像对应的景深图像。
这里,对待渲染图像及融合图像进行图像渲染,得到待渲染图像对应的景深图像。在实际实施时,可先对待渲染图像进行透明度识别,得到待渲染图像的透明对象和非透明对象;然后对非透明对象进行渲染,即将非透明对象的深度信息先写入至画布中,之后再将步骤705得到的融合图像设为透明对象队列中,至此,透明对象队列中包括透明对象和呈现于画布之上的融合图像,当透明对象的数量为至少两个时,将各透明对象及融合图像按照预设顺序存储至命令缓冲区的透明对象队列,最后按照预设顺序,将透明对象队列中的各透明对象及融合图像的深度信息写入至上述非透明对象渲染之后的画布中,得到最终的景深图像。
例如,在对步骤705得到的画布中融合图像进行渲染之前,将创建的命令缓冲区添加相机事件,让所有操作在该画布渲染前执行,并且在不透明对象后渲染该命令缓冲区所做操作的对象,待画布中的融合图像渲染完毕后,将待渲染图像中目标渲染对象(即图15中清晰的角色)贴在画布上,即可得到景深效果的图像。
当待渲染图像包括特效材质的渲染对象时,如粒子特效,可通过设置特效材质的渲染对象的渲染队列索引号,控制特效材质的渲染对象是否受景深效果影响,如上述将呈现于画布之上的融合图像设为透明对象队列中,由于透明对象队列索引号通常为2450,则可将特效材质的渲染对象的渲染队列索引号设为大于2450,如设置为2700,即可实现在对呈现于画布之上的融合图像渲染之后,再对特效材质的渲染对象进行渲染,如此,避免特效材质的渲染对象被景深效果中的模糊所覆盖,即解决特效物体由于没有深度被景深效果覆盖模糊的问题。
参见图19A-19B,图19A-19B为本申请实施例提供的景深效果示意图,其中,图19A为采用相关技术中基于深度图的景深图像的渲染方法得到的效果示意图,图19B为采用本申请实施例提供的景深图像的渲染方法得到的效果示意图,相较于图19A,图19B示出的特效材质的渲染对象没有被景深效果覆盖模糊的问题。
通过上述方式,在性能上,相较于基于深度图的景深图像的渲染方法,本申请实施例提供的景深图像的渲染方法无需对场景中所有对象的深度图进行渲染,大大减少CPU调用图形编程接口,比如DirectX或OpenGL,来命令GPU进行渲染的操作(即Draw call)次数,大大降低了消耗;在效果上,解决了特效物体由于没有深度被景深效果覆盖模糊的问题;并且,使用自定义的遮罩图像,可以通过修改贴图或者拉动画布位置调整覆盖范围自由随意控制模糊范围中远近模糊程度,灵活度高。
下面继续说明本申请实施例提供的景深图像的渲染装置555的实施为软件模块的示例性结构,在一些实施例中,参见图20,图20为本申请实施例提供的景深图像的渲染装置的结构组成示意图,如图20所示,本申请实施例提供的景深图像的渲染装置555,包括:
获取模块5551,用于获取待渲染图像、以及用于对所述待渲染图像进行透明区域及模糊区域划分的遮罩图像;
模糊模块5552,用于对所述待渲染图像进行模糊处理,得到对应的模糊图像;
融合模块5553,用于通过所述遮罩图像,对所述待渲染图像和所述模糊图像进行图像融合,得到对应的融合图像;
渲染模块5554,用于对所述待渲染图像及所述融合图像进行图像渲染,得到所述待渲染图像对应的景深图像。
在一些实施例中,所述获取待渲染图像之前,所述装置还包括:
缓存区创建模块,用于创建包含指令集的命令缓冲区,所述命令缓冲区设置有第一临时缓存区及第二临时缓存区,所述指令集中包括图像获取指令及图像模糊指令;
相应的,所述获取模块,还用于响应于所述图像获取指令,获取待渲染图像,并将所述待渲染图像缓存至所述第一临时缓存区;
所述模糊模块,还用于响应于所述图像模糊指令,对所述待渲染图像进行模糊处理,得到对应的模糊图像,并将所述模糊图像缓存至所述第二临时缓存区。
在一些实施例中,所述通过所述遮罩图像,对所述待渲染图像和所述模糊图像进行图像融合,得到对应的融合图像之前,所述装置还包括:
画布创建模块,用于当所述待渲染图像为虚拟场景中待渲染图像时,创建所述虚拟场景的画布;
将所述第一临时缓存区缓存的所述待渲染图像、所述第二临时缓存区缓存的所述模糊图像、以及所述遮罩图像传入至所述画布中;
相应的,所述融合模块,还用于确定所述遮罩图像的颜色通道的通道值;
在所述虚拟场景的画布中,基于所述遮罩图像的颜色通道的通道值,对所述待渲染图像和所述模糊图像进行图像融合,得到对应的融合图像。
在一些实施例中,所述画布创建模块,还用于通过所述命令缓冲区,获取所述待渲染图像的第一贴图的属性变量,并将所述第一贴图的属性变量传至所述画布的画布材质中;
通过所述命令缓冲区,获取所述模糊图像的第二贴图的属性变量,并将所述第二贴图的属性变量传至所画布的画布材质中;
获取所述遮罩图像的第三贴图的属性变量,并将所述第三贴图的属性变量传至所述画布的画布材质中。
在一些实施例中,所述融合模块,还用于在所述画布的画布材质的着色器中,通过所述遮罩图像的颜色通道的通道值,将所述待渲染图像和所述模糊图像进行图像融合,得到呈现于所述画布之上的融合图像。
在一些实施例中,所述融合模块,还用于将所述待渲染图像与所述遮罩图像的颜色通道的通道值进行相乘,得到所述虚拟场景画布中的透明区域图像;
将所述模糊图像与参考通道值进行相乘,得到所述虚拟场景的画布中的非透明区域图像,所述颜色通道的通道值与参考通道值之和等于1;
将所述透明区域图像与所述非透明区域图像进行图像融合,得到呈现于所述画布之上的融合图像。
在一些实施例中,所述渲染模块,还用于将所述待渲染图像渲染至所述画布中,得到第一渲染图像;
将所述融合图像渲染至所述第一渲染图像中,得到第二渲染图像;
从所述待渲染图像中获取目标渲染对象,并将所述目标渲染对象渲染至所述第二渲染图像中,得到所述待渲染图像对应的景深图像。
在一些实施例中,所述渲染模块,还用于当所述待渲染图像中包含至少两个渲染对象时,分别获取所述待渲染图像中各个渲染对象的深度信息以及渲染命令;
基于各所述深度信息,对所述待渲染图像中各个渲染对象的渲染命令进行排序,得到对应的渲染命令序列,并将所述渲染命令序列存储至所述命令缓冲区;
按照所述渲染命令序列执行所述命令缓冲区中的各渲染命令,将所述待渲染图像中各个渲染对象渲染至所述画布中,得到第一渲染画布图像。
在一些实施例中,所述渲染模块,还用于将所述目标渲染对象渲染至所述第二渲染图像中,得到第三渲染图像;
将所述特效材质的渲染对象渲染至所述第三渲染图像中,得到所述待渲染图像对应的景深图像。
在一些实施例中,所述渲染模块,还用于对所述待渲染图像进行透明度识别,得到所述待渲染图像的透明对象和非透明对象;
将所述非透明对象的深度信息写入至所述画布中,得到第四渲染图像;
当所述透明对象的数量为至少两个时,将各所述透明对象及所述融合图像按照预设顺序存储至所述命令缓冲区的透明对象队列;
按照所述预设顺序,将所述透明对象队列中的各所述透明对象及所述融合图像的深度信息写入至所述第四渲染图像,得到所述待渲染图像对应的景深图像。
在一些实施例中,所述渲染模块,还用于获取所述待渲染图像的渲染优先级与所述融合图像的渲染优先级;
比较所述待渲染图像的渲染优先级与所述融合图像的渲染优先级,以确定所述待渲染图像与所述融合图像的渲染顺序;
按照所述渲染顺序,对所述待渲染图像及所述融合图像进行图像渲染,得到所述待渲染图像对应的景深图像。
在一些实施例中,所述模糊模块,还用于将所述待渲染图像进行缩小处理,得到缩小后的待渲染图像;
对所述缩小后的待渲染图像中每个像素进行像素偏移处理,得到像素偏移后的待渲染图像;
将缩小处理前的所述待渲染图像与所述像素偏移后的待渲染图像进行图像融合,得到对应的模糊图像。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的景深图像的渲染方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的景深图像的渲染方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EP ROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (14)
1.一种景深图像的渲染方法,其特征在于,所述方法包括:
创建包含指令集的命令缓冲区,所述命令缓冲区设置有第一临时缓存区及第二临时缓存区,所述指令集中包括图像获取指令及图像模糊指令;
响应于所述图像获取指令,获取待渲染图像、以及用于对所述待渲染图像进行透明区域及模糊区域划分的遮罩图像,并将所述待渲染图像与所述遮罩图像缓存至所述第一临时缓存区;
响应于所述图像模糊指令,对所述待渲染图像进行模糊处理,得到对应的模糊图像,并将所述模糊图像缓存至所述第二临时缓存区;
通过所述遮罩图像,对所述待渲染图像和所述模糊图像进行图像融合,得到对应的融合图像;
对所述待渲染图像及所述融合图像进行图像渲染,得到所述待渲染图像对应的景深图像。
2.如权利要求1所述的方法,其特征在于,所述通过所述遮罩图像,对所述待渲染图像和所述模糊图像进行图像融合,得到对应的融合图像之前,所述方法还包括:
当所述待渲染图像为虚拟场景中待渲染图像时,创建所述虚拟场景的画布;
将所述第一临时缓存区缓存的所述待渲染图像、所述第二临时缓存区缓存的所述模糊图像、以及所述遮罩图像传入至所述画布中;
相应的,所述通过所述遮罩图像,对所述待渲染图像和所述模糊图像进行图像融合,得到对应的融合图像,包括:
确定所述遮罩图像的颜色通道的通道值;
在所述虚拟场景的画布中,基于所述遮罩图像的颜色通道的通道值,对所述待渲染图像和所述模糊图像进行图像融合,得到对应的融合图像。
3.如权利要求2所述的方法,其特征在于,将所述第一临时缓存区缓存的所述待渲染图像、所述第二临时缓存区缓存的所述模糊图像、以及所述遮罩图像传入至所述画布中,包括:
通过所述命令缓冲区,获取所述待渲染图像的第一贴图的属性变量,并将所述第一贴图的属性变量传至所述画布的画布材质中;
通过所述命令缓冲区,获取所述模糊图像的第二贴图的属性变量,并将所述第二贴图的属性变量传至所画布的画布材质中;
获取所述遮罩图像的第三贴图的属性变量,并将所述第三贴图的属性变量传至所述画布的画布材质中。
4.如权利要求2所述的方法,其特征在于,所述在所述虚拟场景的画布中,基于所述遮罩图像的颜色通道的通道值,对所述待渲染图像和所述模糊图像进行图像融合,得到对应的融合图像,包括:
在所述画布的画布材质的着色器中,通过所述遮罩图像的颜色通道的通道值,将所述待渲染图像和所述模糊图像进行图像融合,得到呈现于所述画布之上的融合图像。
5.如权利要求4所述的方法,其特征在于,所述通过所述遮罩图像的颜色通道的通道值,将所述待渲染图像和所述模糊图像进行图像融合,得到呈现于所述虚拟场景画布之上的融合图像,包括:
将所述待渲染图像与所述遮罩图像的颜色通道的通道值进行相乘,得到所述虚拟场景画布中的透明区域图像;
将所述模糊图像与参考通道值进行相乘,得到所述虚拟场景的画布中的非透明区域图像,所述颜色通道的通道值与参考通道值之和等于1;
将所述透明区域图像与所述非透明区域图像进行图像融合,得到呈现于所述画布之上的融合图像。
6.如权利要求2所述的方法,其特征在于,所述对所述待渲染图像及所述融合图像进行图像渲染,得到所述待渲染图像对应的景深图像,包括:
将所述待渲染图像渲染至所述画布中,得到第一渲染图像;
将所述融合图像渲染至所述第一渲染图像中,得到第二渲染图像;
从所述待渲染图像中获取目标渲染对象,并将所述目标渲染对象渲染至所述第二渲染图像中,得到所述待渲染图像对应的景深图像。
7.如权利要求6所述的方法,其特征在于,所述将所述待渲染图像渲染至画布中,得到第一渲染图像,包括:
当所述待渲染图像中包含至少两个渲染对象时,分别获取所述待渲染图像中各个渲染对象的深度信息以及渲染命令;
基于各所述深度信息,对所述待渲染图像中各个渲染对象的渲染命令进行排序,得到对应的渲染命令序列,并将所述渲染命令序列存储至所述命令缓冲区;
按照所述渲染命令序列执行所述命令缓冲区中的各渲染命令,将所述待渲染图像中各个渲染对象渲染至所述画布中,得到第一渲染画布图像。
8.如权利要求6所述的方法,其特征在于,所述待渲染图像包括特效材质的渲染对象,所述将所述目标渲染对象渲染至所述第二渲染图像中,得到所述待渲染图像对应的景深图像,包括:
将所述目标渲染对象渲染至所述第二渲染图像中,得到第三渲染图像;
将所述特效材质的渲染对象渲染至所述第三渲染图像中,得到所述待渲染图像对应的景深图像。
9.如权利要求2所述的方法,其特征在于,所述对所述待渲染图像及所述融合图像进行图像渲染,得到所述待渲染图像对应的景深图像,包括:
对所述待渲染图像进行透明度识别,得到所述待渲染图像的透明对象和非透明对象;
将所述非透明对象的深度信息写入至所述画布中,得到第四渲染图像;
当所述透明对象的数量为至少两个时,将各所述透明对象及所述融合图像按照预设顺序存储至所述命令缓冲区的透明对象队列;
按照所述预设顺序,将所述透明对象队列中的各所述透明对象及所述融合图像的深度信息写入至所述第四渲染图像,得到所述待渲染图像对应的景深图像。
10.如权利要求1所述的方法,其特征在于,对所述待渲染图像及所述融合图像进行图像渲染,得到所述待渲染图像对应的景深图像,包括:
获取所述待渲染图像的渲染优先级与所述融合图像的渲染优先级;
比较所述待渲染图像的渲染优先级与所述融合图像的渲染优先级,以确定所述待渲染图像与所述融合图像的渲染顺序;
按照所述渲染顺序,对所述待渲染图像及所述融合图像进行图像渲染,得到所述待渲染图像对应的景深图像。
11.如权利要求1所述的方法,其特征在于,所述对所述待渲染图像进行模糊处理,得到对应的模糊图像,包括:
将所述待渲染图像进行缩小处理,得到缩小后的待渲染图像;
对所述缩小后的待渲染图像中每个像素进行像素偏移处理,得到像素偏移后的待渲染图像;
将缩小处理前的所述待渲染图像与所述像素偏移后的待渲染图像进行图像融合,得到对应的模糊图像。
12.一种景深图像的渲染装置,其特征在于,所述装置包括:
缓存区创建模块,用于创建包含指令集的命令缓冲区,所述命令缓冲区设置有第一临时缓存区及第二临时缓存区,所述指令集中包括图像获取指令及图像模糊指令;
获取模块,用于响应于所述图像获取指令,获取待渲染图像、以及用于对所述待渲染图像进行透明区域及模糊区域划分的遮罩图像,并将所述待渲染图像与所述遮罩图像缓存至所述第一临时缓存区;
模糊模块,用于响应于所述图像模糊指令,对所述待渲染图像进行模糊处理,得到对应的模糊图像,并将所述模糊图像缓存至所述第二临时缓存区;
融合模块,用于通过所述遮罩图像,对所述待渲染图像和所述模糊图像进行图像融合,得到对应的融合图像;
渲染模块,用于对所述待渲染图像及所述融合图像进行图像渲染,得到所述待渲染图像对应的景深图像。
13.一种电子设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至11任一项所述的景深图像的渲染方法。
14.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于被处理器执行时,实现权利要求1至11任一项所述的景深图像的渲染方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110011428.6A CN112686939B (zh) | 2021-01-06 | 2021-01-06 | 景深图像的渲染方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110011428.6A CN112686939B (zh) | 2021-01-06 | 2021-01-06 | 景深图像的渲染方法、装置、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112686939A CN112686939A (zh) | 2021-04-20 |
CN112686939B true CN112686939B (zh) | 2024-02-02 |
Family
ID=75457425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110011428.6A Active CN112686939B (zh) | 2021-01-06 | 2021-01-06 | 景深图像的渲染方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112686939B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114419233A (zh) * | 2021-12-31 | 2022-04-29 | 网易(杭州)网络有限公司 | 模型生成方法、装置、计算机设备及存储介质 |
CN115546075B (zh) * | 2022-12-02 | 2023-05-02 | 成都智元汇信息技术股份有限公司 | 一种基于列数据标注区动态增强展示的方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107633497A (zh) * | 2017-08-31 | 2018-01-26 | 成都通甲优博科技有限责任公司 | 一种图像景深渲染方法、系统及终端 |
CN109242943A (zh) * | 2018-08-21 | 2019-01-18 | 腾讯科技(深圳)有限公司 | 一种图像渲染方法、装置及图像处理设备、存储介质 |
CN110570505A (zh) * | 2019-09-11 | 2019-12-13 | 腾讯科技(深圳)有限公司 | 一种图像渲染方法、装置、设备及存储介质 |
CN110610526A (zh) * | 2019-08-12 | 2019-12-24 | 江苏大学 | 一种基于wnet对单目人像进行分割和景深渲染的方法 |
CN111242838A (zh) * | 2020-01-09 | 2020-06-05 | 腾讯科技(深圳)有限公司 | 模糊图像渲染方法和装置、存储介质及电子装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8587585B2 (en) * | 2010-09-28 | 2013-11-19 | Intel Corporation | Backface culling for motion blur and depth of field |
AU2013206601A1 (en) * | 2013-06-28 | 2015-01-22 | Canon Kabushiki Kaisha | Variable blend width compositing |
-
2021
- 2021-01-06 CN CN202110011428.6A patent/CN112686939B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107633497A (zh) * | 2017-08-31 | 2018-01-26 | 成都通甲优博科技有限责任公司 | 一种图像景深渲染方法、系统及终端 |
CN109242943A (zh) * | 2018-08-21 | 2019-01-18 | 腾讯科技(深圳)有限公司 | 一种图像渲染方法、装置及图像处理设备、存储介质 |
CN110610526A (zh) * | 2019-08-12 | 2019-12-24 | 江苏大学 | 一种基于wnet对单目人像进行分割和景深渲染的方法 |
CN110570505A (zh) * | 2019-09-11 | 2019-12-13 | 腾讯科技(深圳)有限公司 | 一种图像渲染方法、装置、设备及存储介质 |
CN111242838A (zh) * | 2020-01-09 | 2020-06-05 | 腾讯科技(深圳)有限公司 | 模糊图像渲染方法和装置、存储介质及电子装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112686939A (zh) | 2021-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9019310B2 (en) | Methods and apparatus for applying complex continuous gradients to images | |
CN108939556B (zh) | 一种基于游戏平台的截图方法及装置 | |
CN112686939B (zh) | 景深图像的渲染方法、装置、设备及计算机可读存储介质 | |
CN107832108A (zh) | 3D canvas网页元素的渲染方法、装置及电子设备 | |
GB2380647A (en) | Displaying the effects of altering image parameters | |
CN111047506A (zh) | 环境图生成和孔填充 | |
CN113110731B (zh) | 媒体内容生成的方法和装置 | |
CN110457102A (zh) | 可视对象的模糊方法、渲染方法及计算设备 | |
US20230074060A1 (en) | Artificial-intelligence-based image processing method and apparatus, electronic device, computer-readable storage medium, and computer program product | |
CN115546410A (zh) | 窗口展示方法、装置、电子设备及存储介质 | |
CN112162672A (zh) | 信息流的显示处理方法、装置、电子设备及存储介质 | |
CN113470153A (zh) | 虚拟场景的渲染方法、装置及电子设备 | |
WO2023125132A1 (zh) | 特效图像处理方法、装置、电子设备及存储介质 | |
US8077187B2 (en) | Image display using a computer system, including, but not limited to, display of a reference image for comparison with a current image in image editing | |
US20160247256A1 (en) | Generating multi-image content for online services using a single image | |
CN103795925A (zh) | 一种可交互的主副画面实时渲染的拍照方法 | |
KR20190041293A (ko) | 증강 현실 표시 방법 및 장치 | |
CN114049425B (zh) | 图像中的照明仿真方法、装置、设备及存储介质 | |
CN116450017B (zh) | 显示对象的显示方法、装置、电子设备及介质 | |
US20240020910A1 (en) | Video playing method and apparatus, electronic device, medium, and program product | |
CN116112657B (zh) | 图像处理方法、装置、计算机可读存储介质及电子装置 | |
Viljanen | Implementing VR feature camera on Android platform | |
CN117437346A (zh) | 图像处理方法、装置、电子设备、存储介质及程序产品 | |
CN117745920A (zh) | 一种模型贴图方法、装置、设备及存储介质 | |
CN117270853A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40042017 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |