具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
图1为本公开实施例提供的一种光照图像生成方法的流程图,本公开实施例可以适用于需求大量点光源的虚拟场景,例如萤火虫飞舞、满天烟花等,并且虚拟场景中存在被照射对象的情况等。该方法可以由光照图像生成装置执行,该装置可以采用软件和/或硬件实现,并可集成在任意的具有计算能力的电子设备中,例如智能移动终端、平板电脑等。
如图1所示,本公开实施例提供的光照图像生成方法可以包括:
S101、在虚拟空间中建立多个GPU粒子。
在本公开实施例中虚拟空间可以包括任意具有展示大量点光源的需求的场景空间,例如游戏中的虚拟空间、动画中的虚拟空间等。针对不同的需求场景,当确定存在展示大量点光源的需求时,例如游戏运行过程中或者动画制作过程中需要展示大量点光源照亮被照射对象的画面,则电子设备可以在虚拟空间中建立多个GPU(Graphics ProcessingUnit,图像处理单元))粒子。示例性地,电子设备可以随机性地创建多个GPU粒子,也可以基于预先配置的粒子参数,创建多个预设的GPU粒子,本公开实施例不作具体限定。其中,粒子参数可以包括但不限于GPU粒子的形状、颜色、初始位置、随时间变化的参数(例如移动速度、移动走向等)等。GPU粒子在虚拟空间中的位置即作为后续虚拟点光源的位置,也即GPU粒子作为虚拟点光源的载体。并且,虚拟点光源的运动状态与GPU粒子在虚拟空间中的运动状态保持一致,即本公开实施例可以实现模拟大量位置不断变化的点光源照亮虚拟场景的效果。GPU粒子能够用于快速绘制任意对象,可以提高模拟点光源的处理效率。
以游戏中的虚拟空间为例,游戏完成开发并上线之后,在游戏运行过程中,电子设备会调用游戏场景监测程序监测每个游戏场景,确定每个游戏场景是否是需要大量点光源照亮的场景,如果确定游戏场景为需要大量点光源照亮的场景,则在游戏中的虚拟空间中建立多个GPU粒子,为后续模拟大量的虚拟点光源奠定基础。
S102、获取每个GPU粒子在虚拟空间中的位置,并分别在每个GPU粒子的位置处,绘制用于表示光照区域的粒子模型。
需要说明的是,虚拟空间为虚拟三维空间,电子设备最终呈现二维画面,因此,在不影响虚拟场景的界面展示效果的基础上,可以采用二维的预设形状来绘制粒子模型,该预设形状可以是任意的几何形状,例如正方形、圆形等规则图形。粒子模型的几何中心与GPU粒子的几何中心重叠。
在一种可选实施方式中,优选地,粒子模型可以包括二维正方形(或称为正方形面片)。采用二维正方形绘制粒子模型,图形简单,有助于提高绘制效率,并且也比较贴切点光源的实际光照区域。分别在每个GPU粒子的位置处,绘制用于表示光照区域的粒子模型之后,本公开实施例提供的光照图像生成方法还包括:调整每个粒子模型的位置,使得位置调整后的粒子模型的边界与被照射对象对应的场景图像的边界平行。
虚拟空间中的场景图像是基于虚拟空间中的摄像机拍摄视角拍摄得到,调整每个粒子模型的位置,即指将每个粒子模型向面向虚拟空间中摄像机的方向进行旋转,最终每个粒子模型均正向面对虚拟空间中的摄像机。通过对粒子模型进行位置调整,可以将三维虚拟空间中粒子模型的朝向进行统一,确保模拟得到的虚拟点光源均是正向面对虚拟空间的摄像机,确保呈现优质的点光源照亮虚拟场景的界面效果。
图2为本公开实施例提供的一种基于GPU粒子的位置所绘制的粒子模型的示意图,具体以二维正方形为例,对本公开实施例进行示例性说明,不应理解为对本公开实施例的具体限定。并且,图2中示出了基于部分GPU粒子的位置所绘制的粒子模型,应当理解,针对剩余的各个GPU粒子,同样可以绘制出多个粒子模型。图2中示出的场景物体也作为被照射对象的一种示例,具体可以根据虚拟空间中需要展示的被照射对象来确定。
S103、确定每个粒子模型与虚拟空间中被照射对象的位置关系。
示例性地,可以基于粒子模型与被照射对象在虚拟空间中相对同一参考物的位置,确定粒子模型与被照射对象的位置关系。该参考物可以合理设置,例如可以将虚拟空间中的摄像机作为参考物。
S104、基于位置关系,从多个粒子模型中筛选符合光照需求的多个目标粒子模型,并确定每个目标粒子模型对应的光照范围。
粒子模型与虚拟空间中被照射对象的位置关系可以用于筛选出属于被照射对象遮挡的粒子模型和不属于被照射对象遮挡的粒子模型(即符合光照需求的目标粒子模型)。示例性地,从虚拟空间中摄像机的观察角度而言,粒子模型与被照射对象的位置关系可以包括:粒子模型位于被照射对象的前方,以及粒子模型位于被照射对象的后方,其中位于被照射对象前方的粒子模型可以作为符合光照需求的目标粒子模型。并且,目标粒子模型与被照射对象的距离越远,目标粒子模型对应的光照范围越小;目标粒子模型与被照射对象的距离越近,目标粒子模型对应的光照范围越大,由此可以展示出逐渐远离被照射对象的点光源亮度逐渐消失的效果。
S105、根据每个目标粒子模型对应的光照范围,对每个目标粒子模型进行渲染,得到虚拟光照范围图像。
确定光照范围的目标粒子模型,可以作为一个虚拟点光源。在得到虚拟光照范围图像的过程中,可以根据每个目标粒子模型对应的光照范围,以及虚拟空间中虚拟点光源的分布需求(由具体虚拟场景决定)等,对每个目标粒子模型进行渲染。渲染得到的虚拟光照范围图像可以包括但不限于黑白图像,即虚拟点光源的颜色包括但不限于白色,这些均可以根据展示需求进行合理设置,本公开实施例不作具体限定。
图3作为示例,示出了一种基于GPU粒子模拟得到的虚拟点光源的示意图,不应理解为本公开实施例的具体限定。如图3所示,图3中所示出的带有线条填充的圆形图案代表虚拟点光源,剩余的场景物体作为虚拟空间中被照射对象的一种示例。
图4为本公开实施例提供的一种虚拟光照范围图像的示意图,用于对本公开实施例进行示例性说明。如图4所示,该虚拟光照范围图像是对图3中的部分虚拟点光源进行渲染得到,图4以虚拟光照范围图像是黑白图像为例,图4中带有线条填充的圆形图案代表虚拟点光源的光照范围,剩余区域为黑色背景。
S106、将虚拟光照范围图像与被照射对象对应的场景图像进行融合,得到虚拟空间的光照图像。
由于虚拟点光源并非虚拟空间中的真实点光源,因此,虚拟点光源不能直接渲染至虚拟空间的最终画面中,需要首先渲染得到虚拟光照范围图像,然后将虚拟光照范围图像与被照射对象对应的场景图像进行融合,得到虚拟空间的光照图像(例如游戏运行过程中最终可呈现的游戏界面效果)。其中,关于图像融合的实现原理可以参考现有技术实现,本公开实施例不作具体限定。
可选地,将虚拟光照范围图像与被照射对象对应的场景图像进行融合,得到虚拟空间的光照图像,包括:
获取目标光源颜色和目标场景颜色;其中,目标光源颜色即虚拟场景下虚拟空间中需求的点光源的颜色,例如萤火虫飞舞的场景中目标光源颜色为黄色;目标场景颜色即虚拟场景下虚拟空间的环境颜色或者背景颜色,具体可以根据虚拟场景的具体展示需求而定,示例性地,以游戏中的虚拟空间为例,目标场景颜色可以为深蓝色,可以用于表示夜晚等虚拟场景;
利用虚拟光照范围图像的目标通道值对目标光源颜色和目标场景颜色作插值处理,得到插值处理结果;其中,虚拟光照范围图像的目标通道值可以是任一与虚拟光照范围图像的颜色信息相关的通道值,例如R通道值或G通道值或B通道值(三个通道值的作用具有等同性);插值处理可以包括但不限于线性插值处理等;
将插值处理结果与被照射对象对应的场景图像的颜色值进行叠加,得到虚拟空间的光照图像。
例如,针对萤火虫飞舞的场景,虚拟空间的光照图像可以是展示有存在黄色亮光的萤火虫飞舞、且照亮任意场景物体的图像。
通过利用虚拟光照范围图像的目标通道值对目标光源颜色和目标场景颜色作插值处理,可以确保最终的光照图像上目标光源颜色和目标场景颜色之间的平滑过度,然后将插值处理结果与虚拟空间的场景图像的颜色值进行叠加,使得虚拟空间的目标光照图像呈现优质的视觉效果。
根据本公开实施例的技术方案,首先基于GPU粒子的位置绘制粒子模型,然后按照粒子模型与虚拟空间中被照射对象的位置关系对粒子模型进行筛选,最后基于筛选得到的目标粒子模型生成虚拟点光源,无需真正在虚拟空间中增加实时点光源即可达到大量点光源照亮虚拟场景的效果,还确保了虚拟点光源的展示真实性,在满足需要大量点光源的虚拟场景的同时,不会增加电子设备的计算量,不会消耗过多的设备资源,进而不会过多影响设备性能,以游戏中的虚拟空间为例,本方案在实现利用大量虚拟点光源照亮虚拟空间中被照射对象的同时,不会影响游戏的运行,解决了现有关于添加光源的方案不能满足需要大量点光源的虚拟场景、以及随着光源增加计算量较大的问题,并且,本公开实施例的技术方案由于不会占用过多的设备资源,可以达到兼容各种性能的电子设备的效果,能够在电子设备上实时运行,并可以基于大量的虚拟点光源优化任意性能的电子设备上虚拟场景的界面展示效果。
图5为本公开实施例提供的另一种光照图像生成方法的流程图,基于上述技术方案进一步优化与扩展,并可以与上述各个可选实施方式进行结合。
如图5所示,本公开实施例提供的光照图像生成方法可以包括:
S201、在虚拟空间中建立多个GPU粒子。
S202、获取每个GPU粒子在虚拟空间中的位置,并分别在每个GPU粒子的位置处,绘制用于表示光照区域的粒子模型。
S203、分别确定每个粒子模型与虚拟空间中摄像机的第一距离。
示例性的,可以根据每个粒子模型坐标系(即粒子模型本身的坐标系)与显示界面坐标系(即设备屏幕坐标系)之间的变换关系,确定每个粒子模型上各个像素点与虚拟空间中摄像机的距离,根据各个像素点与虚拟空间中摄像机的距离,综合确定(例如求平均值)每个粒子模型与虚拟空间中摄像机的第一距离。
可选地,分别确定每个粒子模型与虚拟空间中摄像机的第一距离,包括:
根据每个粒子模型坐标系与显示界面坐标系之间的变换关系,确定每个粒子模型中目标参考点的界面坐标;其中,每个粒子模型中目标参考点可以是包括但不限于每个粒子模型的中心点;
基于每个粒子模型中目标参考点的界面坐标,计算每个粒子模型与虚拟空间中摄像机的第一距离。
上述关于粒子模型坐标系与显示界面坐标系之间的变换关系,可以采用坐标变换矩阵表示,该坐标变换矩阵可以参考现有的坐标变换原理实现。
并且,针对位置调整后粒子模型的边界与虚拟空间的场景图像的边界平行的情况,粒子模型上每个像素点均是面向虚拟空间中的摄像机,因此,粒子模型上所有像素点到虚拟空间中摄像机的距离均相同,计算粒子模型的中心点与虚拟空间中摄像机的第一距离,便可用于确定粒子模型整体是否被遮挡,若被遮挡,则粒子模型整体消失,若未被遮挡,则粒子模型整体出现,不会存在粒子模型只被遮挡一部分的情况。
S204、利用摄像机,获取虚拟空间中被照射对象的深度图像。
深度图像(depth image)也被称为距离影像(range image),是指将从图像采集装置到拍摄场景中各点的距离(深度)作为像素值的图像。因此,虚拟空间中摄像机所获取的深度图像中记录有被照射对象在虚拟空间中相对于摄像机的距离信息。
S205、分别基于每个粒子模型的区域范围对深度图像进行采样,得到多个采样图像。
示例性的,可以基于虚拟空间中摄像机的观察角度,分别基于每个粒子模型的区域范围向深度图像进行投影,得到多个采样图像。
S206、利用每个采样图像的深度信息,确定每个采样图像中展示的被照射对象与摄像机的第二距离。
S207、对比第一距离和第二距离,确定每个粒子模型与对应的采样图像中展示的被照射对象的位置关系。
如果第一距离大于第二距离,则相应的粒子模型位于对应的采样图像中展示的被照射对象的后方;如果第一距离小于第二距离,则相应的粒子模型位于对应的采样图像中展示的被照射对象的前方;如果第一距离等于第二距离,则相应的粒子模型与对应的采样空间中被照射对象的位置重叠。
S208、将第一距离小于或等于第二距离时对应的粒子模型确定为符合光照需求的多个目标粒子模型,并确定每个目标粒子模型对应的光照范围。
可选地,在确定多个目标粒子模型的过程中,还包括:删除第一距离大于第二距离时对应的粒子模型的像素。即只显示被照射对象前方的粒子模型,不显示被照射对象后方的粒子模型,避免不符合光照需求的粒子模型的像素影响虚拟空间的光照图像的展示效果。
S209、根据每个目标粒子模型对应的光照范围,对每个目标粒子模型进行渲染,得到虚拟光照范围图像。
S210、将虚拟光照范围图像与被照射对象对应的场景图像进行融合,得到虚拟空间的光照图像。
根据本公开实施例的技术方案,实现了基于GPU粒子模拟虚拟点光源的效果,无需真正在虚拟空间中增加与渲染实时点光源,在满足需要大量点光源的虚拟场景的同时,不会增加电子设备的计算量,不会消耗过多的设备资源,进而不会过多影响设备性能,解决了现有关于添加光源的方案不能满足需要大量点光源的虚拟场景、以及随着光源增加计算量较大的问题,并且,本公开实施例的技术方案由于不会占用过多的设备资源,可以达到兼容各种性能的电子设备的效果,能够在电子设备上实时运行,并可以基于大量的虚拟点光源优化任意性能的电子设备上虚拟场景的界面展示效果。
图6为本公开实施例提供的另一种光照图像生成方法的流程图,基于上述技术方案进一步优化与扩展,并可以与上述各个可选实施方式进行结合。
如图6所示,本公开实施例提供的光照图像生成方法可以包括:
S301、在虚拟空间中建立多个GPU粒子。
S302、获取每个GPU粒子在虚拟空间中的位置,并分别在每个GPU粒子的位置处,绘制用于表示光照区域的粒子模型。
S303、确定每个粒子模型与虚拟空间中被照射对象的位置关系。
S304、基于位置关系,从多个粒子模型中筛选符合光照需求的多个目标粒子模型。
S305、基于每个目标粒子模型与被照射对象的位置关系,确定每个目标粒子模型的透明度。
其中,目标粒子模型与虚拟空间中被照射对象的相对位置距离越近,目标粒子模型越不透明,目标粒子模型与虚拟空间中被照射对象的相对位置距离越远,目标粒子模型的透明度越大,并且,该相对位置距离超过距离阈值(具体取值可灵活设置)时,目标粒子模型可以显示为消失的效果,由此可以提升大量虚拟点光源照亮虚拟空间中被照射对象的真实感,进一步优化界面展示效果。
可选地,基于每个目标粒子模型与被照射对象的位置关系,确定每个目标粒子模型的透明度,包括:
确定每个目标粒子模型与被照射对象的目标距离;
基于目标距离、透明度变化速率和预设透明度参数值,确定每个目标粒子模型的透明度。
示例性的,可以根据目标粒子模型与虚拟空间中摄像机的距离以及虚拟空间中被照射对象与摄像机的距离,确定目标粒子模型与被照射对象之间的目标距离;然后,可以按照目标距离、透明度变化速率和预设透明度参数值之间的预设计算公式,确定目标粒子模型的透明度,该预设计算公式可以合理进行设计,本公开实施例不作具体限定。
进一步地,基于目标距离、透明度变化速率和预设透明度参数值,确定每个目标粒子模型的透明度,包括:
确定目标距离和透明度变化速率的乘积;
基于预设透明度参数值与乘积的差值,确定每个目标粒子模型的透明度。
预设透明度参数值的取值可以根据需求而定。示例性的,以预设透明度参数值取值为1为例,并且,此时透明度取值1表示目标粒子模型完全不透明,透明度取值为0表示目标粒子完全透明。目标粒子模型的透明度color.alpha可以采用如下公式表示:
color.alpha=1-|depth-i.eye.z|·IntersectionPower
其中,|depth-i.eye.z|表示目标粒子模型与虚拟空间中被照射对象之间的目标距离,i.eye.z表示目标粒子模型与虚拟空间中摄像机的第一距离,depth表示每个采样图像上展示的被照射对象与虚拟空间中摄像机的第二距离,IntersectionPower表示透明度变化速率,其取值也可以适应性设置。
S306、基于每个目标粒子模型的透明度确定每个目标粒子模型对应的光照范围。
目标粒子模型与虚拟空间中被照射对象的相对位置距离越近,目标粒子模型越不透明,光照范围相对较大,目标粒子模型与虚拟空间中被照射对象的相对位置距离越远,目标粒子模型的透明度越大,光照范围越相对较小。基于前述透明度与光照范围的关系,可以采用任意可用的方式确定每个目标粒子模型对应的光照范围。
可选地,基于每个目标粒子模型的透明度确定每个目标粒子模型对应的光照范围,包括:
为每个目标粒子模型生成预设形状的贴图;其中,贴图的中间区域的颜色为白色,且除去中间区域外的剩余区域的颜色为黑色,该贴图的形状可以采用圆形,比较贴切点光源的实际光照效果;
确定贴图的目标通道值与每个目标粒子模型的透明度的乘积,并将乘积作为每个目标粒子模型的最终透明度;
基于每个目标粒子模型的最终透明度,确定每个目标粒子模型对应的光照范围。
确定光照范围的目标粒子模型即可以作为一个虚拟点光源。每个目标粒子模型的贴图的目标通道值可以是任一与贴图的颜色信息相关的通道值,例如R通道值或G通道值或B通道值,这三个通道值的作用具有等同性,任一通道值与目标粒子模型的透明度相乘,均不会影响最终得到中间不透明四周透明的圆形虚拟点光源。并且,得到的圆形虚拟点光源上可以呈现出远离被照射对象部分的像素更透明,靠近被照射对象部分的像素更不透明的效果,从而呈现出理想化的照亮四周球形区域的点光源效果。
S307、根据每个目标粒子模型对应的光照范围,对每个目标粒子模型进行渲染,得到虚拟光照范围图像。
S308、将虚拟光照范围图像与被照射对象对应的场景图像进行融合,得到虚拟空间的光照图像。
根据本公开实施例的技术方案,实现了基于GPU粒子模拟虚拟点光源的效果,无需真正在虚拟空间中增加与渲染实时点光源,在满足需要大量点光源的虚拟场景的同时,不会增加电子设备的计算量,不会消耗过多的设备资源,进而不会过多影响设备性能,解决了现有关于添加光源的方案不能满足需要大量点光源的虚拟场景、以及随着光源增加计算量较大的问题;并且,通过基于每个目标粒子模型与被照射对象的位置关系,确定每个目标粒子模型的透明度,基于每个目标粒子模型的透明度确定每个目标粒子模型对应的光照范围,提升了大量虚拟点光源照亮虚拟空间中被照射对象的真实感,优化了电子设备上虚拟场景的界面展示效果。
图7为本公开实施例提供的一种光照图像生成装置的结构示意图,本公开实施例可以适用于需求大量点光源的虚拟场景,且虚拟场景中存在被照射对象。该装置可以采用软件和/或硬件实现,并可集成在任意的具有计算能力的电子设备中,例如智能移动终端、平板电脑等。
如图7所示,本公开实施例提供的光照图像生成装置600可以包括GPU粒子建立模块601、粒子模型绘制模块602、位置关系确定模块603、目标粒子模型与光照范围确定模块604、虚拟光照范围图像生成模块605和光照图像生成模块606,其中:
GPU粒子建立模块601,用于在虚拟空间中建立多个GPU粒子;
粒子模型绘制模块602,用于获取每个GPU粒子在虚拟空间中的位置,并分别在每个GPU粒子的位置处,绘制用于表示光照区域的粒子模型;
位置关系确定模块603,用于确定每个粒子模型与虚拟空间中被照射对象的位置关系;
目标粒子模型与光照范围确定模块604,用于基于位置关系,从多个粒子模型中筛选符合光照需求的多个目标粒子模型,并确定每个目标粒子模型对应的光照范围;
虚拟光照范围图像生成模块605,用于根据每个目标粒子模型对应的光照范围,对每个目标粒子模型进行渲染,得到虚拟光照范围图像;
光照图像生成模块606,用于将虚拟光照范围图像与被照射对象对应的场景图像进行融合,得到虚拟空间的光照图像。
可选地,位置关系确定模块603包括:
第一距离确定单元,用于分别确定每个粒子模型与虚拟空间中摄像机的第一距离;
深度图像获取单元,用于利用摄像机,获取虚拟空间中被照射对象的深度图像;
采样图像确定单元,用于分别基于每个粒子模型的区域范围对深度图像进行采样,得到多个采样图像;
第二距离确定单元,用于利用每个采样图像的深度信息,确定每个采样图像中展示的被照射对象与摄像机的第二距离;
位置关系确定单元,用于对比第一距离和第二距离,确定每个粒子模型与对应的采样图像中展示的被照射对象的位置关系。
目标粒子模型与光照范围确定模块604包括:
目标粒子模型确定单元,用于基于位置关系,从多个粒子模型中筛选符合光照需求的多个目标粒子模型;
光照范围确定单元,用于确定每个目标粒子模型对应的光照范围;
目标粒子模型确定单元具体用于:将第一距离小于或等于第二距离时对应的粒子模型确定为符合光照需求的多个目标粒子模型。
可选地,第一距离确定单元包括:
界面坐标确定子单元,用于根据每个粒子模型坐标系与显示界面坐标系之间的变换关系,确定每个粒子模型中目标参考点的界面坐标;
第一距离计算子单元,用于基于每个粒子模型中目标参考点的界面坐标,计算每个粒子模型与虚拟空间中摄像机的第一距离。
可选地,目标粒子模型确定单元还用于:
删除第一距离大于第二距离时对应的粒子模型的像素。
可选地,光照范围确定单元包括:
透明度确定子单元,用于基于每个目标粒子模型与被照射对象的位置关系,确定每个目标粒子模型的透明度;
光照范围确定子单元,用于基于每个目标粒子模型的透明度确定每个目标粒子模型对应的光照范围。
可选地,透明度确定子单元包括:
目标距离确定子单元,用于确定每个目标粒子模型与被照射对象的目标距离;
透明度计算子单元,用于基于目标距离、透明度变化速率和预设透明度参数值,确定每个目标粒子模型的透明度。
可选地,透明度计算子单元包括:
第一确定子单元,用于确定目标距离和透明度变化速率的乘积;
第二确定子单元,用于基于预设透明度参数值与乘积的差值,确定每个目标粒子模型的透明度。
可选地,光照范围确定子单元包括:
贴图生成子单元,用于为每个目标粒子模型生成预设形状的贴图;其中,贴图的中间区域的颜色为白色,且除去中间区域外的剩余区域的颜色为黑色;
第三确定子单元,用于确定贴图的目标通道值与每个目标粒子模型的透明度的乘积,并将乘积作为每个目标粒子模型的最终透明度;
第四确定子单元,用于基于每个目标粒子模型的最终透明度,确定每个目标粒子模型对应的光照范围。
可选地,光照图像生成模块606包括:
颜色获取单元,用于获取目标光源颜色和目标场景颜色;
插值处理单元,用于利用虚拟光照范围图像的目标通道值对目标光源颜色和目标场景颜色作插值处理,得到插值处理结果;
光照图像生成单元,用于将插值处理结果与被照射对象对应的场景图像的颜色值进行叠加,得到虚拟空间的光照图像。
可选地,粒子模型包括二维正方形,本公开实施例提供的光照图像生成装置还包括:
粒子模型位置调整模块,用于调整每个粒子模型的位置,使得位置调整后的粒子模型的边界与被照射对象对应的场景图像的边界平行。
本公开实施例所提供的光照图像生成装置可执行本公开实施例所提供的任意光照图像生成方法,具备执行方法相应的功能模块和有益效果。本公开装置实施例中未详尽描述的内容可以参考本公开任意方法实施例中的描述。
图8为本公开实施例提供的一种电子设备的结构示意图,用于对实现本公开实施例中光照图像生成方法的电子设备进行示例性说明,该电子设备可以包括但不限于智能移动终端、平板电脑等。如图8所示,电子设备700包括一个或多个处理器701和存储器702。
处理器701可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备700中的其他组件以执行期望的功能。
存储器702可以包括一个或多个计算机程序产品,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器701可以运行程序指令,以实现本公开实施例提供的任意光照图像生成方法,还可以实现其他期望的功能。在计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
在一个示例中,电子设备700还可以包括:输入装置703和输出装置704,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
此外,该输入装置703还可以包括例如键盘、鼠标等等。
该输出装置704可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出装置704可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图8中仅示出了该电子设备700中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备700还可以包括任何其他适当的组件。
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,计算机程序指令在被处理器运行时使得处理器执行本公开实施例所提供的任意光照图像生成方法。
计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户电子设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户电子设备上部分在远程电子设备上执行、或者完全在远程电子设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,计算机程序指令在被处理器运行时使得处理器执行本公开实施例所提供的任意光照图像生成方法。
计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。