CN116030180B - 辐照度缓存光照计算方法及装置、存储介质、计算机设备 - Google Patents
辐照度缓存光照计算方法及装置、存储介质、计算机设备 Download PDFInfo
- Publication number
- CN116030180B CN116030180B CN202310324202.0A CN202310324202A CN116030180B CN 116030180 B CN116030180 B CN 116030180B CN 202310324202 A CN202310324202 A CN 202310324202A CN 116030180 B CN116030180 B CN 116030180B
- Authority
- CN
- China
- Prior art keywords
- reflection
- irradiance
- point
- target
- cache
- 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
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Image Generation (AREA)
Abstract
本申请公开了一种辐照度缓存光照计算方法及装置、存储介质、计算机设备,该方法包括:针对虚拟场景中任意待计算的目标像素点,从摄像机视口向所述目标像素点进行反射追踪,追踪反射到所述目标像素点的多条反射路线;基于所述反射路线的反射次数,在预设辐照度缓存点中获取至少部分反射路线对应的辐照度缓存点作为所述目标像素点的目标辐照度缓存点;获取所述目标辐照度缓存点对应的目标辐照度信息,并基于所述目标辐照度信息计算所述目标像素点的全局光照信息。本申请解决了现有技术中的漏光问题,并且不需要增加采样点和缓存点,不需要占用额外的内存,也不会带来额外的计算量,在提升渲染效果的同时兼顾了设备性能开销和渲染效率。
Description
技术领域
本申请涉及光照计算技术领域,尤其是涉及到一种辐照度缓存光照计算方法及装置、存储介质、计算机设备。
背景技术
全局光源通常在表面上缓慢变化,这意味着相邻的几个像素可以共享类似的GI(Global Illumination,全局光照)照明,基于这种方式可以不必为屏幕上的每个像素单独计算全局照明,因此,渲染所需的时间要少得多。具体来说,辐照度缓存方案通过对场景进行采样,计算每个采样点处的辐照度信息,并将这些信息存储在缓存中。在实际渲染阶段针对某个采样点选择需要使用的辐照度缓存时,可以基于采样点与各缓存点之间的距离来选择计算全局光照使用的缓存点,从而利用被选缓存点的辐照度缓存计算采样点的光照信息,从而通过缓存的方式不需要重新进行辐照度计算,大大缩短了渲染时间和提高了渲染效率。
然而,通过这种选择缓存点并计算光照信息的方式,最终呈现的渲染效果有时会出现漏光现象。例如采样点在墙内,被选缓存点包括在墙外但与采样点距离较近的缓存点。目前通常是通过增加缓存点或采样点的方式来缓解漏光现象的发生,但是采样点数量的增加会带来计算量的成倍增加,需要在精度和性能之间做出艰难平衡,而缓存点数量的增加也会带来计算量和内存开销的成倍增加,需要在覆盖率、性能和内存开销之间做出艰难平衡。
如何在控制计算量和内存开销的前提下解决漏光问题,业界暂无较好的办法。
发明内容
有鉴于此,本申请提供了一种辐照度缓存光照计算方法及装置、存储介质、计算机设备,解决了现有技术中基于辐照度缓存的光照计算可能导致的漏光问题,并且不需要增加采样点和缓存点,不需要占用额外的内存,也不会带来额外的计算量,在提升渲染效果的同时兼顾了设备性能开销和渲染效率。
根据本申请的一个方面,提供了一种辐照度缓存光照计算方法,所述方法包括:
针对虚拟场景中任意待计算的目标像素点,从摄像机视口向所述目标像素点进行反射追踪,追踪反射到所述目标像素点的多条反射路线;
基于所述反射路线的反射次数,在预设辐照度缓存点中获取至少部分反射路线对应的辐照度缓存点作为所述目标像素点的目标辐照度缓存点;
获取所述目标辐照度缓存点对应的目标辐照度信息,并基于所述目标辐照度信息计算所述目标像素点的全局光照信息。
可选地,所述反射路线包括一段初始路段和至少一段反射路段,所述初始路段为从所述摄像机视口至第一个反射物之间的路段,所述反射路段为经过反射物反射后形成的路段,所述反射路线的反射次数与所述反射路段的数量相等。
可选地,所述基于所述反射路线的反射次数,在预设辐照度缓存点中获取至少部分反射路线对应的辐照度缓存点作为所述目标像素点的目标辐照度缓存点,包括:
统计所述反射路线的反射次数,并获取反射次数最少的反射路线作为目标路线;
针对任意一条目标路线,基于所述预设辐照度缓存点的位置,分别获取与每段反射路段距离最近的预设辐照度缓存点作为所述目标像素点对应的目标辐照度缓存点。
可选地,所述基于所述反射路线的反射次数,在预设辐照度缓存点中获取至少部分反射路线对应的辐照度缓存点作为所述目标像素点的目标辐照度缓存点,包括:
针对任意一条反射路线,基于所述预设辐照度缓存点的位置,依次获取与每段反射路段距离最近的预设辐照度缓存点作为候选辐照度缓存点,并基于所述反射路段对应的反射物次序,记录候选辐照度缓存点等级;
当存在任意一条反射路线对应的候选辐照度缓存点等级高于其他反射路线对应的候选辐照度缓存点等级,则将该条反射路线对应的候选辐照度缓存点删除;
将最终保留的候选辐照度缓存点,作为所述目标像素点对应的目标辐照度缓存点。
可选地,所述基于所述目标辐照度信息计算所述目标像素点的全局光照信息,包括:
基于所述目标像素点与各所述目标辐照度缓存点之间的距离,确定各所述目标辐照度缓存点的混合权重;
基于所述混合权重,对各所述目标辐照度缓存点对应的目标辐照度信息进行混合,获得所述目标像素点的全局光照信息。
可选地,所述方法还包括:
基于所述虚拟场景中各虚拟物体的重要程度确定被选虚拟物体,并在所述被选虚拟物体的表面选择预设辐照度缓存点;和/或,
在所述虚拟场景中的角落位置选择预设辐照度缓存点。
可选地,选择预设辐照度缓存点之后,所述方法还包括:
利用光线追踪算法计算每个所述预设辐照度缓存点各自对应的辐照度,并通过八面体映射方式将每个所述预设辐照度缓存点的辐照度映射为球面参数;
基于预设的球谐基函数对每个所述预设辐照度缓存点的辐照度进行编码,得到所述预设辐照度缓存点的辐照度信息。
根据本申请的另一方面,提供了一种辐照度缓存光照计算装置,所述装置包括:
反射追踪模块,用于针对虚拟场景中任意待计算的目标像素点,从摄像机视口向所述目标像素点进行反射追踪,追踪反射到所述目标像素点的多条反射路线;
缓存点确定模块,用于基于所述反射路线的反射次数,在预设辐照度缓存点中获取至少部分反射路线对应的辐照度缓存点作为所述目标像素点的目标辐照度缓存点;
光照计算模块,用于获取所述目标辐照度缓存点对应的目标辐照度信息,并基于所述目标辐照度信息计算所述目标像素点的全局光照信息。
可选地,所述反射路线包括一段初始路段和至少一段反射路段,所述初始路段为从所述摄像机视口至第一个反射物之间的路段,所述反射路段为经过反射物反射后形成的路段,所述反射路线的反射次数与所述反射路段的数量相等。
可选地,所述缓存点确定模块,还用于:
统计所述反射路线的反射次数,并获取反射次数最少的反射路线作为目标路线;
针对任意一条目标路线,基于所述预设辐照度缓存点的位置,分别获取与每段反射路段距离最近的预设辐照度缓存点作为所述目标像素点对应的目标辐照度缓存点。
可选地,所述缓存点确定模块,还用于:
针对任意一条反射路线,基于所述预设辐照度缓存点的位置,依次获取与每段反射路段距离最近的预设辐照度缓存点作为候选辐照度缓存点,并基于所述反射路段对应的反射物次序,记录候选辐照度缓存点等级;
当存在任意一条反射路线对应的候选辐照度缓存点等级高于其他反射路线对应的候选辐照度缓存点等级,则将该条反射路线对应的候选辐照度缓存点删除;
将最终保留的候选辐照度缓存点,作为所述目标像素点对应的目标辐照度缓存点。
可选地,所述光照计算模块,还用于:
基于所述目标像素点与各所述目标辐照度缓存点之间的距离,确定各所述目标辐照度缓存点的混合权重;
基于所述混合权重,对各所述目标辐照度缓存点对应的目标辐照度信息进行混合,获得所述目标像素点的全局光照信息。
可选地,所述装置还包括:缓存点选择模块,用于:
基于所述虚拟场景中各虚拟物体的重要程度确定被选虚拟物体,并在所述被选虚拟物体的表面选择预设辐照度缓存点;和/或,
在所述虚拟场景中的角落位置选择预设辐照度缓存点。
可选地,所述装置还包括:辐照度编码模块,用于:
利用光线追踪算法计算每个所述预设辐照度缓存点各自对应的辐照度,并通过八面体映射方式将每个所述预设辐照度缓存点的辐照度映射为球面参数;
基于预设的球谐基函数对每个所述预设辐照度缓存点的辐照度进行编码,得到所述预设辐照度缓存点的辐照度信息。
依据本申请又一个方面,提供了一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述辐照度缓存光照计算方法。
依据本申请再一个方面,提供了一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述辐照度缓存光照计算方法。
借由上述技术方案,本申请提供的一种辐照度缓存光照计算方法及装置、存储介质、计算机设备,对于虚拟场景中任意被采样的目标像素点,首先,从摄像机视口触发向目标像素点进行反射追踪,获得多条反射路线,其次,基于反射路线的反射次数确定其中的至少部分反射路线,并以这部分反射路线为依据寻找目标辐照度缓存点,最后根据目标辐照度缓存点对应的目标辐照度信息计算目标像素点的全局光照信息。本申请实施例通过追踪反射路线并基于反射次数对反射路线进行筛选,从而利用筛选后的反射路线寻找辐照度缓存点进行光照计算的方式,解决了现有技术中基于辐照度缓存的光照计算可能导致的漏光问题,并且不需要增加采样点和缓存点,不需要占用额外的内存,也不会带来额外的计算量,在提升渲染效果的同时兼顾了设备性能开销和渲染效率。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了本申请实施例提供的一种辐照度缓存光照计算方法的流程示意图;
图2(a)示出了本申请实施例提供的一种反射路线的示意图;
图2(b)示出了本申请实施例提供的一种反射路线的示意图;
图2(c)示出了本申请实施例提供的一种反射路线的示意图;
图3(a)示出了现有技术中提供的一种渲染效果示意图;
图3(b)示出了本申请实施例中提供的一种渲染效果示意图;
图4示出了本申请实施例提供的一种辐照度缓存光照计算装置的结构示意图;
图5示出了本申请实施例提供的一种计算机设备的装置结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
在本实施例中提供了一种辐照度缓存光照计算方法,如图1所示,该方法包括:
步骤101,针对虚拟场景中任意待计算的目标像素点,从摄像机视口向所述目标像素点进行反射追踪,追踪反射到所述目标像素点的多条反射路线。
本申请实施例中,对于需要进行光照渲染的虚拟场景,可以先在虚拟场景中选定要进行光照计算的采样点,从而针对各采样点即任意待计算的目标像素点,从摄像机视口发出射线对目标像素点进行反射追踪,获得以摄像机视口为起点发出射线,并经过一次或多次反射后能够反射到目标像素点的多条反射路线。如图2(a)所示,对于墙体上的一个目标像素点S(为更清楚的示意,图中的虚线框表示一个像素点),从摄像机视口发出的一条射线经过反射物1的反射后落在该像素点上,如图2(b)、(c)所示,对于墙体上的同一个目标像素点S,从摄像机视口发出的另一条射线经过反射物2和反射物3的两次反射落在该像素点S上。
其中,所述反射路线包括一段初始路段和至少一段反射路段,所述初始路段为从所述摄像机视口至第一个反射物之间的路段,所述反射路段为经过反射物反射后形成的路段,所述反射路线的反射次数与所述反射路段的数量相等。
在该实施例中,如图2(a)-(c)所示,一条反射路线由多段路段构成,包括一段初始路段和至少一段反射路段,初始路段为从摄像机视口到第一个反射物之间的路段,反射路段为反射物与反射物之间路段、或者反射物与目标像素点之间的路段,射线每经过一个反射物的反射就会形成一段反射路段,因此一条反射路线中反射路段的数量与这条反射路线对应的反射物个数相等,也即一条反射路线中反射路段的数量与这条反射路线的反射次数相等。
步骤102,基于所述反射路线的反射次数,在预设辐照度缓存点中获取至少部分反射路线对应的辐照度缓存点作为所述目标像素点的目标辐照度缓存点。
本申请实施例中,追踪到目标像素点的多条反射路线后,可以根据不同反射路线对应的反射次数确定其中部分或全部反射路线,作为选择目标辐照度缓存点时需要依据的路线,从而利用这部分反射路线进行目标辐照度缓存点选择。在实际应用场景中,一条反射路线的反射次数越多,即从摄像机视口发出的光线经过多次反射达到目标像素点,可以认为这条反射路线为目标像素点提供的反射光照价值越小,并且如果利用经过多次反射的反射路线选择缓存点,由于反射路线复杂也更有可能得到与目标像素点不处于同一可见空间的缓存点(例如目标像素点在墙内表面上,缓存点在墙外,如果墙外的缓存点的辐照度信息参与到目标像素点的光照计算就会导致漏光现象发生)。因此,可以基于反射次数较少的反射路线进行目标辐照度缓存点选择。如图2(a)-(c)所示,选择墙内表面上的目标像素点S,如果利用经过一次反射的反射路线1去寻找缓存点,可以找到缓存点为A,而如果利用经过两次反射的反射路线2去寻找缓存点,可以找到缓存点B和C,如果缓存点B和C的辐照度信息参与到目标像素点S的光照计算中就会导致漏光现象发生。
以下提供两种利用反射路线选择目标辐照度缓存点的实施例:
实施例一:步骤102可以为:统计所述反射路线的反射次数,并获取反射次数最少的反射路线作为目标路线;针对任意一条目标路线,基于所述预设辐照度缓存点的位置,分别获取与每段反射路段距离最近的预设辐照度缓存点作为所述目标像素点对应的目标辐照度缓存点。
在上述实施例中,追踪到反射路线后,对各条反射路线的反射次数进行统计,并获得其中反射次数最少的反射路线作为目标路线,例如图2(a)-(c)中的两条反射路线一条经过一次反射、另一条经过两次反射,则将经过一次反射的反射路线1作为目标路线。进一步,对于目标路线的反射路段,在预设辐照度缓存点中寻找与反射路段位置最接近的点作为目标辐照度缓存点。
实施例二:步骤102也可以为:针对任意一条反射路线,基于所述预设辐照度缓存点的位置,依次获取与每段反射路段距离最近的预设辐照度缓存点作为候选辐照度缓存点,并基于所述反射路段对应的反射物次序,记录候选辐照度缓存点等级;当存在任意一条反射路线对应的候选辐照度缓存点等级高于其他反射路线对应的候选辐照度缓存点等级,则将该条反射路线对应的候选辐照度缓存点删除;将最终保留的候选辐照度缓存点,作为所述目标像素点对应的目标辐照度缓存点。
在上述实施例中,对于反射路线的反射路段,可以先在预设辐照度缓存点中寻找与反射路段位置最接近的点作为候选辐照度缓存点,并对候选辐照度缓存点进行等级标记,从而根据各条反射路线对应的候选辐照度缓存点等级来确定应该删除哪些反射路线对应的候选辐照度缓存点,将最终剩余的缓存点作为目标辐照度缓存点,参与到后续的光照计算中。其中,如图2(a)-(c)所示,对于每条反射路线,利用第一段反射路段找到的候选辐照度缓存点的等级为1,利用第二段反射路段找到的候选辐照度缓存点的等级为2,以此类推。另外,在逐条利用反射路线寻找候选辐照度缓存点的过程中,如果利用某一条反射路线A寻找到的候选辐照度缓存点等级高于之前的反射路线对应的候选辐照度缓存点等级,那么将这条反射路线A对应的全部候选辐照度缓存点删除;而如果利用某一条反射路线A寻找到候选辐照度缓存点后,发现之前找到的某个候选辐照度缓存点D的等级高于反射路线A对应的候选辐照度缓存等级,那么找到候选辐照度缓存点D对应的反射路线,并删除这条反射路线对应的全部候选辐照度缓存点。如图2(a)-(c)所示,反射路线1对应候选辐照度缓存点A,标记等级为1,反射路线2对应候选辐照度缓存点B和C,分别标记等级为1和2,那么由于反射路线2对应的候选辐照度缓存点C的等级高于反射路线1对应的候选辐照度缓存点A的等级,应将反射路线2对应的缓存点B和C均删除,不用作后续的光照计算中。
步骤103,获取所述目标辐照度缓存点对应的目标辐照度信息,并基于所述目标辐照度信息计算所述目标像素点的全局光照信息。
在本申请实施例中,确定最终的目标辐照度缓存点后,获取各目标辐照度缓存点对应的目标辐照度信息后,利用目标辐照度信息对目标像素点进行光照计算,具体的计算方式可以参考现有技术中利用辐照度缓存计算采样点光照信息的方式,本申请实施例对于选定目标辐照度缓存点后进行光照计算的具体方式不做限定。图3(a)示出了现有技术中基于距离选择缓存点并进行光照计算的渲染效果,图中房顶处圈中位置有明显的漏光现象。图3(b)示出了利用本申请实施例提供的方式呈现的渲染效果。通过对比可以看出本申请实施例提供的方式对于屋顶处的漏光现象进行了很好的解决。
可选地,步骤103包括:基于所述目标像素点与各所述目标辐照度缓存点之间的距离,确定各所述目标辐照度缓存点的混合权重;基于所述混合权重,对各所述目标辐照度缓存点对应的目标辐照度信息进行混合,获得所述目标像素点的全局光照信息。
在该实施例中,确定目标辐照度缓存点后,可以先将目标像素点的位置坐标转换到各目标辐照度缓存点对应的缓存点坐标系下,即确定目标像素点在目标辐照度缓存点的采样点坐标;计算目标像素点到各目标辐照度缓存点的方向dir,测试dir是否与该目标像素点的法线朝向面向同一侧,若相背则跳过该缓存点;根据dir索引到目标辐照度缓存点的辐照度texel值,并支持与任意经过的法线朝向进行双向反射比分布函数BRDF积分;通过插值各目标辐照度缓存点的球谐系数来获得该像素点表面的光照分布,解算得到辐照度;以目标像素点与各目标辐照度缓存点之间的距离为权重进行混合便能得到光照信息。
通过应用本实施例的技术方案,对于虚拟场景中任意被采样的目标像素点,首先,从摄像机视口触发向目标像素点进行反射追踪,获得多条反射路线,其次,基于反射路线的反射次数确定其中的至少部分反射路线,并以这部分反射路线为依据寻找目标辐照度缓存点,最后根据目标辐照度缓存点对应的目标辐照度信息计算目标像素点的全局光照信息。本申请实施例通过追踪反射路线并基于反射次数对反射路线进行筛选,从而利用筛选后的反射路线寻找辐照度缓存点进行光照计算的方式,解决了现有技术中基于辐照度缓存的光照计算可能导致的漏光问题,并且不需要增加采样点和缓存点,不需要占用额外的内存,也不会带来额外的计算量,在提升渲染效果的同时兼顾了设备性能开销和渲染效率。
进一步,本申请实施例中,辐照度缓存点的分布也可能会对最终的渲染效果产生影响,可选地,预设辐照度缓存点可以按照以下方式选取:基于所述虚拟场景中各虚拟物体的重要程度确定被选虚拟物体,并在所述被选虚拟物体的表面选择预设辐照度缓存点;和/或,在所述虚拟场景中的角落位置选择预设辐照度缓存点。
在该实施例中,从虚拟场景中选取一些点作为缓存点,在平坦地区的光照变化缓慢,所以需要很少的点,这部分区域的缓存点可以均匀、分散的少量设置。而对于一些比较重要的位置或光影效果变化可能较为明显的位置可以选取特殊位置适当设置,例如可以选取场景中比较重要或者容易出现明显阴影的位置为缓存点,例如物体表面、或场景中的角落等。
在本申请实施例中,可选地,选择预设辐照度缓存点之后,还包括:利用光线追踪算法计算每个所述预设辐照度缓存点各自对应的辐照度,并通过八面体映射方式将每个所述预设辐照度缓存点的辐照度映射为球面参数;基于预设的球谐基函数对每个所述预设辐照度缓存点的辐照度进行编码,得到所述预设辐照度缓存点的辐照度信息。
在该实施例中,对于每个缓存点,计算其在各个方向上的辐照度,具体可以使用追踪Trace等技术来计算。这里使用八面体映射Octahedral Mapping技术来缓存收集到的光照信息,八面体映射是一种把一张正方形图片映射到八面体,然后再映射到球面参数的方式。具体将球面方向映射成一张二维纹理,其中的一个纹素texel对应一个立体角方向,texel的值即代表了其对应立体角方向的值。相对于Spherical Mapping,八面体映射下的每个像素对应的立体角相对均匀,不会出现太大的扭曲,而且比起 Cubemap需要存储6张二维图,八面体映射只需要1张图即可。每一个缓存点均匀向球面上射出若干个射线,并记录每次首碰撞点的表面辐照度颜色。进一步采用球谐Spherical Harmonics函数来有损编码辐照度。球谐函数是一组球面上的基函数,它有两个很好的性质,比如正交性和旋转不变性;正交性说明每个基函数都是独立的,每个基函数都不能用别的基函数加权得到。当用来描述不同方向光照的SH(球谐)基函数时,一般用到二阶或者三阶。如此每个缓存点存储一组SH系数,就可以描述这个位置的大致光照情况了。提供的基函数个数越多,需要的SH的系数也就越多,那么表达能力就越强,跟原始的函数就越接近。本申请实施例中基函数的阶数L可以取2,二阶基函数共需要4个系数,利用预先收集的辐照度信息中的颜色RGB,形成4 *3 = 12个系数。
进一步的,作为图1方法的具体实现,本申请实施例提供了一种辐照度缓存光照计算装置,如图4所示,该装置包括:
反射追踪模块,用于针对虚拟场景中任意待计算的目标像素点,从摄像机视口向所述目标像素点进行反射追踪,追踪反射到所述目标像素点的多条反射路线;
缓存点确定模块,用于基于所述反射路线的反射次数,在预设辐照度缓存点中获取至少部分反射路线对应的辐照度缓存点作为所述目标像素点的目标辐照度缓存点;
光照计算模块,用于获取所述目标辐照度缓存点对应的目标辐照度信息,并基于所述目标辐照度信息计算所述目标像素点的全局光照信息。
可选地,所述反射路线包括一段初始路段和至少一段反射路段,所述初始路段为从所述摄像机视口至第一个反射物之间的路段,所述反射路段为经过反射物反射后形成的路段,所述反射路线的反射次数与所述反射路段的数量相等。
可选地,所述缓存点确定模块,还用于:
统计所述反射路线的反射次数,并获取反射次数最少的反射路线作为目标路线;
针对任意一条目标路线,基于所述预设辐照度缓存点的位置,分别获取与每段反射路段距离最近的预设辐照度缓存点作为所述目标像素点对应的目标辐照度缓存点。
可选地,所述缓存点确定模块,还用于:
针对任意一条反射路线,基于所述预设辐照度缓存点的位置,依次获取与每段反射路段距离最近的预设辐照度缓存点作为候选辐照度缓存点,并基于所述反射路段对应的反射物次序,记录候选辐照度缓存点等级;
当存在任意一条反射路线对应的候选辐照度缓存点等级高于其他反射路线对应的候选辐照度缓存点等级,则将该条反射路线对应的候选辐照度缓存点删除;
将最终保留的候选辐照度缓存点,作为所述目标像素点对应的目标辐照度缓存点。
可选地,所述光照计算模块,还用于:
基于所述目标像素点与各所述目标辐照度缓存点之间的距离,确定各所述目标辐照度缓存点的混合权重;
基于所述混合权重,对各所述目标辐照度缓存点对应的目标辐照度信息进行混合,获得所述目标像素点的全局光照信息。
可选地,所述装置还包括:缓存点选择模块,用于:
基于所述虚拟场景中各虚拟物体的重要程度确定被选虚拟物体,并在所述被选虚拟物体的表面选择预设辐照度缓存点;和/或,
在所述虚拟场景中的角落位置选择预设辐照度缓存点。
可选地,所述装置还包括:辐照度编码模块,用于:
利用光线追踪算法计算每个所述预设辐照度缓存点各自对应的辐照度,并通过八面体映射方式将每个所述预设辐照度缓存点的辐照度映射为球面参数;
基于预设的球谐基函数对每个所述预设辐照度缓存点的辐照度进行编码,得到所述预设辐照度缓存点的辐照度信息。
需要说明的是,本申请实施例提供的一种辐照度缓存光照计算装置所涉及各功能单元的其他相应描述,可以参考图1至图2方法中的对应描述,在此不再赘述。
本申请实施例还提供了一种计算机设备,具体可以为个人计算机、服务器、网络设备等,如图5所示,该计算机设备包括总线、处理器、存储器和通信接口,还可以包括输入输出接口和显示设备。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储位置信息。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现各方法实施例中的步骤。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机可读存储介质,所述计算机可读存储介质可以是非易失性,也可以是易失性,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (12)
1.一种辐照度缓存光照计算方法,其特征在于,所述方法包括:
针对虚拟场景中任意待计算的目标像素点,从摄像机视口向所述目标像素点进行反射追踪,追踪反射到所述目标像素点的多条反射路线,所述反射路线包括一段初始路段和至少一段反射路段,所述初始路段为从所述摄像机视口至第一个反射物之间的路段,所述反射路段为经过反射物反射后形成的路段,所述反射路线的反射次数与所述反射路段的数量相等;
基于所述反射路线的反射次数,在预设辐照度缓存点中获取至少部分反射路线对应的辐照度缓存点作为所述目标像素点的目标辐照度缓存点;
获取所述目标辐照度缓存点对应的目标辐照度信息,并基于所述目标辐照度信息计算所述目标像素点的全局光照信息;
其中,所述基于所述反射路线的反射次数,在预设辐照度缓存点中获取至少部分反射路线对应的辐照度缓存点作为所述目标像素点的目标辐照度缓存点,包括:
统计所述反射路线的反射次数,并获取反射次数最少的反射路线作为目标路线;
针对目标路线,基于所述预设辐照度缓存点的位置,分别获取与每段反射路段距离最近的预设辐照度缓存点作为所述目标像素点对应的目标辐照度缓存点。
2.根据权利要求1所述的方法,其特征在于,所述基于所述目标辐照度信息计算所述目标像素点的全局光照信息,包括:
基于所述目标像素点与各所述目标辐照度缓存点之间的距离,确定各所述目标辐照度缓存点的混合权重;
基于所述混合权重,对各所述目标辐照度缓存点对应的目标辐照度信息进行混合,获得所述目标像素点的全局光照信息。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于所述虚拟场景中各虚拟物体的重要程度确定被选虚拟物体,并在所述被选虚拟物体的表面选择预设辐照度缓存点;和/或,
在所述虚拟场景中的角落位置选择预设辐照度缓存点。
4.根据权利要求3所述的方法,其特征在于,选择预设辐照度缓存点之后,所述方法还包括:
利用光线追踪算法计算每个所述预设辐照度缓存点各自对应的辐照度,并通过八面体映射方式将每个所述预设辐照度缓存点的辐照度映射为球面参数;
基于预设的球谐基函数对每个所述预设辐照度缓存点的辐照度进行编码,得到所述预设辐照度缓存点的辐照度信息。
5.一种辐照度缓存光照计算方法,其特征在于,所述方法包括:
针对虚拟场景中任意待计算的目标像素点,从摄像机视口向所述目标像素点进行反射追踪,追踪反射到所述目标像素点的多条反射路线,所述反射路线包括一段初始路段和至少一段反射路段,所述初始路段为从所述摄像机视口至第一个反射物之间的路段,所述反射路段为经过反射物反射后形成的路段,所述反射路线的反射次数与所述反射路段的数量相等;
基于所述反射路线的反射次数,在预设辐照度缓存点中获取至少部分反射路线对应的辐照度缓存点作为所述目标像素点的目标辐照度缓存点;
获取所述目标辐照度缓存点对应的目标辐照度信息,并基于所述目标辐照度信息计算所述目标像素点的全局光照信息;
其中,所述基于所述反射路线的反射次数,在预设辐照度缓存点中获取至少部分反射路线对应的辐照度缓存点作为所述目标像素点的目标辐照度缓存点,包括:
针对任意一条反射路线,基于所述预设辐照度缓存点的位置,依次获取与每段反射路段距离最近的预设辐照度缓存点作为候选辐照度缓存点,并基于所述反射路段对应的反射物次序,记录候选辐照度缓存点等级;
当存在任意一条反射路线对应的候选辐照度缓存点等级高于其他反射路线对应的候选辐照度缓存点等级,则将该条反射路线对应的候选辐照度缓存点删除;
将最终保留的候选辐照度缓存点,作为所述目标像素点对应的目标辐照度缓存点。
6.根据权利要求5所述的方法,其特征在于,所述基于所述目标辐照度信息计算所述目标像素点的全局光照信息,包括:
基于所述目标像素点与各所述目标辐照度缓存点之间的距离,确定各所述目标辐照度缓存点的混合权重;
基于所述混合权重,对各所述目标辐照度缓存点对应的目标辐照度信息进行混合,获得所述目标像素点的全局光照信息。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
基于所述虚拟场景中各虚拟物体的重要程度确定被选虚拟物体,并在所述被选虚拟物体的表面选择预设辐照度缓存点;和/或,
在所述虚拟场景中的角落位置选择预设辐照度缓存点。
8.根据权利要求7所述的方法,其特征在于,选择预设辐照度缓存点之后,所述方法还包括:
利用光线追踪算法计算每个所述预设辐照度缓存点各自对应的辐照度,并通过八面体映射方式将每个所述预设辐照度缓存点的辐照度映射为球面参数;
基于预设的球谐基函数对每个所述预设辐照度缓存点的辐照度进行编码,得到所述预设辐照度缓存点的辐照度信息。
9.一种辐照度缓存光照计算装置,其特征在于,所述装置包括:
反射追踪模块,用于针对虚拟场景中任意待计算的目标像素点,从摄像机视口向所述目标像素点进行反射追踪,追踪反射到所述目标像素点的多条反射路线,所述反射路线包括一段初始路段和至少一段反射路段,所述初始路段为从所述摄像机视口至第一个反射物之间的路段,所述反射路段为经过反射物反射后形成的路段,所述反射路线的反射次数与所述反射路段的数量相等;
缓存点确定模块,用于基于所述反射路线的反射次数,在预设辐照度缓存点中获取至少部分反射路线对应的辐照度缓存点作为所述目标像素点的目标辐照度缓存点;
光照计算模块,用于获取所述目标辐照度缓存点对应的目标辐照度信息,并基于所述目标辐照度信息计算所述目标像素点的全局光照信息;
其中,所述缓存点确定模块,还用于统计所述反射路线的反射次数,并获取反射次数最少的反射路线作为目标路线;针对目标路线,基于所述预设辐照度缓存点的位置,分别获取与每段反射路段距离最近的预设辐照度缓存点作为所述目标像素点对应的目标辐照度缓存点。
10.一种辐照度缓存光照计算装置,其特征在于,所述装置包括:
反射追踪模块,用于针对虚拟场景中任意待计算的目标像素点,从摄像机视口向所述目标像素点进行反射追踪,追踪反射到所述目标像素点的多条反射路线,所述反射路线包括一段初始路段和至少一段反射路段,所述初始路段为从所述摄像机视口至第一个反射物之间的路段,所述反射路段为经过反射物反射后形成的路段,所述反射路线的反射次数与所述反射路段的数量相等;
缓存点确定模块,用于基于所述反射路线的反射次数,在预设辐照度缓存点中获取至少部分反射路线对应的辐照度缓存点作为所述目标像素点的目标辐照度缓存点;
光照计算模块,用于获取所述目标辐照度缓存点对应的目标辐照度信息,并基于所述目标辐照度信息计算所述目标像素点的全局光照信息;
其中,所述缓存点确定模块,还用于针对任意一条反射路线,基于所述预设辐照度缓存点的位置,依次获取与每段反射路段距离最近的预设辐照度缓存点作为候选辐照度缓存点,并基于所述反射路段对应的反射物次序,记录候选辐照度缓存点等级;当存在任意一条反射路线对应的候选辐照度缓存点等级高于其他反射路线对应的候选辐照度缓存点等级,则将该条反射路线对应的候选辐照度缓存点删除;将最终保留的候选辐照度缓存点,作为所述目标像素点对应的目标辐照度缓存点。
11.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法。
12.一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310324202.0A CN116030180B (zh) | 2023-03-30 | 2023-03-30 | 辐照度缓存光照计算方法及装置、存储介质、计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310324202.0A CN116030180B (zh) | 2023-03-30 | 2023-03-30 | 辐照度缓存光照计算方法及装置、存储介质、计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116030180A CN116030180A (zh) | 2023-04-28 |
CN116030180B true CN116030180B (zh) | 2023-06-09 |
Family
ID=86077975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310324202.0A Active CN116030180B (zh) | 2023-03-30 | 2023-03-30 | 辐照度缓存光照计算方法及装置、存储介质、计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116030180B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116612225B (zh) * | 2023-07-18 | 2023-12-22 | 腾讯科技(深圳)有限公司 | 光照渲染方法、装置、设备和介质 |
CN116977535B (zh) * | 2023-09-25 | 2024-01-12 | 北京渲光科技有限公司 | 一种实时光线追踪的方法、装置、存储介质及电子设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114299220A (zh) * | 2021-11-19 | 2022-04-08 | 腾讯科技(成都)有限公司 | 光照贴图的数据生成方法、装置、设备、介质及程序产品 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020023880A1 (en) * | 2018-07-26 | 2020-01-30 | Nvidia Corporation | Global illumination using shared lighting contributions for interactions in path tracing |
US11790594B2 (en) * | 2019-08-18 | 2023-10-17 | Nvidia Corporation | Ray-tracing with irradiance caches |
CN112712582B (zh) * | 2021-01-19 | 2024-03-05 | 广州虎牙信息科技有限公司 | 动态全局光照方法、电子设备及计算机可读存储介质 |
CN112927341A (zh) * | 2021-04-02 | 2021-06-08 | 腾讯科技(深圳)有限公司 | 光照渲染方法、装置、计算机设备和存储介质 |
CN114419240B (zh) * | 2022-04-01 | 2022-06-17 | 腾讯科技(深圳)有限公司 | 光照渲染方法、装置、计算机设备和存储介质 |
CN115393499B (zh) * | 2022-08-11 | 2023-07-25 | 广州极点三维信息科技有限公司 | 一种3d实时渲染方法、系统及介质 |
-
2023
- 2023-03-30 CN CN202310324202.0A patent/CN116030180B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114299220A (zh) * | 2021-11-19 | 2022-04-08 | 腾讯科技(成都)有限公司 | 光照贴图的数据生成方法、装置、设备、介质及程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN116030180A (zh) | 2023-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116030180B (zh) | 辐照度缓存光照计算方法及装置、存储介质、计算机设备 | |
JP6663926B2 (ja) | DeepStereo:実世界の画像から新たなビューを予測するための学習 | |
WO2022193941A1 (zh) | 图像渲染方法、装置、设备、介质和计算机程序产品 | |
CN108564527B (zh) | 基于神经网络的全景图内容补全和修复的方法及装置 | |
Elseberg et al. | One billion points in the cloud–an octree for efficient processing of 3D laser scans | |
US9367949B2 (en) | Apparatus and method for scheduling of ray tracing | |
US20100289799A1 (en) | Method, system, and computer program product for efficient ray tracing of micropolygon geometry | |
CN115830208B (zh) | 全局光照渲染方法、装置、计算机设备和存储介质 | |
US10846908B2 (en) | Graphics processing apparatus based on hybrid GPU architecture | |
JP2022151745A (ja) | 画像レンダリング方法および装置 | |
CN115082611B (zh) | 光照渲染方法、装置、设备和介质 | |
Li et al. | Multi-resolution terrain rendering using summed-area tables | |
Martin et al. | MaterIA: Single Image High‐Resolution Material Capture in the Wild | |
CN114119853A (zh) | 图像渲染方法、装置、设备和介质 | |
US20220309735A1 (en) | Image rendering method and apparatus | |
CN115239784A (zh) | 点云生成方法、装置、计算机设备和存储介质 | |
US11380044B2 (en) | Methods and systems for volumetric reconstruction based on a confidence field | |
US8922556B2 (en) | Line space gathering for single scattering in large scenes | |
CN116758206A (zh) | 矢量数据的融合渲染方法、装置、计算机设备、存储介质 | |
WO2023273112A1 (zh) | 虚拟环境中容积云的光照确定方法、相关设备及存储介质 | |
US9007374B1 (en) | Selection and thematic highlighting using terrain textures | |
Shafiei et al. | Learning neural transmittance for efficient rendering of reflectance fields | |
Thöny et al. | Large‐scale pixel‐precise deferred vector maps | |
CN117274473B (zh) | 一种多重散射实时渲染的方法、装置及电子设备 | |
CN116883575B (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 |