一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

光线追踪的计算方法、装置、存储介质以及终端与流程

2022-11-30 11:05:37 来源:中国专利 TAG:


1.本技术涉及计算机图形学技术领域,尤其涉及一种光线追踪的计算方法、装置、存储介质以及终端。


背景技术:

2.光线追踪是一种通过模拟现实世界中的光线传播以实现真实感绘制的算法。在光线追踪的过程中,通过跟踪与物体发生交互作用的光线,基于场景中各个对象的材质属性,得到物体表面产生的反射及散射的路径,模拟出真实的虚拟场景。因为光源发出的光线可以认为有无数条,而进入人眼的光线数目是有限的。如果采用正向的光线追踪算法,即从光源出发追踪光线与场景物体交互的情况,计算量特别巨大。通常情况下,采用逆向光线追踪算法,即从人眼出发,逆向追踪光线与场景物体的交互情况,这样可以大量减少计算量。


技术实现要素:

3.本技术实施例提供了一种光线追踪的计算方法、装置、计算机存储介质以及终端,针对同一场景中不同视角的终端,可以节省终端在光线追踪过程中的计算资源和计算时间,进而可以优化终端进行光线追踪的性能。所述技术方案如下:
4.第一方面,本技术实施例提供了一种光线追踪的计算方法,应用于终端,所述方法包括:
5.在目标场景中获取所述终端对应的视角下的区域图像,将所述区域图像发送至服务器,所述区域图像用于所述服务器确定所述目标场景中的复用特征点;
6.获取所述复用特征点在所述视角下的参考光照数据,基于所述参考光照数据确定所述复用特征点在所述视角下的光线追踪数据。
7.第二方面,本技术实施例提供了一种光线追踪的计算装置,应用于终端,所述装置包括:
8.第一计算模块,用于在目标场景中获取所述终端对应的视角下的区域图像,将所述区域图像发送至服务器,所述区域图像用于所述服务器确定所述目标场景中的复用特征点;
9.第二计算模块,用于获取所述复用特征点在所述视角下的参考光照数据,基于所述参考光照数据确定所述复用特征点在所述视角下的光线追踪数据。
10.第三方面,本技术实施例提供了一种计算机存储介质,所述计算机存储介质有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。
11.第四方面,本技术实施例提供了一种终端,可包括:存储器和处理器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述存储器加载并执行上述的方法步骤。
12.本技术实施例提供的技术方案带来的有益效果至少包括:
13.在本技术实施例中,首先,终端在目标场景中获取所述终端对应的视角下的区域图像,然后,所述终端将所述区域图像发送至服务器,所述区域图像用于所述服务器确定所
述目标场景中的复用特征点,接着,所述终端获取所述复用特征点在所述视角下的参考光照数据,最后,所述终端基于所述参考光照数据确定所述复用特征点在所述视角下的光线追踪数据。本技术实施例中,位于同一场景中不同视角的终端,即同一场景中不同观察角度的终端,可以将各自对应的视角下的区域图像发送至服务器,通过服务器确定目标场景中的复用特征点,各终端可以获取复用特征点在各自对应的视角下的参考光照数据,进而各终端可以基于参考光照数据确定复用特征点在各自对应的视角下的光线追踪数据。因此,本技术实施例同一场景中不同视角的终端在光线追踪的过程中,可以相互协作,可以节省光线追踪过程中的计算资源和计算时间,进而可以优化同一场景中不同视角的终端进行光线追踪的性能。
附图说明
14.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
15.图1是本技术实施例提供的一种光线追踪的计算方法的系统架构示意图;
16.图2是本技术实施例提供的一种光线追踪的计算方法的流程示意图;
17.图3是本技术实施例提供的另一种光线追踪的计算方法的流程示意图;
18.图4是本技术实施例提供的另一种光线追踪的计算方法的流程示意图;
19.图5是本技术实施例提供的另一种光线追踪的计算方法的流程示意图;
20.图6是本技术实施例提供的另一种光线追踪的计算方法的流程示意图;
21.图7是本技术实施例提供的一种光线追踪的计算装置的结构示意图;
22.图8是本技术实施例提供的一种终端的结构示意图。
具体实施方式
23.为使得本技术实施例的发明目的、特征、优点能够更加的明显和易懂,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而非全部实施例。基于本技术中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
24.在本技术的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本技术的描述中,需要说明的是,除非另有明确的规定和限定,“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本技术中的具体含义。此外,在本技术的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的
关系。
25.近年来随着图形处理器gpu的不断发展,利用gpu实现光线追踪的计算也越来越广泛,即从光线的产生到加速结构的遍历,到最后的着色都在gpu上执行,上述计算过程大大增加了gpu的负担。因此,光线追踪对终端的处理器性能的要求也比较高。相关技术中,在同一个场景中,存在多个终端同时做光线追踪时,各终端各自对应的光线追踪的计算过程往往是相互独立的,各终端对应的光线追踪的结果自然也是独立的,由于光线追踪的计算本身需要耗费大量的资源和时间,各终端分别进行光线追踪的计算更加耗费资源和时间。
26.下面结合具体的实施例对本技术进行详细说明。
27.请参见图1,为本技术实施例提供的一种光线追踪的计算方法的系统架构图。
28.如图1所示,本技术实施例中的系统架构图可以包括服务器和多个终端,服务器和终端上都可以部署有基于浏览器的图形应用程序接口webgpu的光线追踪算法。服务器和终端可以为安卓操作系统的电子设备、苹果操作系统的电子设备、windows系统的电子设备,linux系统的电子设备等等。
29.应该理解,服务器可以是具有数字资源调用功能的电子设备,也可以是单独的服务器设备,例如:机架式、刀片、塔式、或者机柜式的服务器设备,或采用工作站、大型计算机等具备较强计算能力硬件设备;也可以是采用多个服务器组成的服务器集群,服务集群中的各服务器可以是以对称方式组成的,其中每台服务器在业务链路中功能等价、地位等价,各服务器均可单独对外提供服务,单独对外提供服务可以理解为无需另外的服务器的辅助。
30.终端与服务器通过网络进行交互通信,网络可以是无线网络,也可以是有线网络。无线网络包括但不限于蜂窝网络、无线局域网、红外网络或蓝牙网络,有线网络包括但不限于以太网、通用串行总线(universal serial bus,usb)或控制器局域网络。
31.在一些实施例中,可以使用包括超文本标记语言(hyper text mark-up language,html)、可扩展标记语言(extensible markup language,xml)等的技术和/或格式来代表通过网络交换的数据(如目标压缩包)。此外还可以使用诸如安全套接字层(secure socket layer,ssl)、传输层安全(transport layer security,tls)、虚拟专用网络(virtual private network,vpn)、网际协议安全(internet protocol security,ipsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
32.在本技术实施例中,首先,终端在目标场景中获取所述终端对应的视角下的区域图像,然后,所述终端将所述区域图像发送至服务器,所述区域图像用于所述服务器确定所述目标场景中的复用特征点,接着,所述终端获取所述复用特征点在所述视角下的参考光照数据,最后,所述终端基于所述参考光照数据确定所述复用特征点在所述视角下的光线追踪数据。本技术实施例中,位于同一场景中不同视角的终端,即同一场景中不同观察角度的终端,可以将各自对应的视角下的区域图像发送至服务器,通过服务器确定目标场景中的复用特征点,各终端可以获取复用特征点在各自对应的视角下的参考光照数据,进而各终端可以基于参考光照数据确定复用特征点在各自对应的视角下的光线追踪数据。因此,本技术实施例中同一场景中不同视角的终端在光线追踪的过程中,可以相互协作,可以节省光线追踪过程中的计算资源和计算时间,进而可以优化同一场景中不同视角的终端进行
reflectance distribution function,简称为brdf,其定义为一个点(即微平面)的反射光的亮度(辐亮度)与入射光的能量(辐照度)的比值。对于一个点来说,其在不同方向反射的辐亮度与入射光的辐照度的比值是固定的,即一个点在每个方向的brdf值都是固定数据。
44.在一些实施例中,获取所述复用特征点在所述视角下的参考光照数据,可以理解为,向服务器获取第一光照数据,将所述第一光照数据作为所述复用特征点在所述视角下的参考光照数据,所述第一光照数据为终端未计算出所述视角下的参考光照数据的情况下,由第一视角对应的终端计算得到并上传至所述服务器。其中,所述第一光照数据可以包括第一光照贴图数据、第一双向反射分布函数数据中的一种或两种,第一光照贴图数据的含义与上述光照贴图数据的含义相同,第一双向反射分布函数数据的含义与上述brdf值的含义相同。具体的,终端向服务器获取第一光照数据的过程可以为:终端处于正在计算所述复用特征点在所述视角下的参考光照数据且未得到计算结果的状态中,或者终端处于未开始计算所述复用特征点在所述视角下的参考光照数据的状态中,同时周期性地向服务器发送查询指令,通过所述查询指令从所述服务器获取到第一光照数据。其中,所述查询指令用于指示所述服务器查询所述服务器中是否存在第一视角对应的终端上传的第一光照数据,在所述服务器中存在所述第一视角对应的终端上传的第一光照数据的情况下,所述服务器将查询结果(即所述第一光照数据)发送至所述终端,所述终端将所述第一光照数据作为所述复用点在所述视角下的参考光照数据。第一视角对应的终端,可以指目标场景中与所述终端对应的观察角度为不同角度的观察角度对应的终端。
45.在一些实施例中,获取所述复用特征点在所述视角下的参考光照数据,可以理解为,计算所述复用特征点在所述视角下的参考光照数据。具体的,计算所述复用特征点在所述视角下的参考光照数据的过程可以为:终端处于正在计算所述复用特征点在所述视角下的参考光照数据且未得到计算结果的状态中,或者终端处于未开始计算所述复用特征点在所述视角下的参考光照数据的状态中,同时周期性地向服务器发送查询指令,通过所述查询指令未从所述服务器获取到第一光照数据。其中,所述查询指令用于指示所述服务器查询所述服务器中是否存在第一视角对应的终端上传的第一光照数据,在所述服务器中不存在所述第一视角对应的终端上传的第一光照数据的情况下,所述服务器将空的查询结果发送至所述终端,由所述终端计算所述复用特征点在所述视角下的参考光照数据。
46.在一些实施例中,基于所述参考光照数据确定所述复用特征点在所述视角下的光线追踪数据,当参考光照数据包含的数据内容不同时,所述复用特征点在所述视角下的光线追踪数据的计算方式也会不同。具体的,当参考光照数据包括光照贴图数据,且该光照贴图数据由终端向服务器获取得到时,终端可以在后续计算过程中直接复用该光照贴图数据,可以计算复用特征点在所述视角下的目标双向反射分布函数数据,进一步的,可以根据光照贴图数据和目标双向反射分布函数数据计算得到所述复用特征点在所述视角下的光线追踪数据。当参考光照数据包括光照贴图数据,且该光照贴图数据由终端自身计算得到时,终端可以计算复用特征点在所述视角下的目标双向反射分布函数数据,进一步的,可以根据光照贴图数据和目标双向反射分布函数数据计算得到所述复用特征点在所述视角下的光线追踪数据。当参考光照数据包括双向反射分布函数数据,且双向反射分布函数数据为终端从服务器获取的第一视角的终端上传的数据时,终端可以根据该双向反射分布函数数据计算所述复用特征点在所述视角下的目标双向反射分布函数数据,此时终端无需采用
传统计算方式计算所述复用特征点在所述视角下的目标双向反射分布函数数据,可以计算所述复用特征点在所述视角下的光照贴图数据,进一步的,可以根据该光照贴图数据和该目标双向反射分布函数数据计算得到所述复用特征点在所述视角下的光线追踪数据。当参考光照数据包括双向反射分布函数数据,且双向反射分布函数数据由终端计算得到时,终端可以计算所述复用特征点在所述视角下的光照贴图数据,进一步的,终端可以根据该光照贴图数据和该双向反射分布函数数据计算得到所述复用特征点在所述视角下的光线追踪数据。具体的,当参考光照数据包括光照贴图数据和双向反射分布函数数据时,可以根据双向反射分布函数数据是否从服务器获取,确定终端是否计算目标双向反射分布函数数据,可以参考上述计算光线追踪的方式,在此不再赘述。
47.在本技术实施例中,首先,终端在目标场景中获取所述终端对应的视角下的区域图像,然后,所述终端将所述区域图像发送至服务器,所述区域图像用于所述服务器确定所述目标场景中的复用特征点,接着,所述终端获取所述复用特征点在所述视角下的参考光照数据,最后,所述终端基于所述参考光照数据确定所述复用特征点在所述视角下的光线追踪数据。本技术实施例中,位于同一场景中不同视角的终端,即同一场景中不同观察角度的终端,可以将各自对应的视角下的区域图像发送至服务器,通过服务器确定目标场景中的复用特征点,各终端可以获取复用特征点在各自对应的视角下的参考光照数据,进而各终端可以基于参考光照数据确定复用特征点在各自对应的视角下的光线追踪数据。因此,本技术实施例中同一场景中不同视角的终端在光线追踪的过程中,可以相互协作,可以节省光线追踪过程中的计算资源和计算时间,进而可以优化同一场景中不同视角的终端进行光线追踪的性能。
48.请参见图3,为本技术实施例提供的一种光线追踪的计算方法的流程示意图。如图3所示,本技术实施例的所述方法可以包括以下步骤:
49.s301,在目标场景中获取所述终端对应的视角下的区域图像,将所述区域图像发送至服务器,所述区域图像用于所述服务器确定所述目标场景中的复用特征点。
50.具体的,可参见图2中s201的描述,在此不再赘述。
51.s302,向所述服务器获取所述复用特征点在参考视角下的参考光照贴图数据,将所述参考光照贴图数据作为所述复用特征点在所述视角下的光照贴图数据。
52.易于理解的是,参考视角可以指目标场景中与所述终端对应的观察角度为不同角度的观察角度。
53.参考光照贴图数据,可以指参考视角对应的终端计算的复用特征点可以获取到的直接光照对应的入射光线的能量。具体的,参考视角对应的终端在计算参考光照贴图数据时,可以采用优化后的反射方程公式中第一个积分项进行计算得到参考光照贴图数据。其中,优化后的反射方程公式可以指采用分割近似法将基于物理的渲染过程中的反射方程进行拆解得到两个独立的积分的公式。优化后的反射方程公式可以为:公式右边第一个积分项就可以称为光照贴图的计算过程。参考视角对应的终端对第一个积分项进行计算得到的结果可以称为参考光照贴图数据。
54.光照贴图数据,可以指复用特征点在所述视角下获取到的直接光照对应的入射光
的能量。
55.在一些实施例中,向所述服务器获取所述复用特征点在参考视角下的参考光照贴图数据,可以理解为,通过第一查询指令向所述服务器获取所述复用特征点在参考视角下的参考光照贴图数据。其中,第一查询指令可以由终端在预设时间段内周期性地发送至服务器,第一查询指令可以用于服务器查询服务器中是否已存在参考视角对应的终端上传的参考光照贴图数据,预设时间段可以指所述终端未得到复用特征点在所述视角下的光照贴图数据的时间段,在该预设时间段内,终端可以处于正在计算光照贴图数据的状态,也可以处于未计算光照贴图数据的状态。这样,所述终端在未得到计算结果之前就可以从服务器获取到参考光照贴图数据,由于对于一个复用特征点,在外部环境光照不变的情况下,其在任意一个观察角度的光照贴图数据都是相同的,那么所述终端就可以将参考光照贴图数据作为所述复用特征点所述视角下的光照贴图数据,所述终端可以停止当前正在进行的复用特征点在所述视角下的光照贴图数据的计算过程,或者不再计算复用特征点在所述视角下的光照贴图数据。
56.易于理解的是,服务器中已存在的参考光照贴图数据,可以由具备较好性能的处理器的终端计算得到并上传至服务器,该类终端的计算速度快,将其计算结果上传至服务器,可以为具备较差性能的处理器的终端节省计算时间,进而具备较差性能的处理器的终端可以提高数据处理速度。
57.s303,计算所述复用特征点在所述视角下的目标双向反射分布函数数据。
58.易于理解的是,目标双向反射分布函数数据可以为复用特征点在所述视角对应的观察方向上反射的辐亮度与对应入射光的辐照度的比值。
59.在一些实施例中,终端可以在计算复用特征点在所述视角下的目标双向反射分布函数数据的过程中,即从开始计算到得到计算结果的过程中,同时周期性地向服务器发送查询指令。其中,所述查询指令用于指示所述服务器查询所述服务器中是否存在其他视角(即不同于所述视角的视角)对应的终端上传的参考双向反射分布函数数据。在所述服务器中不存在所述其他视角对应的终端上传的参考双向反射分布函数数据的情况下,所述服务器将空的查询结果发送至所述终端,那么在终端得到复用特征点在所述视角下的目标双向反射分布函数数据的计算结果之前,且持续收到空的查询结果的情况下,终端可以完成目标双向反射分布函数的计算过程并得到计算结果。终端计算复用特征点在所述视角下的目标双向反射分布函数数据,可以采用优化后的反射方程公式中第二个积分项进行计算得到参考光照贴图数据。其中,优化后的反射方程公式可以指采用分割近似法将基于物理的渲染过程中的反射方程进行拆解得到两个独立的积分的公式。优化后的反射方程公式可参照s302中的描述,公式右边的第二个积分项就可以称为称为目标双向反射分布函数数据的计算过程。
60.可选的,终端计算得到复用特征点在所述视角下的目标双向反射分布函数数据后,假如此时服务器中还不存在其他视角对应的终端上传的参考双向反射分布函数数据,终端可以将计算得到的目标双向反射分布函数数据上传至服务器,以供其他视角对应的终端可以从服务器中获取到该目标双向反射分布函数数据,并利用该目标双向反射分布函数数据快速得到复用特征点在其他视角下的双向反射分布函数数据,那么其他视角对应的终端在计算该复用特征点的光线追踪数据的过程中,无需再通过复杂的积分项计算该复用特
征点的双向反射分布函数数据,可以为其他视角对应的终端节省计算量,进而可以提高其他视角对应的终端的数据处理速度。
61.s304,计算所述光照贴图数据和所述目标双向反射分布函数数据的第一乘积,将所述第一乘积作为所述复用特征点在所述视角下的直接光照数据。
62.易于理解的是,直接光照数据可以指复用特征点接收到的光源直接照射的能量。
63.在一些实施例中,在计算所述复用特征点在所述视角下接收的直接光照能量时,可以通过所述复用特征点在所述视角下的光照贴图数据计算得到。根据优化后的反射方程,易知复用特征点在所述视角下的直接光照能量可以等于光照贴图数据与目标双向反射分布函数数据的乘积。那么可以计算所述光照贴图数据和目标双向反射分布函数数据的第一乘积,可以将该第一乘积作为所述复用特征点在所述视角下的直接光照数据。
64.s305,获取所述复用特征点对应的观测点的光线追踪数据,计算所述观测点的光线追踪数据和所述目标双向反射分布函数数据的第二乘积,将所述第二乘积作为所述复用特征点在所述视角下的间接光照数据。
65.易于理解的是,观测点可以指复用特征点接收到光源的间接光照能量时所对应的反射点。观测点可以接收到光源的直接光照能量,经过观测点的一次反射,复用特征点可以接收到光源经一次反射后的间接光照能量。观测点也可以接收到光源经过多次反射后的间接光照能量,经过观测点的再一次反射,复用特征点可以接收到光源经多次反射后的间接光照能量。
66.光线追踪数据,可以指采用反射方程计算得到的计算结果。
67.间接光照数据,可以指复用特征点接收到的光源间接照射的能量。
68.在一些实施例中,在计算所述复用特征点在所述视角下接收的间接光照能量时,可以通过所述复用特征点对应的观测点的光线追踪数据计算所述复用特征点自身的间接光照能量。具体的,所述复用特征点对应的观测点的光线追踪数据,可以是终端本身计算得到的,也可以是终端从服务器中获取到的(目标场景中其余视角对应的终端计算后上传的)。根据优化后的反射方程,易知复用特征点在所述视角下的间接光照能量可以等于间接光照下的光照贴图数据与目标双向反射分布函数数据的乘积,又因复用特征点在所述视角下对应的间接光照的光照贴图数据为复用特征点对应的观测点的光线追踪数据,那么可以计算观测点的光线追踪数据与目标双向反射分布函数数据的第二乘积,可以将该第二乘积作为复用特征点在所述视角下的间接光照数据。
69.s306,计算所述直接光照数据和所述间接光照数据的和值,将所述和值作为所述复用特征点在所述视角下的光线追踪数据。
70.在一些实施例中,易知复用特征点在所述视角下的光线追踪数据包括直接光照部分的能量和间接光照部分的能量,可以计算复用特征点在所述视角下的直接光照数据和复用特征点在所述视角下的间接光照数据的和值,可以将该和值作为复用特征点在所述视角下的光线追踪数据。
71.在本技术实施例中,终端可以将在目标场景中获取的终端对应的视角下的区域图像发送至服务器,由服务器确定目标场景中的复用特征点,终端可以从服务器中获取复用特征点在参考视角下的参考光照贴图数据,并将参考光照贴图数据作为复用特征点在所述视角下的光照贴图数据,无需终端计算得到光照贴图数据,终端仅需计算该复用特征点在
所述视角下的brdf值,以及后续根据光照贴图数据和brdf值计算得到复用特征点的光线追踪数据,可以为终端减轻一定的计算量,从而可以为终端节省计算时间,可以提高数据处理速度。
72.请参见图4,为本技术实施例提供的一种光线追踪的计算方法的流程示意图。如图4所示,本技术实施例的所述方法可以包括以下步骤:
73.s401,在目标场景中获取所述终端对应的视角下的区域图像,将所述区域图像发送至服务器,所述区域图像用于所述服务器确定所述目标场景中的复用特征点。
74.具体的,可参见图2中的描述,在此不再赘述。
75.s402,向所述服务器获取所述复用特征点在参考视角下的所述参考双向反射分布函数数据。
76.易于理解的是,参考视角可以指目标场景中与所述终端对应的观察角度为不同角度的观察角度。
77.参考双向反射分布函数数据,可以指复用特征点在参考视角对应的观察方向上反射的辐亮度与对应入射光的辐照度的比值。参考双向反射分布函数数据可以由参考视角对应的终端计算得到并上传至服务器。
78.在一些实施例中,向所述服务器获取所述复用特征点在参考视角下的参考双向反射分布函数数据,可以理解为,通过第二查询指令向所述服务器获取所述复用特征点在参考视角下的参考双向反射分布函数数据。其中,第二查询指令可以由终端在预设时间段内周期性地发送至服务器,第二查询指令可以用于服务器查询服务器中是否已存在参考视角对应的终端上传的参考双向反射分布函数数据,预设时间段可以指所述终端未得到复用特征点在所述视角下的双向反射分布函数数据的时间段,在该预设时间段内,终端可以处于正在计算所述视角下的双向反射分布函数数据的状态,也可以处于未计算所述视角下的双向反射分布函数数据的状态。
79.s403,获取所述复用特征点在不同视角下对应的能量分配比例,基于所述参考双向反射分布函数数据和所述能量分配比例计算所述复用特征点在所述视角下的目标双向反射分布函数数据。
80.易于理解的是,能量分配比例可以指某一点在不同观察方向反射的能量之间的比例,即某一点在不同观察方向各自对应的brdf值之间的比例。
81.目标双向反射分布函数数据,可以为复用特征点在所述视角对应的观察方向上反射的辐亮度与对应入射光的辐照度的比值。
82.在一些实施例中,某个点在不同观察方向各自对应的brdf值之间的比例是由该点表面的材质类型决定的,一般是固定数据,因此,可以通过复用特征点表面的材质类型查找该复用特征点在不同视角下反射的能量的分配比例。比如,复用特征点在a视角下反射的能量占据总能量的5份,在b视角下反射的能量占据总能量的2份,在c视角下反射的能量占据总能量的3份,那么a视角、b视角以及c视角之间反射的能量的比例可以为5:2:3,即a视角、b视角以及c视角各自对应的brdf值之间的比例可以为5:2:3。进一步的,又因可以获取到复用特征点在参考视角下的参考双向反射分布函数数据,同时可以确定参考视角对应的能量分配比例,可以确定所述视角对应的能量分配比例,易由上述能量分配比例和参考双向反射分布函数数据计算得到所述视角对应的目标双向反射分布函数数据。
83.例如,一种具体实施方式可以为:可以预先训练用于计算brdf值的计算模型,在该计算模型中输入参考视角对应的参考双向反射分布函数数据,以及复用特征点表面的材质类型,经过计算模型的内部处理,计算模型可以输出所述视角下的目标双向反射分布函数数据。在计算模型的内部处理过程中,计算模型可以根据复用特征点的材质类型确定复用特征点在不同视角下的能量分配比例,然后可以由能量分配比例以及参考双向反射分布函数数据得到所述视角下的目标双向反射分布函数数据。
84.因此,所述终端无需完成复杂的积分计算过程,可以快速计算得到所述视角下的目标双向反射分布函数数据。易于理解的是,终端从服务器中获取到的参考双向反射分布函数数据,可以由具备较好性能的处理器的终端计算得到并上传至服务器,该类终端的计算速度快,将其计算结果上传至服务器,可以为具备较差性能的处理器的终端节省计算时间,进而具备较差性能的处理器的终端可以提高数据处理速度。
85.s404,计算所述复用特征点在所述视角下的光照贴图数据。
86.易于理解的是,光照贴图数据可以指复用特征点在所述视角下获取到的光源的直接光照对应的入射光的能量。
87.在一些实施例中,终端可以在计算复用特征点在所述视角下的光照贴图数据的过程中,即从开始计算到得到计算结果的过程中,同时周期性地向服务器发送查询指令。其中,所述查询指令用于指示所述服务器查询所述服务器中是否存在其他视角(即不同于所述视角的视角)对应的终端上传的参考光照贴图数据,在所述服务器中不存在所述参考光照贴图数据的情况下,所述服务器将空的查询结果发送至所述终端。因此,在上述过程中,在终端通过所述查询指令并未从所述服务器中获取到参考光照贴图数据的情况下,终端可以完成复用特征点在所述视角下的光照贴图数据的计算过程,并得到计算结果。终端计算所述复用特征点在所述视角下的光照贴图数据,可以采用优化后的反射方程公式中第一个积分项进行计算得到光照贴图数据。其中,优化后的反射方程公式可以指采用分割近似法将基于物理的渲染过程中的反射方程进行拆解得到两个独立的积分的公式。优化后的反射方程公式可参照图3中s303的描述,公式右边第一个积分项就可以称为光照贴图的计算过程。
88.可选的,可选的,终端计算得到复用特征点在所述视角下的光照贴图数据后,此时假如服务器中还不存在其他视角对应的终端上传的参考光照贴图数据,终端可以将计算得到的所述视角下的光照贴图数据上传至服务器,以供其他视角的终端可以从服务器中获取到该光照贴图数据并复用该光照贴图数据,那么其他视角的终端在计算该复用特征点的光线追踪数据的过程中,无需再通过复杂的积分项计算该复用特征点的光照贴图数据,可以为其他视角对应的终端节省计算量,进而可以提高其他视角对应的终端的数据处理速度。
89.s405,计算所述光照贴图数据和所述目标双向反射分布函数数据的第一乘积,将所述第一乘积作为所述复用特征点在所述视角下的直接光照数据。
90.s406,获取所述复用特征点在观测点的光线追踪数据,计算所述观测点的光线追踪数据和所述目标双向反射分布函数数据的第二乘积,将所述第二乘积作为所述复用特征点在所述视角下的间接光照数据。
91.s407,计算所述直接光照数据和所述间接光照数据的和值,将所述和值作为所述复用特征点在所述视角下的光线追踪数据。
92.关于s405~s407的描述,具体可参见图3中的s304~s306,在此不再赘述。
93.在本技术实施例中,终端可以将在目标场景中获取的终端对应的视角下的区域图像发送至服务器,由服务器确定目标场景中的复用特征点,终端可以从服务器中获取复用特征点在参考视角下的参考双向反射分布函数数据,根据参考双向反射分布函数数据和复用特征点在不同视角下对应的能量分配比例计算得到复用特征点在所述视角下的目标双向反射分布函数数据,无需终端进行复杂的积分计算过程得到目标双向反射分布函数数据,终端仅需进行较为简单的推算过程得到目标双向反射分布函数数据,以及计算该复用特征点在所述视角下的光照贴图数据,后续根据光照贴图数据和目标brdf值计算得到复用特征点的光线追踪数据,可以为终端减轻一定的计算量,从而可以为终端节省计算时间,可以提高数据处理速度。
94.请参见图5,为本技术实施例提供的一种光线追踪的计算方法的流程示意图。如图5所示,本技术实施例的所述方法可以包括以下步骤:
95.s501,在目标场景中获取所述终端对应的视角下的区域图像,将所述区域图像发送至服务器,所述区域图像用于所述服务器确定所述目标场景中的复用特征点。
96.具体的,可参见图2中s 201的描述,在此不再赘述。
97.s502,向所述服务器获取所述复用特征点在第一视角下的参考双向反射分布函数数据和所述复用特征点在第二视角下的目标光照贴图数据,将所述目标光照贴图数据作为所述复用特征点在所述视角下的光照贴图数据。
98.易于理解的是,第一视角可以指目标场景中某一终端的观察视角,第二视角可以指目标场景中另一终端的观察视角。第一视角和第二视角可以为相同视角,此时第一视角对应的终端即为第二视角对应的终端。第一视角和第二视角可以为不同视角,此时第一视角对应的终端与第二视角对应的终端为不同终端。
99.参考双向反射分布函数数据,可以指复用特征点在第一视角对应的观察方向上反射的辐亮度与对应入射光的辐照度的比值。参考双向反射分布函数数据可以由第一视角对应的终端计算得到并上传至服务器。
100.目标光照贴图数据,可以指复用特征点在第二视角下获取到的光源的直接光照对应的入射光的能量。目标光照贴图数据可以由第二视角对应的终端计算得到并上传至服务器。
101.在一些实施例中,终端向服务器获取参考双向反射分布函数数据的过程可以为,通过第二查询指令向服务器获取复用特征点在第一视角下的参考双向反射分布函数数据。其中,第二查询指令可以由终端在预设时间段内周期性地发送至服务器,第二查询指令可以用于服务器查询服务器中是否已存在第一视角对应的终端上传的参考双向反射分布函数数据,预设时间段可以指所述终端未得到复用特征点在所述视角下的双向反射分布函数数据的时间段,在该预设时间段内,终端可以处于正在计算所述视角下的双向反射分布函数数据的状态,也可以处于未计算所述视角下的双向反射分布函数数据的状态。终端向服务器获取目标光照贴图数据的过程可以为,通过第一查询指令向服务器获取复用特征点在第二视角下的目标光照贴图数据。其中,第一查询指令可以由终端在预设时间段内周期性地发送至服务器,第一查询指令可以用于服务器查询服务器中是否已存在第二视角对应的终端上传的目标光照贴图数据,预设时间段可以指所述终端未得到复用特征点在所述视角
下的光照贴图数据的时间段,在该预设时间段内,终端可以处于正在计算光照贴图数据的状态,也可以处于未计算光照贴图数据的状态。需要说明的是,第二查询指令和第一查询指令互不影响,在终端有需求时,即可发送第二查询指令和第一查询指令至服务器。
102.因此,所述终端在未得到所述视角下的光照贴图数据和目标双向反射分布函数数据的计算结果之前就可以从服务器获取到目标光照贴图数据和参考双向反射分布函数数据,由于对于一个复用特征点,在外部环境光照不变的情况下,其在任意一个观察角度的光照贴图数据都是相同的,那么所述终端就可以复用目标光照贴图数据,无需完成计算过程得到所述视角下的光照贴图数据,即可以将目标光照贴图数据作为所述复用特征点所述视角下的光照贴图数据,所述终端可以停止当前正在进行的复用特征点在所述视角下的光照贴图数据的计算过程,或者不再计算复用特征点在所述视角下的光照贴图数据。
103.s503,获取所述复用特征点在不同视角下对应的能量分配比例,基于所述参考双向反射分布函数数据和所述能量分配比例计算所述复用特征点在所述视角下的目标双向反射分布函数数据。
104.具体的,可参见图4中的s403,在此不再赘述。
105.s504,计算所述光照贴图数据和所述目标双向反射分布函数数据的第一乘积,将所述第一乘积作为所述复用特征点在所述视角下的直接光照数据。
106.s505,获取所述复用特征点在观测点的光线追踪数据,计算所述观测点的光线追踪数据和所述目标双向反射分布函数数据的第二乘积,将所述第二乘积作为所述复用特征点在所述视角下的间接光照数据。
107.s506,计算所述直接光照数据和所述间接光照数据的和值,将所述和值作为所述复用特征点在所述视角下的光线追踪数据。
108.关于s504~s506的描述,具体可参见图3中s304~s306的描述,在此不再赘述。
109.在本技术实施例中,终端可以将在目标场景中获取的终端对应的视角下的区域图像发送至服务器,由服务器确定目标场景中的复用特征点,终端可以从服务器中获取复用特征点在第一视角下的参考双向反射分布函数数据和复用特征点在第二视角下的目标光照贴图数据,根据参考双向反射分布函数数据和复用特征点在不同视角下对应的能量分配比例计算得到复用特征点在所述视角下的目标双向反射分布函数数据,无需终端进行复杂的积分计算过程得到目标双向反射分布函数数据,也无需进行复杂的积分计算得到光照贴图数据,终端可以利用参考双向反射分布函数数据进行较为简单的推算过程即可得到目标双向反射分布函数数据,也可以直接复用目标光照贴图数据,后续根据光照贴图数据和目标brdf值计算得到复用特征点的光线追踪数据,可以为终端省去大量的计算过程,从而可以为终端节省计算时间,可以提高数据处理速度。
110.请参见图6,为本技术实施例提供的一种光线追踪的计算方法的流程示意图。如图6所示,本技术实施例的所述方法可以包括以下步骤:
111.s601,在目标场景中获取所述终端对应的视角下的区域图像,将所述区域图像发送至服务器,所述区域图像用于所述服务器确定所述目标场景中的复用特征点。
112.具体的,可参见图2中s 201的描述,在此不再赘述。
113.s602,计算所述复用特征点在所述视角下的光照贴图数据。
114.在一些实施例中,终端可以具备较好性能的处理器,终端可以在计算复用特征点
在所述视角下的光照贴图数据的过程中,即从开始计算到得到计算结果的过程中,同时周期性地向服务器发送第三查询指令。其中,所述第三查询指令用于指示所述服务器查询所述服务器中是否存在其他视角(即不同于所述视角的视角)对应的终端上传的参考光照贴图数据,在所述服务器中不存在所述参考光照贴图数据的情况下,所述服务器将空的查询结果发送至所述终端。因此,在上述过程中,在终端通过所述第三查询指令并未从所述服务器中获取到参考光照贴图数据的情况下,终端可以完成复用特征点在所述视角下的光照贴图数据的计算过程,并得到计算结果。
115.可选的,终端计算得到复用特征点在所述视角下的光照贴图数据后,此时服务器中还不存在其他视角对应的终端上传的参考光照贴图数据,终端可以将计算得到的所述视角下的光照贴图数据上传至服务器,以供其他视角的终端可以从服务器中获取到该光照贴图数据并复用该光照贴图数据,那么其他视角的终端在计算该复用特征点的光线追踪数据的过程中,无需再通过复杂的积分项计算该复用特征点的光照贴图数据,可以为其他视角对应的终端节省计算量,进而可以提高其他视角对应的终端的数据处理速度。
116.s603,计算所述复用特征点在所述视角下的目标双向反射分布函数数据。
117.在一些实施例中,终端可以具备较好性能的处理器,终端可以在计算复用特征点在所述视角下的目标双向反射分布函数数据的过程中,即从开始计算到得到计算结果的过程中,同时周期性地向服务器发送第四查询指令。其中,所述第四查询指令用于指示所述服务器查询所述服务器中是否存在其他视角(即不同于所述视角的视角)对应的终端上传的参考双向反射分布函数数据,在所述服务器中不存在所述其他视角对应的终端上传的参考双向反射分布函数数据的情况下,所述服务器将空的查询结果发送至所述终端。因此,在上述过程中,在终端通过所述查询指令并未从所述服务器中获取到参考双向反射分布函数数据的情况下,终端可以完成复用特征点在所述视角下的目标双向反射分布函数数据的计算过程,并得到计算结果。
118.可选的,终端计算得到复用特征点在所述视角下的目标双向反射分布函数数据后,此时服务器中还不存在其他视角对应的终端上传的参考双向反射分布函数数据,终端可以将计算得到的目标双向反射分布函数数据上传至服务器,以供其他视角对应的终端可以从服务器中获取到该目标双向反射分布函数数据,并利用该目标双向反射分布函数数据快速得到复用特征点在其他视角下的双向反射分布函数数据,那么其他视角对应的终端在计算该复用特征点的光线追踪数据的过程中,无需再通过复杂的积分项计算该复用特征点的双向反射分布函数数据,可以为其他视角对应的终端节省计算量,进而可以提高其他视角对应的终端的数据处理速度。
119.s604,计算所述光照贴图数据和所述目标双向反射分布函数数据的第一乘积,将所述第一乘积作为所述复用特征点在所述视角下的直接光照数据。
120.s605,获取所述复用特征点在观测点的光线追踪数据,计算所述观测点的光线追踪数据和所述目标双向反射分布函数数据的第二乘积,将所述第二乘积作为所述复用特征点在所述视角下的间接光照数据。
121.s606,计算所述直接光照数据和所述间接光照数据的和值,将所述和值作为所述复用特征点在所述视角下的光线追踪数据。
122.关于s604~s606的描述,具体可参见图3中s304~s306的描述,在此不再赘述。
123.在本技术实施例中,终端可以将在目标场景中获取的终端对应的视角下的区域图像发送至服务器,由服务器确定目标场景中的复用特征点,终端可以计算复用特征点在所述视角下的目标双向反射分布函数数据,可以计算该复用特征点在所述视角下的光照贴图数据,再根据根据光照贴图数据和目标双向反射分布函数数据和光照贴图数据计算得到复用特征点的光线追踪数据。因此,同一场景中不同视角的终端在光线追踪的过程中,可以通过服务器确定具有相同特征的复用特征点,可以相互协作,可以节省光线追踪过程中的计算资源和计算时间,进而可以优化同一场景中不同视角的终端进行光线追踪的性能。
124.请参见图7,为本技术实施例提供的一种光线追踪的计算装置的结构示意图。光线追踪的计算装置700可以通过软件、硬件或者两者的结合实现成为终端的全部或一部分。装置700包括:
125.第一计算模块710,用于在目标场景中获取所述终端对应的视角下的区域图像,将所述区域图像发送至服务器,所述区域图像用于所述服务器确定所述目标场景中的复用特征点;
126.第二计算模块720,用于获取所述复用特征点在所述视角下的参考光照数据,基于所述参考光照数据确定所述复用特征点在所述视角下的光线追踪数据。
127.可选的,第二计算模块包括:
128.第一获取模块,用于向所述服务器获取所述复用特征点在参考视角下的参考光照贴图数据,将所述参考光照贴图数据作为所述复用特征点在所述视角下的光照贴图数据,所述参考光照贴图数据由所述参考视角对应的终端计算得到并上传至所述服务器;或,
129.第二获取模块,用于计算所述复用特征点在所述视角下的光照贴图数据。
130.可选的,第二计算模块包括:
131.第三计算模块,用于计算所述复用特征点在所述视角下的目标双向反射分布函数数据;
132.第四计算模块,用于基于所述光照贴图数据和所述目标双向反射分布函数数据确定所述复用特征点在所述视角下的光线追踪数据。
133.可选的,第二计算模块包括:
134.第三获取模块,用于向所述服务器获取所述复用特征点在参考视角下的所述参考双向反射分布函数数据,所述参考双向反射分布函数数据由所述参考视角对应的终端计算得到并上传至所述服务器;
135.第四获取模块,用于获取所述复用特征点在不同视角下对应的能量分配比例;
136.第五获取模块,用于基于所述参考双向反射分布函数数据和所述能量分配比例计算所述复用特征点在所述视角下的目标双向反射分布函数数据;
137.第六获取模块,用于计算所述复用特征点在所述视角下的光照贴图数据;
138.第七获取模块,用于基于所述光照贴图数据和所述目标双向反射分布函数数据确定所述复用特征点在所述视角下的光线追踪数据。
139.可选的,第二计算模块包括:
140.第八获取模块,用于计算所述复用特征点在所述视角下的目标双向反射分布函数数据;
141.第九获取模块,用于计算所述复用特征点在所述视角下的光照贴图数据;
142.第十获取模块,用于基于所述光照贴图数据和所述目标双向反射分布函数数据确定所述复用特征点在所述视角下的光线追踪数据。
143.可选的,第二计算模块包括:
144.第十一获取模块,用于向所述服务器获取所述复用特征点在第一视角下的参考双向反射分布函数数据和所述复用特征点在第二视角下的目标光照贴图数据,将所述目标光照贴图数据作为所述复用特征点在所述视角下的光照贴图数据,所述参考双向反射分布函数数据由所述第一视角对应的终端计算得到并上传至所述服务器,所述目标光照贴图数据由所述第二视角对应的终端计算得到并上传至所述服务器;
145.第十二获取模块,用于获取所述复用特征点在不同视角下对应的能量分配比例;
146.第十三获取模块,用于基于所述参考双向反射分布函数数据和所述能量分配比例计算所述复用特征点在所述视角下的目标双向反射分布函数数据;
147.第十四获取模块,用于基于所述光照贴图数据和所述目标双向反射分布函数数据确定所述复用特征点在所述视角下的光线追踪数据。
148.可选的,第二计算模块包括:
149.第五计算模块,用于计算所述光照贴图数据和所述目标双向反射分布函数数据的第一乘积,将所述第一乘积作为所述复用特征点在所述视角下的直接光照数据;
150.第六计算模块,用于获取所述复用特征点对应的观测点的光线追踪数据,计算所述观测点的光线追踪数据和所述目标双向反射分布函数数据的第二乘积,将所述第二乘积作为所述复用特征点在所述视角下的间接光照数据;
151.第七计算模块,用于计算所述直接光照数据和所述间接光照数据的和值,将所述和值作为所述复用特征点在所述视角下的光线追踪数据。
152.请参考图8,图8为本技术实施例提供的一种终端的结构示意图。如图8所示,终端800可以包括:至少一个处理器801,至少一个网络接口804,用户接口803,存储器805,显示屏组件806,至少一个通信总线802。
153.其中,通信总线802用于实现这些组件之间的连接通信。
154.其中,用户接口803可以包括显示屏(display)、摄像头(camera),可选用户接口803还可以包括标准的有线接口、无线接口。
155.其中,网络接口804可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。
156.其中,处理器801可以包括一个或者多个处理核心。处理器801利用各种借口和线路连接整个终端700内的各个部分,通过运行或执行存储在存储器805内的指令、程序、代码集或指令集,以及调用存储在存储器805内的数据,执行终端800的各种功能和处理数据。可选的,处理器801可以采用数字信号处理(digital signal processing,dsp)、现场可编程门阵列(field-programmable gate array,fpga)、可编程逻辑阵列(programmable logic array,pla)中的至少一种硬件形式来实现。处理器801可集成中央处理器(central processing unit,cpu)、光线追踪的计算器(graphics processing unit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器801中,单独通过一块芯片进行实现。
157.其中,存储器805可以包括随机存储器(random access memory,ram),也可以包括
只读存储器(read-only memory)。可选的,该存储器805包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器805可用于存储指令、程序、代码、代码集或指令集。存储器805可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器805可选的还可以是至少一个位于远离前述处理器801的存储装置。如图8所示,作为一种计算机存储介质的存储器805中可以包括操作系统、网络通信模块、用户接口模块以及光线追踪的计算方法的程序。
158.除此之外,本领域技术人员可以理解,上述附图所示出的终端800的结构并不构成对终端800的限定,用户终端可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。比如,终端800中还包括射频电路、音频电路、wifi组件、电源、蓝牙组件等部件,在此不再赘述。
159.本技术实施例还提供了一种计算机可读存储介质,该计算机存储介质存储有至少一条指令,所述至少一条指令用于被处理器执行以实现如上述各个实施例所述的光线追踪的计算方法。
160.本技术实施例还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上各个实施例所述的光线追踪的计算方法。
161.本领域技术人员应该可以意识到,在上述一个或多个示例中,本技术实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。以上所述仅为本技术的可选实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献