CN111260769B - 一种基于动态光照变化的实时渲染方法及装置 - Google Patents

一种基于动态光照变化的实时渲染方法及装置 Download PDF

Info

Publication number
CN111260769B
CN111260769B CN202010020881.9A CN202010020881A CN111260769B CN 111260769 B CN111260769 B CN 111260769B CN 202010020881 A CN202010020881 A CN 202010020881A CN 111260769 B CN111260769 B CN 111260769B
Authority
CN
China
Prior art keywords
scene
virtual object
real
shadow
illumination
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
Application number
CN202010020881.9A
Other languages
English (en)
Other versions
CN111260769A (zh
Inventor
不公告发明人
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Zhongke Shenzhi Technology Co ltd
Original Assignee
Beijing Zhongke Shenzhi Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Zhongke Shenzhi Technology Co ltd filed Critical Beijing Zhongke Shenzhi Technology Co ltd
Priority to CN202010020881.9A priority Critical patent/CN111260769B/zh
Publication of CN111260769A publication Critical patent/CN111260769A/zh
Application granted granted Critical
Publication of CN111260769B publication Critical patent/CN111260769B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/60Shadow generation

Abstract

本发明公开了一种基于动态光照变化的实时渲染方法及装置,该方法包括:获取场景的3D模型和HDRI环境地图;基于所述场景的3D模型和HDRI环境地图对所述场景进行光照估计;基于所述光照估计,采用阴影体积算法对所述虚拟对象进行基本渲染;对进行基本渲染后的所述虚拟对象环境进行HDRI映射,得到当前环境图,基于所述当前环境图对所述虚拟对象进行增强渲染,获得虚拟对象的真实阴影;当所述场景中的光照发生变化时,基于所述场景的最新光照估计,更新所述当前环境图以匹配当前的照明,并利用所述更新后的当前环境图对所述虚拟对象进行实时渲染。本发明解决了现有技术中的渲染方法及装置无法在动态光照变化的室外环境中创建虚拟对象的逼真照明的问题。

Description

一种基于动态光照变化的实时渲染方法及装置
技术领域
本发明涉及增强现实技术领域,特别涉及一种基于动态光照变化的实时渲染方法及装置。
背景技术
增强现实(Augmented Reality,简称AR)技术是一种将虚拟信息与真实世界巧妙融合的技术,将计算机生成的虚拟对象实时叠加到用户周围的真实场景中,从而实现对真实世界的“增强”,在这一过程中能够被人类感官所感知,从而实现超越现实的感官体验。
然而,增强现实技术要使增强效果令人信服,一个重要的因素是在渲染虚拟对象时使用真实世界的照明,以便它们一致地着色并投射一致的阴影,当真实世界的光照发生变化时,比如有云彩飘过,遮住太阳,光照会变弱,虚拟对象的光照也要随之改变,否则,这种光照的不一致性会影响场景的真实效果以及虚拟对象的无缝融合。现有技术中的渲染方法的效果图如图1所示,图1左图显示了在光照未发生变化时,作为虚拟对象的白色雕像能够与真实场景巧妙融合,但当真实场景光照发生变化时,如图1右图所示,乌云遮住了太阳,院子里的光线变暗,但白色雕像仍然沐浴在比周围环境强烈得多的阳光下,它投在地上的阴影并没有消失在云的阴影中,增强现实系统并不能随着光照条件的变化来估计和改变场景中的光线。
因此,提供一种基于动态光照变化的实时渲染方法及装置是目前亟待解决的问题。
发明内容
为解决上述技术问题,本发明的目的在于提供一种能够评估户外场景的光照,并将光照变化应用于放置在真实场景中的虚拟对象的基于动态光照变化的实时渲染方法及装置,以解决背景技术中出现有一个或多个的问题。
第一方面,本发明实施例提供一种基于动态光照变化的实时渲染方法,包括:
获取场景的3D模型和HDRI环境地图;
基于所述场景的3D模型和HDRI环境地图对所述场景进行光照估计,其中,所述场景包含漫反射表面,所述光照估计包括描述所述场景光照的局部光照参数;
基于所述光照估计,采用阴影体积算法对所述虚拟对象进行基本渲染;
对进行基本渲染后的所述虚拟对象环境进行HDRI映射,得到当前环境图,所述当前环境图用于显示当前照明条件下的环境,基于所述当前环境图对所述虚拟对象进行增强渲染,获得虚拟对象的真实阴影;
当所述场景中的光照发生变化时,基于所述场景的最新光照估计,更新所述当前环境图以匹配当前的照明,并利用所述更新后的当前环境图对所述虚拟对象进行实时渲染,更新所述虚拟对象的真实阴影。
进一步地,基于所述光照估计,采用阴影体积算法对所述虚拟对象进行基本渲染的步骤包括:
创建所述虚拟对象的阴影;
从所述虚拟对象的阴影中减去所述场景中真实物体的阴影;
将减去真实物体阴影后的所述虚拟对象阴影叠加在所述虚拟对象上;
渲染所述虚拟对象接收阴影。
进一步地,在所述对场景进行光照估计的步骤之前,所述方法还包括:
对摄像机进行校准以适应所述场景,采用摄像机对所述场景进行拍摄。
进一步地,在基于所述光照估计,采用阴影体积算法对所述虚拟对象进行基本渲染的步骤之后,所述方法还包括:
基于所述场景的3D模型和HDRI环境地图,获取所述场景的反照率贴图、加权环境图和法线贴图;
其中,所述反照率贴图用于描述所述场景中每个可视表面的漫反射;
所述加权环境图用于描述所述场景中每个点从天穹接收的光线;
所述法线贴图用于提取所述场景中每个点的表面法线。
进一步地,所述实时渲染的公式为:
Figure BDA0002360615110000021
其中,ρd是像素漫反射率,c是加权环境图,s是阴影环境图,n是法线,l是估计的光方向,Pa是通过光照估计得到的环境光参数,Pd是直接光参数,P是x方向的像素强度。
第二方面,本发明实施例提供一种基于动态光照变化的实时渲染装置,包括:
获取模块,用于获取场景的3D模型和HDRI环境地图;
光照估计模块,用于基于所述场景的3D模型和HDRI环境地图对所述场景进行光照估计,其中,所述场景包含漫反射表面,所述光照估计包括描述所述场景光照的局部光照参数;
基本渲染模块,用于基于所述光照估计,采用阴影体积算法对所述虚拟对象进行基本渲染;
增强渲染模块,用于对进行基本渲染后的所述虚拟对象环境进行HDRI映射,得到当前环境图,所述当前环境图用于显示当前照明条件下的环境,基于所述当前环境图对所述虚拟对象进行增强渲染,获得虚拟对象的真实阴影;
实时渲染模块,用于当所述场景中的光照发生变化时,基于所述场景的最新光照估计,更新所述当前环境图以匹配当前的照明,并利用所述更新后的当前环境图对所述虚拟对象进行实时渲染,更新所述虚拟对象的真实阴影。
进一步地,所述基本渲染模块包括:
第一处理模块,用于创建所述虚拟对象的阴影;
第二处理模块,用于从所述虚拟对象的阴影中减去所述场景中真实物体的阴影;
第三处理模块,用于将减去真实物体阴影后的所述虚拟对象阴影叠加在所述虚拟对象上;
第四处理模块,用于渲染所述虚拟对象接收阴影。
进一步地,所述装置还包括:
校准模块,用于对摄像机进行校准以适应所述场景,采用摄像机对所述场景进行拍摄。
进一步地,所述装置还包括:
环境图获取模块,用于基于所述场景的3D模型和HDRI环境地图,获取所述场景的反照率贴图、加权环境图和法线贴图;
其中,所述反照率贴图用于描述所述场景中每个可视表面的漫反射;
所述加权环境图用于描述所述场景中每个点从天穹接收的光线;
所述法线贴图用于提取所述场景中每个点的表面法线。
进一步地,所述实时渲染的公式为:
Figure BDA0002360615110000031
其中,ρd是像素漫反射率,c是加权环境图,s是阴影环境图,n是法线,l是估计的光方向,Pa是通过光照估计得到的环境光参数,Pd是直接光参数,P是x方向的像素强度。
第三方面,本发明实施例提供一种存储介质,所述存储介质包括存储的程序,其中,所述程序执行任意一种上述的方法。
第四方面,本发明实施例提供一种处理器,上述处理器用于运行程序,其中,所述程序运行时执行任意一种上述的方法。
第五方面,本发明实施例提供一种电子设备,包括:一个或多个处理器,存储器,显示装置以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置为由上述一个或多个处理器执行,上述一个或多个程序包括用于执行任意一种上述的方法。
有益效果
在本发明实施例中,虚拟对象的阴影是通过使用基于图像的照明实现的,而无需在场景中添加额外的校准对象,使用HDRI环境地图照亮场景,模拟场景中反射的多个灯光,能够处理动态光变化,并将其应用于给定场景中的增强虚拟对象,使得增强现实系统能够在发生可预测和不可预测的动态光照变化的室外环境中创建虚拟对象的逼真的照明。
附图说明
图1是现有技术中渲染方法的效果图;
图2是根据本发明实施例的一种基于动态光照变化的实时渲染方法的流程图;
图3是阴影体积算法的处理过程图;
图4是反照率贴图的示意图;
图5是加权环境图的示意图;
图6是法线贴图示的意图;
图7是根据本发明实施例的一种基于动态光照变化的实时渲染方法的效果图;
图8是根据本发明实施例的一种基于动态光照变化的实时渲染装置的结构示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
在本发明实施中,提供一种基于动态光照变化的实时渲染方法,如图2所示,该方法包括如下步骤:
步骤S100,获取场景的3D模型和HDRI环境地图;
步骤S102,基于场景的3D模型和HDRI环境地图对场景进行光照估计,其中,场景包含漫反射表面,光照估计包括描述场景光照的局部光照参数;
本方法应用于增强现实系统或设备,其中,光照估计方法用于确定场景的灯光如何配置,光照估计利用500个随机选取的像素样本对图像进行分析,从中估计所使用模型的光参数。在假设太阳模型提供了太阳的方向向量的情况下,该方法能够估计场景中直接光和间接光的光强,前提是摄像机在其框架内同时具有光和影的表面。例如,当有厚厚的云层覆盖时,该方法会将太阳的RGB强度估计为几乎为零,因为它看不到直射光区域和阴影区域之间的明显差异。
在本方法中,每一帧的灯光参数都会估算出来,并以30fps的速度运行。
此外,对虚拟对象的光照和阴影的估计是基于室外场景中的阳光是纯方向性的假设。这在现实中并不完全正确,但在场景中两个点(例如相距100米)与入射阳光的角度差是微不足道的,因此系统使用整个场景中灯光估计给出的灯光方向,这也有助于加快所有阴影和阴影计算的实时性。
光照估计方法有许多约束条件和假设,这些假设适用于整个增强现实系统。首先,假设光照估计方法仅在白天室外使用。这是由于假设太阳是室外场景中唯一的主要光源,因此是唯一需要估算的直接光源,而天空提供了二次照明,将估算为环境光。其次,只能在没有降水的情况下运行,因为它会改变场景中表面的反射率特性。此外,要增强的场景需要包含漫反射表面,因为这些将是估计场景照明的来源,该方法的另一个假设是,砖房和砖石的室外环境接近于漫反射,这是用来获得照明参数的。
为了使增强现实系统能够估计场景的光线,还需要场景的3D模型,以及记录在场景中心的HDRI环境地图。最后,由于光线是通过摄像机记录的场景图像来估计的,因此需要对摄像机进行校准以适应场景,所需要的3D模型,只需要一个简单的表示,只包含场景的主要表面,方形建筑需要只表示为一个方框表示。在进行场景校准时,系统会提示用户在场景的环境地图上进行标记,其中可见的表面被认为是漫反射的,可以用于估计。当系统校准后,光照估计能够分析摄像机拍摄的场景图像,并从3D模型、HDRI环境地图和太阳模型中确定来自太阳的直射光的强度,以及场景中反射表面的间接照明强度。
光照估计的结果作为直接照明和环境照明的RGB强度以及作为向太阳提供方向向量的光向量传递到渲染管线。灯光参数与Phong光照模型兼容,因为此模型的各种类型用于导出灯光估计参数。
步骤S104,基于光照估计,采用阴影体积算法对虚拟对象进行基本渲染。
当给定场景的光照已被估计时,它用于将虚拟对象主观出现在场景中,好像它是场景的一部分,而不是将虚拟对象操纵到框架中。最简单的方法是将虚拟对象放置在场景中。将任何3D硬件支持的Phong光照模型与对象上的估计光照参数一起使用,这将产生一个虚拟的增强对象,该对象看起来与周围场景的照明相匹配。除非对象的表面不在阳光直射下,否则周围的颜色将保持不变。
为了保持虚拟对象是真实场景中不可分割的一部分的错觉,真正的对象必须在虚拟对象上投射阴影,虚拟对象必须在真实环境中投射阴影。为了将阴影从虚拟对象投射到真实环境中,反之亦然,我们使用了阴影体积算法。
阴影体积算法使用两组阴影,即虚拟对象和真实物体的阴影,在场景中都有不同的表现。虚拟对象必须对环境投下阴影,但只有在真实场景物体的阴影不存在的情况下。真实的物体只能在虚拟对象上投射阴影,而不能在自然已经提供阴影的真实环境上投射阴影。阴影体积是要投射阴影的对象在远离光源所阻挡的方向上的投射。通过巧妙地使用当今任何标准3D硬件中存在的模板缓冲区,阴影体积被用于在多个过程中创建阴影效果,其中,体积与其他片段相交。
阴影体积算法的过程如图3所示,图3将一个虚拟的猪放入到一个场景中,为了创建阴影效果,将周围环境的阴影从猪的阴影中减去并混合到图像中。此外,周围的环境也给猪投下了阴影。如图3所示,阴影体积算法步骤如下:
步骤1:为虚拟对象创建阴影;
步骤2:从虚拟对象阴影中减去真实物体的阴影;
步骤3:将减去真实物体阴影后的虚拟对象阴影叠加在虚拟对象上;
步骤4:渲染虚拟对象接收阴影。
其中,步骤1使用常规的Z-pass阴影体积算法,而步骤2是仅针对场景中真实对象的3D模型进行相同的处理,并且缓冲区递减而不是递增。当这两个步骤完成后,阴影与周围环境的相互作用就完成了。在步骤3中,将虚拟阴影渲染到帧上,在该帧中,被确定为处于阴影中的区域会由于环境光和直接光之间的关系而变暗。这种方法不会完全消除阴影区域。
渲染单一帧的最后一步是将虚拟对象渲染成真实的图像,环境光照射在被光源遮挡的表面上,直射光照射在直射光的表面上。场景的遮挡将由深度缓冲处理。
从理论上讲,这个过程足以表示每一帧更新了光的增强对象。渲染也会很快,因为Phong着色和阴影体积都可以硬件加速。但Phong阴影无法创建逼真的阴影,即使虚拟室外场景可以视为虚拟场景,该阴影也不会使虚拟对象看起来像是真实场景的一部分,并被场景中的多次反射所照亮。因此,若要创建更逼真的阴影,必须使用将环境中的光反射考虑在内的阴影方法替换Phong阴影的环境光部分。
步骤S106,对进行基本渲染后的虚拟对象环境进行HDRI映射,得到当前环境图,当前环境图用于显示当前照明条件下的环境,基于当前环境图对虚拟对象进行增强渲染,获得虚拟对象的真实阴影;
根据环境光照获取虚拟对象真实感阴影的方法是对环境进行HDRI映射。HDRI是一种亮度范围非常广的图像,它比其它格式的图像有着更大亮度的数据贮存,而且记录亮度的方式与传统的图片不同,是用直接对应的方式而不是用非线性的方式将亮度信息压缩到8bit或16bit的颜色空间内记录亮度信息,记录了图片环境中的照明信息,因此我们可以使用这种图像来“照亮”场景。如果将此方法扩展到真实场景中增强对象的渲染,则意味着每次环境光照变化时都必须提供新的环境地图。现在假设,对于渲染的每一帧,都有一个可用环境的环境图,它显示当前照明条件下的环境,但在该图中没有可见的太阳。这样的环境地图将表示从场景中的各个表面以及天空反射的灯光。实际上,它将代表环境光。通常,当使用基于图像的照明时,假设周围的环境较远,这样在虚拟对象的所有位置上的阴影都是相同的。在增强现实系统中,虚拟对象往往离环境非常近,因此必须处理这种限制。
一种方法是使用辐射量。辐射量是一个全局照明近似值,它分析一个给定的场景,该场景已经被任何给定的阴影方法遮蔽。通过在每个点上寻找低分辨率的辐射环境图,并计算其相应的辐射环境图,对场景在各个关键点上进行采样,在场景中所有可移动的位置上形成网格,逼近每个点的光照条件。
为了在这个场景中为一个虚拟对象添加阴影,在辐射量中执行查找,其中对象中的每个顶点都由辐射量网格中最近的关键点之间的插值来添加阴影。
为了使用一个辐射量阴影增强对象在增强现实系统,它必须修改使用HDRI环境地图,而不是正常的渲染器,它必须能够更新阴影每次新HDRI环境地图是可用的,这在理论上可以为每一帧。这意味着对于每一帧,应该重新计算体积中的所有关键点。
为了确保系统能够更新辐照度,需要进行预处理。
在这个离线过程中,整个场景的环境映射被映射到场景的虚拟模型上。当映射完成后,在场景的虚拟模型中构建一个辐照度体,它决定环境从每个关键点看起来如何,存储环境映射的哪个像素在哪个关键点上使用,以便在场景的照明更新时使用。环境映射的内容直到执行时才可用。
此外,在离线处理中进行预计算,以加速将每个关键点辐射度样本转换为辐照度样本,并在改变虚拟对象的光照时再次用于在线处理。
该系统是为室外环境而设计的,假设在室外白天,只有一个主要光源,其他都是次要光源,包括来自天空的光。辐射量只处理次级光,而Phong遮光处理直接光。
为了实现这一点,需要将太阳光从体积中使用的环境地图中移除。辐射量仅处理场景的辅助光的原因是,它允许真实场景中虚拟对象的自阴影,并确保真实场景中的对象可以将阴影投射到虚拟对象上。此外,关键点采样的分辨率非常低,当场景中存在辐射量必须处理的主要光源时,分辨率不是最佳的。尽管有了环境光,它并没有那么重要。
步骤S108,当场景中的光照发生变化时,基于场景的最新光照估计,更新当前环境图以匹配当前的照明,并利用更新后的当前环境图对虚拟对象进行实时渲染,更新虚拟对象的真实阴影。
当系统启动时,对场景进行分析,光照估计提供一组描述场景光照的局部光照参数。处理灯光参数的结果是场景的环境地图,已更新以匹配当前的灯光。当阴影算法从光照估计中获得环境地图时,环境地图的内容将重定向到环境辐照量中的关键点样本。在离线过程中,计算环境地图中的不同像素如何转化为不同的关键点。此预计算用于快速更新为阴影场景中的虚拟对象所需的关键点样本。更新采样后,环境辐照量可以将虚拟物体遮盖起来,可以将其称为从环境反射的阳光。为了完全使阴影逼真,还需要考虑阳光,这是使用普通Phong渲染器的地方,所有这些都用阴影体积完成,以确保真实对象和虚拟对象之间的阴影交互是正确的。这基本上是一帧的渲染,其中灯光和阴影分别由Phong、环境辐照量和阴影体积处理。
如前所述,虚拟对象的阴影是通过使用基于图像的照明实现的,其中环境亮度映射被过滤到相应的辐照度映射中。
在本文提出的方法中,实时完成环境图到辐照度图的转换过程,每次估计场景中的光照与最后已知的光照参数不同时,系统都会生成新的环境辐射度图。
在运行时创建环境映射,它表示场景的当前光线。要在系统中使用基于图像的照明,随时更新虚拟对象的阴影,需要能够更新照明所基于的图像,即环境地图。
为了快速创建这些环境映射,需要离线过程中收集如下信息场景的3D模型,场景的HDRI环境地图,反照率贴图,加权环境地图和法线贴图。
反照率贴图用于描述每个可视表面的漫反射。将记录的HDRI环境图映射到三维场景模型上,对场景进行反渲染,得到原始的漫反射参数,得到“反照率贴图”。图4显示了反照率贴图的示意图,当场景中所有的表面都是漫反射时,这种方法可以完美地工作。我们已经通过实验验证了砖墙和路面可以被认为是漫反射的。
处理照明时的一个重要方面是场景中所有光对点的贡献。例如。与靠近建筑物的点相比,距离最近的建筑物更远的区域中间的点接收到的光要多得多。如果要从反照率贴图创建更新的环境图,则必须考虑这一方面。这由“加权环境图”处理,它是一种环境地图,描述了场景中每个点从天穹接收的光线。图5显示了加权环境图的示意图,它可以在脱机程序中预先计算,也可以通过使用全白色天穹顶的场景的光能传递渲染进行预先计算
另一个可以离线生成并用于加快创建新环境地图过程的环境地图是场景的法线贴图。图6显示了法线贴图示的意图,法线贴图的创建是基于局部照明模型的,在照明过程中,从每个点返回的颜色是表面反射率、影响它的光的功率和光线影响表面的角度的乘积。这一知识可以用一种非常简单的方法来提取从相机可见的任何点的准确的表面法线。如果从主方向照射几何图形,则只有表面法线的一个分量对每个主方向起作用。考虑到这一点,每个点的表面法线可能只使用2个渲染通道。渲染是通过每个主要方向的定向照明和每个方向的一个颜色通道来设置的。在第一次渲染中,只有正面被照亮,而负面的表面在第二次渲染中被照亮。现在通过正像减去负像得到场景中每个点的表面法线,每个颜色分量都与每个点的法线分量完全对应。
当所有必要的离线信息收集完毕后,可以根据场景中不断变化的光照条件为场景创建环境地图,环境地图的创建是基于Phong局部照明模型,并进行了一定的修改。
如前所述,虚拟对象的阴影和阴影部分是基于太阳的光是定向的假设,太阳被认为是场景中唯一的主要光源。这个假设可以在新的环境地图呈现中重用。如果场景中的光线是定向的,那么对于整个场景中的所有点,光线的矢量都是相同的。这意味着,任何点都不需要三维空间坐标来计算它是如何被光影响的,只需要点的法向量。
如果在查看环境图时使用此知识,则意味着如果已知由该像素表示的点的法向量,则可以计算环境图中所有像素的阴影。不需要3D渲染,这些都可以通过简单的像素操作来完成。
每个像素的法向量由离线过程中创建的法线映射给出。
当环境地图中每个像素的光照已知时,将其乘以每个像素的反照率值。这一切都需要获得一个基本的重新照明的环境地图,代表当前的照明场景。
在离线过程中,我们创建了一个加权环境图,它表示天光对环境图中各个像素的影响程度。这是为了确保垂直表面接收的光线少于水平表面,从而将天光效果引入环境图的阴影中。在重新照明过程中使用它来确保场景中的各个点在生成的环境图中从天穹接收到正确数量的灯光。
另一个需要考虑的重要方面是,如果当一个虚拟对象被置于真实物体的阴影中时,那么太阳投射的阴影也应该出现在环境图中。因此,阴影环境图是在运行时创建的,它是一个二进制图,仅在环境图像素处于直接或间接光照下时才显示。阴影环境地图是使用阴影体积算法创建的,该算法用于创建虚拟和真实对象之间的阴影交互。阴影环境图是真实环境投射到阴影中的场景区域的映射。每当环境地图重新照明算法检测到灯光方向相对于最后生成的阴影环境贴图发生了显著变化时,都会重新生成该信息。如果将此信息考虑在内,则每个像素的渲染公式为:
Figure BDA0002360615110000101
其中,ρd是像素漫反射率,c是加权环境图,s是二进制阴影地图,n是法线,l是估计的光方向。Pa是通过光照估计得到的环境光参数,Pd是直接光参数,P是x方向的像素强度。
此渲染公式与用于估计场景光的公式相同,并且输出以缩放的辐射度单位表示。天空被设置为环境地图中估计的环境颜色。
为了进一步验证本发明实施方式基于动态光照变化的实时渲染方法的有效性和可靠性,能够在可预测和不可预测的光照变化的室外环境中创建虚拟对象的逼真的照明,对所述方法进行验证测试,如图7示出了验证测试的效果图,其显示了增强现实系统与环境阴影交互能力的场景。此外,它还显示了使照明适应于周围环境的能力,以及当虚拟对象位于阴影中时,显示出阴影周围部分需要全局照明近似的能力。测试表明,重新照明每帧图像时,系统能够以30fps的速度运行。
在本发明实施例中,虚拟对象的阴影是通过使用基于图像的照明实现的,而无需在场景中添加额外的校准对象,使用HDRI环境地图照亮场景,模拟场景中反射的多个灯光,能够处理动态光变化,并将其应用于给定场景中的增强虚拟对象,使得增强现实系统能够在发生可预测和不可预测的动态光照变化的室外环境中创建虚拟对象的逼真的照明。
图8显示了根据本发明实施例的一种基于动态光照变化的实时渲染装置的示意图,如图8所示,本实施例的基于动态光照变化的实时渲染装置包括获取模块200、光照估计模块202、基本渲染模块204、增强渲染模块206和实时渲染模块208。获取模块200、光照估计模块202、基本渲染模块204、增强渲染模块206和实时渲染模块208分别用于执行图1中的S100、S102、S104、S106、S108中的具体方法,详情可参见图2的相关介绍,在此仅作简单描述:
获取模块200,用于获取多帧原始时间序列的待训练样本;
提取模块202,用于对待训练样本中的每一帧图像提取状态特征,其中,状态特征包括外部对象的状态特征和发生碰撞后的可变形对象的状态特征;
获取模块200,用于获取场景的3D模型和HDRI环境地图;
光照估计模块202,用于基于场景的3D模型和HDRI环境地图对场景进行光照估计,其中,场景包含漫反射表面,光照估计包括描述场景光照的局部光照参数;
基本渲染模块204,用于基于光照估计,采用阴影体积算法对虚拟对象进行基本渲染;
增强渲染模块206,用于对进行基本渲染后的虚拟对象环境进行HDRI映射,得到当前环境图,当前环境图用于显示当前照明条件下的环境,基于当前环境图对虚拟对象进行增强渲染,获得虚拟对象的真实阴影;
实时渲染模块208,用于当场景中的光照发生变化时,基于场景的最新光照估计,更新当前环境图以匹配当前的照明,并利用更新后的当前环境图对虚拟对象进行实时渲染,更新虚拟对象的真实阴影。
进一步地,基本渲染模块可以包括:
第一处理模块,用于创建虚拟对象的阴影;
第二处理模块,用于从虚拟对象的阴影中减去场景中真实物体的阴影;
第三处理模块,用于将减去真实物体阴影后的虚拟对象阴影叠加在虚拟对象上;
第四处理模块,用于渲染虚拟对象接收阴影。
进一步地,装置还可以包括:
校准模块,用于对摄像机进行校准以适应场景,采用摄像机对场景进行拍摄。
进一步地,装置还可以包括:
环境图获取模块,用于基于场景的3D模型和HDRI环境地图,获取场景的反照率贴图、加权环境图和法线贴图;
其中,反照率贴图用于描述场景中每个可视表面的漫反射;
加权环境图用于描述场景中每个点从天穹接收的光线;
法线贴图用于提取场景中每个点的表面法线。
进一步地,实时渲染的公式为:
Figure BDA0002360615110000111
其中,ρd是像素漫反射率,c是加权环境图,s是阴影环境图,n是法线,l是估计的光方向,Pa是通过光照估计得到的环境光参数,Pd是直接光参数,P是x方向的像素强度。
在本发明实施例中,虚拟对象的阴影是通过使用基于图像的照明实现的,而无需在场景中添加额外的校准对象,使用HDRI环境地图照亮场景,模拟场景中反射的多个灯光,能够处理动态光变化,并将其应用于给定场景中的增强虚拟对象,使得增强现实系统能够在发生可预测和不可预测的动态光照变化的室外环境中创建虚拟对象的逼真的照明。
在本发明实施中,还提供一种存储介质,存储介质包括存储的程序,其中,程序执行任意一种上述的方法。
在本发明实施中,还提供一种处理器,上述处理器用于运行程序,其中,程序运行时执行任意一种上述的方法。
在本发明实施中,还提供一种电子设备,包括:一个或多个处理器,存储器,显示装置以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置为由上述一个或多个处理器执行,上述一个或多个程序包括用于执行任意一种上述的方法。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。

Claims (6)

1.一种基于动态光照变化的实时渲染方法,其特征在于,所述方法包括依次执行的如下步骤:
获取场景的3D模型、HDRI环境地图以及由计算机生成的虚拟对象;
基于所述场景的3D模型和HDRI环境地图对所述场景进行光照估计,其中,所述场景包含漫反射表面,所述光照估计包括描述所述场景光照的局部光照参数;
基于所述光照估计,采用阴影体积算法对所述虚拟对象进行基本渲染;
基于所述场景的3D模型和HDRI环境地图,获取所述场景的反照率贴图、加权环境图和法线贴图;
其中,所述反照率贴图用于描述所述场景中每个可视表面的漫反射;
所述加权环境图用于描述所述场景中每个点从天穹接收的光线;
所述法线贴图用于提取所述场景中每个点的表面法线;对进行基本渲染后的所述虚拟对象环境进行HDRI映射,得到当前环境图,所述当前环境图用于显示当前照明条件下的环境,基于所述当前环境图对所述虚拟对象进行增强渲染,获得虚拟对象的真实阴影;
当所述场景中的光照发生变化时,基于所述场景的最新光照估计,更新所述当前环境图以匹配当前的照明,并利用所述更新后的当前环境图对所述虚拟对象进行实时渲染,更新所述虚拟对象的真实阴影,
所述实时渲染的公式为:
Figure FDA0002965382950000011
其中,ρd是像素漫反射率,c是加权环境图,s是阴影环境图,n是法线,l是估计的光方向,Pa是通过光照估计得到的环境光参数,Pd是直接光参数,
Figure FDA0002965382950000012
Figure FDA0002965382950000013
方向的像素强度。
2.根据权利要求1所述的基于动态光照变化的实时渲染方法,其特征在于,基于所述光照估计,采用阴影体积算法对所述虚拟对象进行基本渲染的步骤包括:
创建所述虚拟对象的阴影;
从所述虚拟对象的阴影中减去所述场景中真实物体的阴影;
将减去真实物体阴影后的所述虚拟对象阴影叠加在所述虚拟对象上;
渲染所述虚拟对象接收阴影。
3.根据权利要求2所述的基于动态光照变化的实时渲染方法,其特征在于,对场景进行光照估计的步骤之前,所述方法还包括:
对摄像机进行校准以适应所述场景,采用摄像机对所述场景进行拍摄。
4.一种基于动态光照变化的实时渲染装置,其特征在于,所述装置包括依次连接的如下模块:
获取模块,用于获取场景的3D模型、HDRI环境地图以及由计算机生成的虚拟对象;
光照估计模块,用于基于所述场景的3D模型和HDRI环境地图对所述场景进行光照估计,其中,所述场景包含漫反射表面,所述光照估计包括描述所述场景光照的局部光照参数;
基本渲染模块,用于基于所述光照估计,采用阴影体积算法对所述虚拟对象进行基本渲染;
环境图获取模块,用于基于所述场景的3D模型和HDRI环境地图,获取所述场景的反照率贴图、加权环境图和法线贴图;
其中,所述反照率贴图用于描述所述场景中每个可视表面的漫反射;
所述加权环境图用于描述所述场景中每个点从天穹接收的光线;
所述法线贴图用于提取所述场景中每个点的表面法线;
增强渲染模块,用于对进行基本渲染后的所述虚拟对象环境进行HDRI映射,得到当前环境图,所述当前环境图用于显示当前照明条件下的环境,基于所述当前环境图对所述虚拟对象进行增强渲染,获得虚拟对象的真实阴影;
实时渲染模块,用于当所述场景中的光照发生变化时,基于所述场景的最新光照估计,更新所述当前环境图以匹配当前的照明,并利用所述更新后的当前环境图对所述虚拟对象进行实时渲染,更新所述虚拟对象的真实阴影;
所述实时渲染的公式为:
Figure FDA0002965382950000031
其中,ρd是像素漫反射率,c是加权环境图,s是阴影环境图,n是法线,l是估计的光方向,Pa是通过光照估计得到的环境光参数,Pd是直接光参数,
Figure FDA0002965382950000032
Figure FDA0002965382950000033
方向的像素强度。
5.根据权利要求4所述的基于动态光照变化的实时渲染装置,其特征在于,所述基本渲染模块包括:
第一处理模块,用于创建所述虚拟对象的阴影;
第二处理模块,用于从所述虚拟对象的阴影中减去所述场景中真实物体的阴影;
第三处理模块,用于将减去真实物体阴影后的所述虚拟对象阴影叠加在所述虚拟对象上;
第四处理模块,用于渲染所述虚拟对象接收阴影。
6.根据权利要求5所述的基于动态光照变化的实时渲染装置,其特征在于,所述装置还包括:
校准模块,用于对摄像机进行校准以适应所述场景,采用摄像机对所述场景进行拍摄。
CN202010020881.9A 2020-01-09 2020-01-09 一种基于动态光照变化的实时渲染方法及装置 Active CN111260769B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010020881.9A CN111260769B (zh) 2020-01-09 2020-01-09 一种基于动态光照变化的实时渲染方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010020881.9A CN111260769B (zh) 2020-01-09 2020-01-09 一种基于动态光照变化的实时渲染方法及装置

Publications (2)

Publication Number Publication Date
CN111260769A CN111260769A (zh) 2020-06-09
CN111260769B true CN111260769B (zh) 2021-04-13

Family

ID=70948594

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010020881.9A Active CN111260769B (zh) 2020-01-09 2020-01-09 一种基于动态光照变化的实时渲染方法及装置

Country Status (1)

Country Link
CN (1) CN111260769B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111696189A (zh) * 2020-06-17 2020-09-22 北京中科深智科技有限公司 一种毛发自阴影实时绘制方法及绘制系统
CN111968216B (zh) * 2020-07-29 2024-03-22 完美世界(北京)软件科技发展有限公司 一种体积云阴影渲染方法、装置、电子设备及存储介质
CN112037292B (zh) * 2020-09-01 2022-08-26 完美世界(北京)软件科技发展有限公司 天气系统的生成方法及装置、设备
CN114125421A (zh) * 2020-09-01 2022-03-01 华为技术有限公司 图像处理方法、移动终端及存储介质
CN113012299A (zh) * 2021-02-22 2021-06-22 北京市商汤科技开发有限公司 显示方法及装置、设备、存储介质
CN112991158A (zh) * 2021-03-31 2021-06-18 商汤集团有限公司 一种图像生成方法、装置、设备及存储介质
CN116452459A (zh) * 2023-04-25 2023-07-18 北京优酷科技有限公司 阴影遮罩生成方法、阴影去除方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107025683A (zh) * 2017-03-30 2017-08-08 联想(北京)有限公司 一种信息处理方法及电子设备
CN108305328A (zh) * 2018-02-08 2018-07-20 网易(杭州)网络有限公司 虚拟物体渲染方法、系统、介质和计算设备
CN110869980A (zh) * 2017-05-18 2020-03-06 Pcms控股公司 用于将内容分发和呈现为球形视频和3d资产组合的系统和方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101710429B (zh) * 2009-10-12 2012-09-05 湖南大学 一种基于动态光照图的增强现实系统光照算法
CN108986195B (zh) * 2018-06-26 2023-02-28 东南大学 一种结合环境映射和全局光照渲染的单镜头混合现实实现方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107025683A (zh) * 2017-03-30 2017-08-08 联想(北京)有限公司 一种信息处理方法及电子设备
CN110869980A (zh) * 2017-05-18 2020-03-06 Pcms控股公司 用于将内容分发和呈现为球形视频和3d资产组合的系统和方法
CN108305328A (zh) * 2018-02-08 2018-07-20 网易(杭州)网络有限公司 虚拟物体渲染方法、系统、介质和计算设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
增强现实中的光照一致性研究;孙健;《万方数据库》;20170612;第1-59页 *
室外场景的光照分析研究;刘艳丽;《万方数据库》;20100531;第1-119页 *

Also Published As

Publication number Publication date
CN111260769A (zh) 2020-06-09

Similar Documents

Publication Publication Date Title
CN111260769B (zh) 一种基于动态光照变化的实时渲染方法及装置
US11182961B2 (en) Method and system for representing a virtual object in a view of a real environment
Jacobs et al. Classification of illumination methods for mixed reality
CN111968215B (zh) 一种体积光渲染方法、装置、电子设备及存储介质
CN107341853B (zh) 超大虚拟场景和动态摄屏的虚实融合方法及系统
US9183654B2 (en) Live editing and integrated control of image-based lighting of 3D models
CN111861632B (zh) 虚拟试妆方法、装置、电子设备及可读存储介质
EP2933781A2 (en) Method and system for representing a virtual object in a view of a real environment
JPH11175762A (ja) 光環境計測装置とそれを利用した仮想画像への陰影付与装置及び方法
Kolivand et al. Covering photo-realistic properties of outdoor components with the effects of sky color in mixed reality
KR20210126934A (ko) 광원 정보를 출력하는 방법 및 장치
Thirion Realistic 3D simulation of shapes and shadows for image processing
JP2007272847A (ja) 照明シミュレーション方法及び画像合成方法
Grosch PanoAR: Interactive augmentation of omni-directional images with consistent lighting
Monroy et al. Dynamic environment mapping for augmented reality applications on mobile devices
CN112819929B (zh) 渲染水面方法及装置、电子设备、存储介质
Koc et al. Estimation of environmental lighting from known geometries for mobile augmented reality
Happa et al. Studying illumination and cultural heritage
JP7125963B2 (ja) 情報処理プログラム、情報処理装置及び情報処理方法
Pessoa et al. Illumination techniques for photorealistic rendering in augmented reality
Kakuta et al. Virtual kawaradera: Fast shadow texture for augmented reality
Abad et al. Integrating synthetic objects into real scenes
JP7419908B2 (ja) 画像処理システム、画像処理方法、及びプログラム
WO2022135942A1 (en) Method for assessing the physically based simulation quality of a glazed object
Madsen et al. Estimating Positions and Radiances of a Small Number of Light Sources for Real-Time Image-Based Lighting.

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
CP02 Change in the address of a patent holder

Address after: 100000 room 311a, floor 3, building 4, courtyard 4, middle Yongchang Road, Beijing Economic and Technological Development Zone, Beijing

Patentee after: Beijing Zhongke Shenzhi Technology Co.,Ltd.

Address before: 303 platinum international building, block C, fortune World Building, 1 Hangfeng Road, Fengtai District, Beijing

Patentee before: Beijing Zhongke Shenzhi Technology Co.,Ltd.

CP02 Change in the address of a patent holder
CP03 Change of name, title or address

Address after: Room 911, 9th Floor, Block B, Xingdi Center, Building 2, No.10, Jiuxianqiao North Road, Jiangtai Township, Chaoyang District, Beijing, 100000

Patentee after: Beijing Zhongke Shenzhi Technology Co.,Ltd.

Country or region after: China

Address before: 100000 room 311a, floor 3, building 4, courtyard 4, middle Yongchang Road, Beijing Economic and Technological Development Zone, Beijing

Patentee before: Beijing Zhongke Shenzhi Technology Co.,Ltd.

Country or region before: China

CP03 Change of name, title or address