一种基于AR场景的光照渲染方法及装置
技术领域
本申请涉及计算机技术领域,特别涉及一种基于AR场景的光照渲染方法及装置、计算设备及计算机可读存储介质。
背景技术
增强现实(Augmented Reality,AR)是指将真实的环境和虚拟的物体实时地叠加到同一个画面或空间,可以令使用者充分感知和操控虚拟的立体图像。
AR游戏是将虚拟的游戏角色利用增强现实技术通过手机、游戏机等媒介在现实环境中展示出来。AR游戏从位置服务、图像识别、数据处理三个方面实现了游戏与AR技术的优化结合,让原本在电子设备中才会出现的虚拟画面与现实环境结合,AR游戏在玩法和形式上的重大突破给玩家带来了全新的游戏体验。
但是,现有的AR游戏呈现在现实环境中的虚拟角色的表现完全来自于游戏本身,无法随着真实环境的变化做出相应改变,不能实现与真实世界的互动。尤其AR角色的外观表现无法与真实环境中的光照进行交互,不管真实环境中的光线如何变化,AR角色的外观均是一样的,导致AR角色失真严重。所以,如何提高AR游戏中AR角色的真实感依旧是亟待解决的问题。
发明内容
有鉴于此,本申请实施例提供了一种基于AR场景的光照渲染方法及装置、计算设备及计算机可读存储介质,以解决现有技术中存在的技术缺陷。
本申请公开了一种基于AR场景的光照渲染方法,包括:
获取真实环境的光照属性值,并基于所述真实环境的光照属性值确定AR场景的光照属性值;
基于所述AR场景的光照属性值对AR场景进行渲染,得到AR场景贴图;
基于所述AR场景贴图确定待渲染模型在所述真实环境中的位置;
基于所述待渲染模型的位置和所述待渲染模型与光照之间的相对关系进行光照计算,获得所述待渲染模型的光照属性;
基于所述待渲染模型的光照属性对所述待渲染模型进行渲染。
进一步地,所述光照属性值包括光照强度值;
所述获取真实环境的光照属性值,并基于所述真实环境的光照属性值确定AR场景的光照属性值,包括:
通过光传感器获取真实环境的光照强度值,并基于所述真实环境的光照强度值计算AR场景的光照强度值;
所述基于所述AR场景的光照属性值对AR场景进行渲染,包括:
基于所述AR场景的光照强度值对AR场景进行渲染。
进一步地,所述光照属性值包括光照颜色值;
所述获取真实环境的光照属性值,并基于所述真实环境的光照属性值确定AR场景的光照属性值,包括:
通过光传感器或立方体贴图获取真实环境的光照颜色值,并将所述真实环境的光照颜色值作为AR场景的光照颜色值;
所述基于所述AR场景的光照属性值对AR场景进行渲染,包括:
基于所述AR场景的光照颜色值对AR场景进行渲染。
进一步地,所述基于所述AR场景贴图确定待渲染模型在所述真实环境中的位置,包括:
通过AR识别工具获取待渲染模型基于所述AR场景贴图的位置矩阵;
对所述位置矩阵进行变换处理,确定待渲染模型在所述真实环境中所处的位置。
进一步地,所述基于所述待渲染模型的位置和所述待渲染模型与光照之间的相对关系进行光照计算,包括:
基于所述待渲染模型的位置计算所述待渲染模型的环境光参数和漫反射参数;
基于所述环境光参数和所述漫反射参数计算所述待渲染模型的光照强度值,获得所述待渲染模型的光照强度。
进一步地,所述基于所述待渲染模型的光照属性对所述待渲染模型进行渲染,包括:
基于所述待渲染模型的光照强度对待渲染模型进行渲染。
进一步地,所述基于所述待渲染模型的位置和所述待渲染模型与光照之间的相对关系进行光照计算,包括:
基于所述待渲染模型的位置计算所述待渲染模型的环境光参数和漫反射参数;
基于所述环境光参数、所述漫反射参数以及待渲染模型的颜色计算所述待渲染模型的光照颜色值,获得所述待渲染模型的光照颜色。
进一步地,所述基于所述待渲染模型的光照属性对所述待渲染模型进行渲染,包括:
基于所述待渲染模型的光照颜色对待渲染模型进行渲染。
本申请还公开了一种基于AR场景的光照渲染装置,包括:
获取模块,被配置为获取真实环境的光照属性值,并基于所述真实环境的光照属性值确定AR场景的光照属性值;
第一渲染模块,被配置为基于所述AR场景的光照属性值对AR场景进行渲染,得到AR场景贴图;
确定模块,被配置为基于所述AR场景贴图确定待渲染模型在所述真实环境中的位置;
计算模块,被配置为基于所述待渲染模型的位置和所述待渲染模型与光照之间的相对关系进行光照计算,获得所述待渲染模型的光照属性;
第二渲染模块,被配置为基于所述待渲染模型的光照属性对所述待渲染模型进行渲染。
本申请还公开了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现所述基于AR场景的光照渲染方法的步骤。
本申请还公开了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现权利要求所述基于AR场景的光照渲染方法的步骤。
本申请提供的基于AR场景的光照渲染方法及装置,通过获取真实环境的光照属性值,并基于真实环境的光照属性值确定相对应的AR场景的光照属性值,使AR场景的光照属性随着真实环境光照的变化而变化,与真实环境的光照属性相同步,再基于AR场景的光照属性值渲染生成AR场景贴图,提高AR场景贴图的质感与真实感,而后基于AR场景贴图确定待渲染模型在真实环境中的位置,以更加精确的获得待渲染模型处于真实环境的情况下与光照间的关系,使光照对待渲染模型带来的影响更加明确化,最后计算待渲染模型的光照属性并对待渲染模型进行渲染,可以使AR场景及AR场景中的模型随着真实环境光照的变化而变化,与真实环境中的光照形成交互,大大提高模型与AR场景、真实环境的融合性以及贴合度,增强AR游戏的互动真实性。
附图说明
图1是本申请一实施例所述的计算设备的结构示意图;
图2是本申请一实施例所述的基于AR场景的光照渲染方法的步骤流程示意图;
图3是本申请一实施例所述的基于AR场景的光照渲染方法的步骤流程示意图;
图4是本申请一实施例所述的基于AR场景的光照渲染方法的步骤流程示意图;
图5是本申请一实施例所述的基于AR场景的光照渲染装置的结构示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本发明一个或多个实施例涉及的名词术语进行解释。
渲染:在电脑绘图中是指用软件从模型生成图像的过程。
模型:是用严格定义的语言或者数据结构对于三维物体的描述,它包括几何、视点、纹理以及照明信息。
光传感器:是设置于设备或终端中的可以敏锐感应紫外光到红外光的光能量,并将光能量转换成电信号的器件。
漫反射:是投射在粗糙表面上的光向各个方向反射的现象。当一束平行的入射光线射到粗糙的表面时,表面会把光线向着四面八方反射,所以入射线虽然互相平行,由于各点的法线方向不一致,造成反射光线向不同的方向无规则地反射,这种反射称之为“漫反射”或“漫射”。这种反射的光称为漫射光。
在本申请中,提供了一种基于AR场景的光照渲染方法及装置、计算设备及计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图1是示出了根据本说明书一实施例的计算设备100的结构框图。该计算设备100的部件包括但不限于存储器110和处理器120。处理器120与存储器110通过总线130相连接,数据库150用于保存数据。
计算设备100还包括接入设备140,接入设备140使得计算设备100能够经由一个或多个网络160通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备140可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备100的上述部件以及图1中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图1所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备100可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备100还可以是移动式或静止式的服务器。
其中,处理器120可以执行图2所示方法中的步骤。图2是示出了根据本申请一实施例的基于AR场景的光照渲染方法的示意性流程图,包括步骤S210至步骤S250。
S210、获取真实环境的光照属性值,并基于所述真实环境的光照属性值确定AR场景的光照属性值。
其中,获取真实环境的光照属性值的过程是实时进行的。
光照属性是光照颜色、光照明暗程度、光照强烈程度等可以表现光照情况的属性,真实环境的光照属性是真实拍摄场景环境光照的光照属性,比如,在拍摄的场景是公园的喷泉,那么公园喷泉处的光照属性即为真实环境的光照属性。AR场景的光照属性是设备或终端通过拍摄呈现于屏幕上的场景画面的光照属性,比如,呈现在屏幕上的公园喷泉画面的光照属性即为AR场景的光照属性。在本实施例中,光照属性既可以是单一属性,也可以是两个或多个属性的结合,可视具体情况而定,本申请对此不做限制。
光照属性值是用于表示光照属性的如强弱等特点的参数值,真实环境的光照属性值是真实拍摄场景环境光照的属性特点参数值,AR场景的光照属性值是设备或终端通过拍摄呈现于屏幕上的场景画面光照的属性特点参数值。
光照属性可以为光照强度、光照颜色等,在光照属性为光照强度的情况下,光照属性值即为光照强度值,在光照属性为光照颜色的情况下,光照属性值为光照颜色值。
具体地,可以通过光传感器获取真实环境的光照强度值,并基于所述真实环境的光照强度值计算AR场景的光照强度值。
在实际应用中,通过调用设备或终端中的光传感器,获得真实环境的光照强度值,并基于真实环境的光照强度值通过Vuforia等AR识别和处理工具计算生成可以用于片段着色器渲染的AR场景的光照强度值,不同的终端或平台可以使用不同的公式进行计算。
比如,在ios平台计算AR场景的光照强度值的公式为:
在Android平台计算AR场景的光照强度值的公式为:
Res=x/0.466f
其中,x为真实环境的光照强度值,f为AR场景的光照强度值。
具体地,可以通过光传感器或立方体贴图获取真实环境的光照颜色值,并将所述真实环境的光照颜色值作为AR场景的光照颜色值。
其中,立方体贴图(Cubemap)是包含有6个2D纹理的立方体,每一个2D纹理均为立方体的一个面。
在实际应用中,可以基于拍摄的真实环境实时生成与真实环境相对应的立方体贴图,并在上述立方体贴图中进行采样,以此刻真实环境的光照颜色值作为AR场景的光照颜色值。
本实施例实时获取真实环境的光照属性值,并基于所述真实环境的光照属性值确定AR场景的光照属性值,可以使AR场景的光照情况随着真实环境的光照情况的变化而变化,有效提高AR场景的真实性,为后续AR场景中模型的变化打下基础、做好铺垫。
S220、基于所述AR场景的光照属性值对AR场景进行渲染,得到AR场景贴图。
具体地,既可以基于AR场景的光照强度值对AR场景进行渲染,也可以基于AR场景的光照颜色值对AR场景进行渲染,还可以基于AR场景的光照强度值和光照颜色值对AR场景进行渲染,得到AR场景贴图,本申请对此不做限制。
在实际应用中,设备或终端的AR模式启动后,启动该设备或终端的摄像装置,并将摄像装置拍摄的画面实时生成贴图,而后将该贴图作为背景即AR场景通过帧缓存工具(Frambuffer)等渲染工具进行渲染,得到AR场景贴图。
需要说明的是,对于动态过程,AR场景贴图可以是其中任意一帧的画面基于AR场景的光照属性值渲染生成的贴图,若干帧连续的AR场景贴图即生成连续的动态过程,展现出整个动态过程中的光照变换。
本实施例中基于真实环境和相对应的AR场景的光照属性实时对AR场景进行渲染,可以有效提高AR场景的画面精细度和真实体验感。
S230、基于所述AR场景贴图确定待渲染模型在所述真实环境中的位置。
待渲染模型是位于AR场景中、需要根据光照属性进行光照渲染的模型,其既可以是人物模型,如小朋友、老年人等,也可以是动物模型,如小狗、小猫等,还可以是如花草、桌子等的其他各种类型的模型,可视具体情况而定,本申请对此不做限制。
具体地,可以通过AR识别工具获取待渲染模型基于所述AR场景贴图的位置矩阵;对所述位置矩阵进行变换处理,确定待渲染模型在所述真实环境中所处的位置。
基于待渲染模型在AR场景贴图中的位置来确定上述待渲染模型在真实环境中应当所处的位置,有助于更加精确的计算待渲染模型处于真实环境的情况下与光照间的关系,如相对位置关系等,以提高光照渲染的逼真度。
S240、基于所述待渲染模型的位置和所述待渲染模型与光照之间的相对关系进行光照计算,获得所述待渲染模型的光照属性。
待渲染模型与光照之间的相对关系可以是待渲染模型与光源之间的相对距离、待渲染模型与光线之间的相对夹角等。
具体地,在光照属性为光照强度的情况下,可以基于所述待渲染模型的位置计算所述待渲染模型的环境光参数和漫反射参数;基于所述环境光参数和所述漫反射参数计算所述待渲染模型的光照强度值,获得所述待渲染模型的光照强度。
在实际应用中,可以在世界空间中进行光照计算,首先基于转换到世界空间中的光照位置向量和模型位置向量计算二者之间的方向向量,即光源位置向量与模型位置向量的向量差,将法线与上述方向向量进行标准化后再进行点乘,得到当前光照对模型的漫反射影响,再将上述点乘结果值乘以光照的颜色得到漫反射分量,即漫反射参数。将AR场景的光照强度值作为环境光参数与上述漫反射参数相加,获得待渲染模型的光照强度。
在光照属性为光照颜色的情况下,可以基于所述待渲染模型的位置计算所述待渲染模型的环境光参数和漫反射参数;基于所述环境光参数、所述漫反射参数以及待渲染模型的颜色计算所述待渲染模型的光照颜色值,获得所述待渲染模型的光照颜色。
在实际应用中,可以在世界空间中通过片段着色器进行光照计算,首先基于转换到世界空间中的光照位置向量和模型位置向量计算二者之间的方向向量,即光源位置向量与模型位置向量的向量差,将法线与上述方向向量进行标准化后再进行点乘,得到当前光照对模型的漫反射影响,再将上述点乘结果值乘以光照的颜色得到漫反射分量,即漫反射参数。将AR场景的光照强度值作为环境光参数与上述漫反射参数相加后乘以模型的颜色,获得待渲染模型的光照颜色。
采用上述方法对AR场景中的待渲染模型进行光照渲染,可以大大提高模型与AR场景、真实环境的贴合度,增强互动真实性。
S250、基于所述待渲染模型的光照属性对所述待渲染模型进行渲染。
具体地,可以通过Frambuffer等各种渲染工具对待渲染模型进行渲染,本申请对此不做限制。
本实施例提供的基于AR场景的光照渲染方法,通过获取真实环境的光照属性值,基于真实环境的光照属性确定相对应的AR场景的光照属性值,使AR场景的光照属性值与真实环境的光照属性相同步,在基于AR场景的光照属性值渲染生成AR场景贴图后,基于AR场景贴图确定待渲染模型在真实环境中的位置,再计算待渲染模型的光照属性并对待渲染模型进行渲染,可以使AR场景及AR场景中的模型随着真实环境光照的变化而变化,与真实环境中的光照形成交互,大大提高AR游戏的真实感和互动感。
如图3所示,本实施例公开了一种基于AR场景的光照渲染方法,包括步骤S310至步骤S360。
S310、通过光传感器获取真实环境的光照强度值,并基于所述真实环境的光照强度值计算AR场景的光照强度值。
在实际应用中,可以通过调用设备或终端中的光传感器,获得真实环境的光照强度值,并基于真实环境的光照强度值通过Vuforia等AR识别和处理工具计算生成可以用于着色器且可以用于渲染的AR场景的光照强度值,不同的终端或平台可以使用不同的公式进行计算。
本实施例实时获取真实环境的光照强度值,并基于所述真实环境的光照强度值确定AR场景的光照强度值,可以使AR场景的光照强度随着真实环境的光照强度的变化而变化,有效提高AR场景的真实性。
S320、基于所述AR场景的光照强度值对AR场景进行渲染,得到AR场景贴图。
基于真实环境和相对应的AR场景的光照强度实时对AR场景进行渲染,可以有效提高AR场景的画面精细度和真实体验感。
S330、基于所述AR场景贴图确定待渲染模型在所述真实环境中的位置。
具体地,可以通过AR识别工具获取待渲染模型基于所述AR场景贴图的位置矩阵;对所述位置矩阵进行变换处理,确定待渲染模型在所述真实环境中所处的位置。
基于待渲染模型在AR场景贴图中的位置来确定上述待渲染模型在真实环境中应当所处的位置,有助于更加精确的计算待渲染模型处于真实环境的情况下与光照间的关系,如相对位置关系等,以提高光照渲染的逼真度。
S340、基于所述待渲染模型的位置计算所述待渲染模型的环境光参数和漫反射参数。
在实际应用中,可以在世界空间中通过片段着色器进行光照计算,首先基于转换到世界空间中的光照位置向量和模型位置向量计算二者之间的方向向量,即光源位置向量与模型位置向量的向量差,将法线与上述方向向量进行标准化后再进行点乘,得到当前光照对模型的漫反射影响,再将上述点乘结果值乘以光照的颜色得到漫反射分量,即漫反射参数。
S350、基于所述环境光参数和所述漫反射参数计算所述待渲染模型的光照强度值,获得所述待渲染模型的光照强度。
在实际应用中,可以将AR场景的光照强度值作为环境光参数与上述漫反射参数相加,获得待渲染模型的光照强度。
采用上述方法对AR场景中的待渲染模型进行光照渲染,可以大大提高模型与AR场景、真实环境的贴合度,增强互动真实性。
S360、基于所述待渲染模型的光照强度对待渲染模型进行渲染。
下面结合具体的例子对本实施例做出进一步说明。
例如,假设当前真实环境为黑暗的书房,且在书房地面上的正中心位置处有一只点燃的蜡烛作为微弱的光源。
调用手机中的光传感器获得真实环境的光照强度值为a,通过Vuforia计算得到拍摄的书房AR场景的光照强度值为b,基于光照强度值b对书房AR场景进行渲染,生成书房AR场景贴图。
待渲染模型为一只小狗的模型,小狗模型位于书房AR场景中蜡烛的左侧2cm处,基于上述小狗模型在书房AR场景中的位置计算得到在书房的真实环境中小狗模型位于蜡烛的西方1m处。
基于上述小狗模型在真实环境中的位置计算得到漫反射参数为c,那么书房AR场景的光照强度值b与漫反射参数c相加得到小狗模型的光照强度值d,并基于光照强度值d对小狗模型进行渲染,得到光照强度与真实环境保持一致的小狗模型。
本实施例提供的基于AR场景的光照渲染方法,通过获取真实环境的光照强度值,基于真实环境的光照强度值确定相对应的AR场景的光照强度值,使AR场景的光照强度与真实环境的光照强度相同步,在基于AR场景的光照强度渲染生成AR场景贴图后,基于AR场景贴图确定待渲染模型在真实环境中的位置,再计算待渲染模型的光照强度并对待渲染模型进行渲染,可以使AR场景及AR场景中的模型随着真实环境光照的变化而变化,比如,模型随着真实环境光照的增强而逐渐变亮等,可以有效提高模型与AR场景、真实环境的自然融合性,提高效果逼真度,避免如在过暗的环境中模型亮度过高等情况带来的突兀感,提高AR游戏的真实感与代入感。
如图4所示,本实施例公开了一种基于AR场景的光照渲染方法,包括步骤S410至步骤S460。
S410、通过光传感器或立方体贴图获取真实环境的光照颜色值,并将所述真实环境的光照颜色值作为AR场景的光照颜色值。
在实际应用中,可以基于拍摄的真实环境实时生成与真实环境相对应的立方体贴图,并在上述立方体贴图中进行采样,以在此刻真实环境的光照颜色值,并作为AR场景的光照颜色值。
本实施例实时获取真实环境的光照颜色值,并基于所述真实环境的光照颜色值确定AR场景的光照颜色值,可以使AR场景的光照颜色随着真实环境的光照颜色的变化而变化,有效提高AR场景的真实性。
S420、基于所述AR场景的光照颜色值对AR场景进行渲染,得到AR场景贴图。
基于真实环境和相对应的AR场景的光照颜色实时对AR场景进行渲染,可以有效提高AR场景的画面精细度和真实体验感。
S430、基于所述AR场景贴图确定待渲染模型在所述真实环境中的位置。
具体地,可以通过AR识别工具获取待渲染模型基于所述AR场景贴图的位置矩阵;对所述位置矩阵进行变换处理,确定待渲染模型在所述真实环境中所处的位置。
基于待渲染模型在AR场景贴图中的位置来确定上述待渲染模型在真实环境中应当所处的位置,有助于更加精确的计算待渲染模型处于真实环境的情况下与光照间的关系,如相对位置关系等,以提高光照渲染的逼真度。
S440、基于所述待渲染模型的位置计算所述待渲染模型的环境光参数和漫反射参数。
在实际应用中,可以在世界空间中通过片段着色器进行光照计算,首先基于转换到世界空间中的光照位置向量和模型位置向量计算二者之间的方向向量,即光源位置向量与模型位置向量的向量差,将法线与上述方向向量进行标准化后再进行点乘,得到当前光照对模型的漫反射影响,再将上述点乘结果值乘以光照的颜色得到漫反射分量,即漫反射参数。
S450、基于所述环境光参数、所述漫反射参数以及待渲染模型的颜色计算所述待渲染模型的光照颜色值,获得所述待渲染模型的光照颜色。
在实际应用中,将AR场景的光照强度值作为环境光参数与上述漫反射参数相加后乘以模型的颜色,获得待渲染模型的光照颜色。
采用上述方法对AR场景中的待渲染模型进行光照渲染,可以大大提高模型与AR场景、真实环境的贴合度,增强互动真实性。
S460、基于所述待渲染模型的光照颜色对待渲染模型进行渲染。
下面结合具体的例子对本实施例做出进一步说明。
例如,假设当前真实环境为咖啡厅,且在咖啡厅的天花板上设置有一处暖黄色吊灯作为光源。
调用手机中的光传感器获得真实环境的光照颜色值为x,并将咖啡厅真实环境的光照颜色值x作为咖啡厅AR场景的光照颜色值,基于光照颜色值x对咖啡厅AR场景进行渲染,生成咖啡厅AR场景贴图。
待渲染模型为一位穿着白色毛衣的女士,其颜色可用参数w表示,待渲染模型位于咖啡厅AR场景中吊灯的右下方3cm处,基于上述待渲染模型在咖啡厅AR场景中的位置计算得到在咖啡厅的真实环境中待渲染模型位于吊灯的右下方1.3m处,且待渲染模型与吊灯之间的夹角为40°。
基于上述待渲染模型在咖啡厅真实环境中的位置计算得到漫反射参数为y,那么咖啡厅AR场景的光照颜色值x与漫反射参数y相加后与颜色参数w相乘,得到待渲染模型的光照颜色值z,并基于光照颜色值z对待渲染模型进行渲染,得到光照颜色与真实环境保持一致的人物模型。
本实施例提供的基于AR场景的光照渲染方法,通过获取真实环境的光照颜色值,基于真实环境的光照颜色值确定相对应的AR场景的光照颜色值,使AR场景的光照颜色与真实环境的光照颜色相同步,在基于AR场景的光照颜色值渲染生成AR场景贴图后,基于AR场景贴图确定待渲染模型在真实环境中的位置,再计算待渲染模型的光照颜色并对待渲染模型进行渲染,可以使AR场景及AR场景中的模型随着真实环境光照的变化而变化,比如,随着夕阳西下,光照颜色由金黄色逐渐变为橘红色,光照打在模型上随之也带来模型颜色的变化,比如白色模型同样由金黄色变为橘红色,此方法可以有效提高模型与AR场景、真实环境的自然融合性,提高效果逼真度,提高AR游戏的真实感与代入感。
如图5所示,本实施例提供了一种基于AR场景的光照渲染装置,包括:
获取模块510,被配置为获取真实环境的光照属性值,并基于所述真实环境的光照属性值确定AR场景的光照属性值;
第一渲染模块520,被配置为基于所述AR场景的光照属性值对AR场景进行渲染,得到AR场景贴图;
确定模块530,被配置为确定待渲染模型在所述AR场景贴图中的位置;
计算模块540,被配置为基于所述待渲染模型的位置和所述AR场景贴图中待渲染模型与光照之间的相对关系进行光照计算,获得所述待渲染模型的光照属性;
第二渲染模块550,被配置为基于所述待渲染模型的光照属性对所述待渲染模型进行渲染。
可选地,所述光照属性值包括光照强度值;
所述获取模块510,进一步地被配置为:
通过光传感器获取真实环境的光照强度值,并基于所述真实环境的光照强度值计算AR场景的光照强度值;
所述第一渲染模块520,进一步地被配置为:
基于所述AR场景的光照强度值对AR场景进行渲染,得到AR场景贴图。
可选地,所述光照属性值包括光照颜色值;
所述获取模块510,进一步地被配置为:
通过光传感器或立方体贴图获取真实环境的光照颜色值,并将所述真实环境的光照颜色值作为AR场景的光照颜色值;
所述第一渲染模块520,进一步地被配置为:
基于所述AR场景的光照颜色值对AR场景进行渲染,得到AR场景贴图。
可选地,所述确定模块530,进一步地被配置为:
通过AR识别工具获取待渲染模型基于所述AR场景贴图的位置矩阵;
对所述位置矩阵进行变换处理,确定待渲染模型在所述真实环境中所处的位置。
可选地,所述计算模块540,进一步地被配置为:
基于所述待渲染模型的位置计算所述待渲染模型的环境光参数和漫反射参数;
基于所述环境光参数和所述漫反射参数计算所述待渲染模型的光照强度值,获得所述待渲染模型的光照强度。
可选地,所述第二渲染模块550,进一步地被配置为:
基于所述待渲染模型的光照强度对待渲染模型进行渲染。
可选地,所述计算模块540,进一步地被配置为:
基于所述待渲染模型的位置计算所述待渲染模型的环境光参数和漫反射参数;
基于所述环境光参数、所述漫反射参数以及待渲染模型的颜色计算所述待渲染模型的光照颜色值,获得所述待渲染模型的光照颜色。
可选地,所述第二渲染模块550,进一步地被配置为:
基于所述待渲染模型的光照颜色对待渲染模型进行渲染。
本实施例提供的基于AR场景的光照渲染装置,通过获取真实环境的光照属性值,基于真实环境的光照属性确定相对应的AR场景的光照属性值,使AR场景的光照属性值与真实环境的光照属性相同步,在基于AR场景的光照属性值渲染生成AR场景贴图后,基于AR场景贴图确定待渲染模型在真实环境中的位置,再计算待渲染模型的光照属性并对待渲染模型进行渲染,可以使AR场景及AR场景中的模型随着真实环境光照的变化而变化,与真实环境中的光照形成交互,大大提高AR场景中模型的真实感和互动感。
本申请一实施例还提供一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现以下步骤:
获取真实环境的光照属性值,并基于所述真实环境的光照属性值确定AR场景的光照属性值;
基于所述AR场景的光照属性值对AR场景进行渲染,得到AR场景贴图;
基于所述AR场景贴图确定待渲染模型在所述真实环境中的位置;
基于所述待渲染模型的位置和所述待渲染模型与光照之间的相对关系进行光照计算,获得所述待渲染模型的光照属性;
基于所述待渲染模型的光照属性对所述待渲染模型进行渲染。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述基于AR场景的光照渲染方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的基于AR场景的光照渲染方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述基于AR场景的光照渲染方法的技术方案的描述。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。