光照探针生成方法和装置与流程

未命名 08-01 阅读:136 评论:0


1.本技术涉及媒体技术领域,尤其涉及光照探针生成方法和装置。


背景技术:

2.光照探针(light probe)是一种放置在场景(如游戏场景)中的虚拟物体,可以用来收集从场景各个方向接收到的光照信息,然后将光照信息作用到被渲染场景内的物体上,从而影响被渲染场景内物体的光照效果。
3.相关技术在对场景进行渲染时,通常在场景中均匀放置一定数量的光照探针以提高场景中被渲染物体的光照效果。光照探针放置的位置和密度均会影响被渲染物体的光照效果和渲染时长。如果在被渲染场景内放置的光照探针的密度过高,则会增加场景的渲染时长;但如果在场景内放置的光照探针的密度过低,则会降低场景内的光照效果。


技术实现要素:

4.本技术提供了光照探针的生成方法和装置,能够提高场景内被渲染物体的光照效果。为达到上述目的,本技术采用如下技术方案:
5.第一方面,本技术提供了一种光照探针生成方法,该方法包括:首先获取场景内的立方体空间的目标信息。然后根据该立方体空间的目标信息确定该立方体空间内的光照探针的密度。最后根据该立方体空间内的光照探针的密度在该立方体空间内生成光照探针。其中,目标信息包括场景权重、光源权重或用户权重中的至少一项,场景权重用于表征立方体空间中物体分布的复杂程度,光源权重用于表征立方体空间受光源的影响程度,用户权重用于表征立方体空间对于用户的可见性。
6.本技术提供的光照探针生成方法,可以根据立方体空间的目标信息动态设置立方体空间内的光照探针密度,即在物体分布复杂、受光源的影响较大或对用户可见性强的立方体内设置较高的光照探针密度,以提高场景内被渲染物体的光照效果。在物体分布简单、受光源的影响较小或对用户可见性弱的立方体内设置较低的光照探针密度或不设置光照探针,以减少渲染过程的数据处理量,提供渲染速度。
7.在一种可能的实现方式中,所述场景内可以包括多个物体,所述目标信息可以包括场景权重,所述获取场景内的立方体空间的目标信息,可以包括:根据所述立方体空间内的物体数量和物体体积确定所述立方体空间的场景权重。
8.可选地,立方体空间的场景权重可以满足:立方体空间的场景权重=a*立方体空间内的物体数量+b*立方体空间内的物体体积。其中,a为物体数量加权系数,b为物体体积加权系数。
9.可以理解的是,立方体空间内的物体数量越多、物体体积越大说明立方体空间内的物体复杂程度越大,因此可以通过空间内的物体数量和物体体积确定立方体空间的场景权重。
10.在一种可能的实现方式中,所述场景包括光源和光源对应的光源阴影贴图,所述
立方体空间内设置有采样点,所述目标信息包括光源权重,所述获取场景内的立方体空间的目标信息,包括:根据所述立方体空间内采样点的位置、所述光源的位置和所述光源阴影贴图判断所述采样点是否对所述光源可见;根据所述立方体空间内采样点对光源的可见性和光源的属性确定所述立方体空间的光源权重,所述光源的属性包括光源的光照强度和/或光源的衰减半径。
11.可以理解的是,立方体空间内对光源可见的采样点越多说明立方体空间对光源的可见性越强,因此可以通过立方体空间内采样点对光源的可见性确定立方体空间的光源权重。
12.在一种可能的实现方式中,所述目标信息包括用户权重,所述获取场景内的立方体空间的目标信息,包括:根据用户视角信息生成对应的深度图,所述深度图包括多个像素点;根据所述立方体空间的目标像素点的数量确定所述立方体空间的用户权重,所述目标像素点为位于所述立方体空间内的所述深度图的像素点。
13.可以理解是,用户视角信息对应的深度图包括用户当前视角可见的像素点,立方体空间内目标像素点的数量越多说明立方体空间内用户可见的像素点数量越多,因此可以通过立方体空间的目标像素点的数量确定所述立方体空间的用户权重。
14.在一种可能的实现方式中,所述目标信息还包括历史信息,所述历史信息包括所述立方体空间的历史用户权重和/或所述立方体空间的历史目标像素点的数量,所述根据所述立方体空间的目标像素点的数量确定所述立方体空间的用户权重,包括:根据所述立方体空间的目标像素点的数量和所述历史信息,确定所述立方体空间的用户权重。
15.在一种可能的实现方式中,所述根据所述目标信息确定立方体空间内的光照探针的密度,包括:根据所述目标信息确定所述立方体空间的综合权重;根据所述综合权重确定所述立方体空间内的光照探针的密度。
16.在一种可能的实现方式中,该方法还可以包括:根据所述目标信息,确定立方体空间的更新顺序;根据所述立方体空间的更新顺序,更新所述立方体空间的光照信息。
17.在一种可能的实现方式中,该方法还可以包括:根据所述立方体空间的光照信息进行灯光计算。
18.在一种可能的实现方式中,该方法还可以包括:将所述场景划分为多个立方体空间。
19.第二方面,本技术还提供了一种光照探针生成装置,该装置包括处理单元,所述处理单元用于:获取场景内的立方体空间的目标信息,所述目标信息包括场景权重、光源权重或用户权重中的至少一项,所述场景权重用于表征立方体空间中物体分布的复杂程度,所述光源权重用于表征立方体空间受光源的影响程度,所述用户权重用于表征立方体空间对于用户的可见性;根据所述目标信息确定立方体空间内的光照探针的密度。最后根据该立方体空间内的光照探针的密度在该立方体空间内生成光照探针。
20.在一种可能的实现方式中,所述场景内包括多个物体,所述目标信息包括场景权重,所述处理单元具体用于:根据所述立方体空间内的物体数量和物体体积确定所述立方体空间的场景权重。
21.在一种可能的实现方式中,所述场景包括光源和光源对应的光源阴影贴图,所述立方体空间内设置有采样点,所述目标信息包括光源权重,所述处理单元具体用于:根据所
述立方体空间内采样点的位置、所述光源的位置和所述光源阴影贴图判断所述采样点是否对所述光源可见;根据所述立方体空间内采样点对光源的可见性和光源的属性确定所述立方体空间的光源权重,所述光源的属性包括光源的光照强度和/或光源的衰减半径。
22.在一种可能的实现方式中,所述目标信息包括用户权重,所述处理单元具体用于:根据用户视角信息生成对应的深度图,所述深度图包括多个像素点;根据所述立方体空间的目标像素点的数量确定所述立方体空间的用户权重,所述目标像素点为位于所述立方体空间内的所述深度图的像素点。
23.在一种可能的实现方式中,所述目标信息还包括历史信息,所述历史信息包括所述立方体空间的历史用户权重和/或所述立方体空间的历史目标像素点的数量,所述处理单元具体用于:根据所述立方体空间的目标像素点的数量和所述历史信息,确定所述立方体空间的用户权重。
24.在一种可能的实现方式中,所述处理单元具体用于:根据所述目标信息确定所述立方体空间的综合权重;根据所述综合权重确定所述立方体空间内的光照探针的密度。
25.在一种可能的实现方式中,所述处理单元还用于:根据所述目标信息,确定立方体空间的更新顺序;根据所述立方体空间的更新顺序,更新所述立方体空间的光照信息。
26.在一种可能的实现方式中,所述处理单元还用于:根据所述立方体空间的光照信息进行灯光计算。
27.在一种可能的实现方式中,所述处理单元还用于:将所述场景划分为多个立方体空间。
28.第三方面,本技术还提供一种光照探针生成装置,该装置包括:至少一个处理器,当所述至少一个处理器执行程序代码或指令时,实现上述第一方面或其任意可能的实现方式中所述的方法。
29.可选地,该电子设备还可以包括至少一个存储器,该至少一个存储器用于存储该程序代码或指令。
30.第四方面,本技术还提供一种芯片,包括:输入接口、输出接口、至少一个处理器。可选地,该芯片还包括存储器。该至少一个处理器用于执行该存储器中的代码,当该至少一个处理器执行该代码时,该芯片实现上述第一方面或其任意可能的实现方式中所述的方法。
31.可选地,上述芯片还可以为集成电路。
32.第五方面,本技术还提供一种计算机可读存储介质,用于存储计算机程序,该计算机程序包括用于实现上述第一方面或其任意可能的实现方式中所述的方法。
33.第六方面,本技术还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机实现上述第一方面或其任意可能的实现方式中所述的方法。
34.本实施例提供的光照探针生成装置、计算机存储介质、计算机程序产品和芯片均用于执行上文所提供的光照探针生成方法,因此,其所能达到的有益效果可参考上文所提供的光照探针生成方法中的有益效果,此处不再赘述。
附图说明
35.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使
用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
36.图1为本技术实施例提供的一种通信系统的结构示意图;
37.图2为本技术实施例提供的一种用户端设备的结构示意图;
38.图3为本技术实施例提供的一种光照探针生成方法的流程示意图;
39.图4为本技术实施例提供的一种场景内立方体空间的划分示意图;
40.图5为本技术实施例提供的云游戏或其他端云协同场景下的架构图;
41.图6为本技术实施例提供的另一种光照探针生成方法的流程示意图;
42.图7为本技术实施例提供的又一种光照探针生成方法的流程示意图;
43.图8为本技术实施例提供的一种装置的结构示意图;
44.图9为本技术实施例提供的另一种装置的结构示意图;
45.图10为本技术实施例提供的一种芯片的结构示意图。
具体实施方式
46.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
47.本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。
48.本技术的说明书以及附图中的术语“第一”和“第二”等是用于区别不同的对象,或者用于区别对同一对象的不同处理,而不是用于描述对象的特定顺序。
49.此外,本技术的描述中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选的还包括其他没有列出的步骤或单元,或可选的还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
50.需要说明的是,本技术实施例的描述中,“示例性地”或者“例如”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示例性地”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性地”或者“例如”等词旨在以具体方式呈现相关概念。
51.在本技术的描述中,除非另有说明,“多个”的含义是指两个或两个以上。
52.首先,对本技术中的部分用语进行解释说明,以便于本领域技术人员理解。
53.场景,即虚拟场景是指用计算机生成的一种虚拟的场景环境,它能够提供一个多媒体的虚拟世界,用户可通过操作设备或操作界面对虚拟场景中可操作的虚拟对象进行控制,以虚拟对象的视角观察虚拟场景中的物体、动物、人物、风景等虚拟物,或通过虚拟对象和虚拟场景中的物体、动物、人物、风景等虚拟物或者其他虚拟对象等进行互动。虚拟场景通常由终端等计算机设备中的应用程序生成基于终端中的硬件(比如屏幕)进行展示。
54.场景的物体,包括虚拟场景中的物体、动物、人物和具有地物的风景等虚拟物。物
体可以是虚拟场景中的建筑物和树木等。人物可以是虚拟场景中的人物角色。动物可以是虚拟场景中的宠物或怪物。该风景可以是虚拟场景中的具有一定地貌和地物的山。
55.包围盒(axis aligned bounding box,aabb),包含该对象,且边平行于坐标轴的最小六面体。
56.相关技术在对场景进行渲染时,通常在场景中均匀放置一定数量的光照探针以提高场景中被渲染物体的光照效果。光照探针放置的位置和密度均会影响被渲染物体的光照效果和渲染时长。如果在被渲染场景内放置的光照探针的密度过高,则会增加场景的渲染时长;但如果在场景内放置的光照探针的密度过低,则会降低场景内的光照效果。
57.为此,本技术实施例提供了一种光照探针生成方法,能够提高场景内被渲染物体的光照效果。该光照探针生成方法可以应用于通信系统。
58.图1是本技术实施例提供的一例通信系统的结构示意图。通信系统可以包括一个或多个用户端设备100和服务端设备200。在本技术另一些实施例中,通信系统可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。例如,通信系统可以仅包括用户端设备100。
59.用户端设备100可以为手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,ar)/虚拟现实(virtual reality,vr)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本、个人数字助理(personal digital assistant,pda)等电子设备上,本技术实施例对用户端设备100的具体类型不作任何限制。用户端设备100也可简称为客户端。
60.服务端设备200可以为服务器、服务器集群或其他具有计算功能和通信功能的设备,本技术实施例对服务端设备200的具体类型不作任何限制。
61.用户端设备100和服务端设备200之间可以通过通信技术进行通信。
62.在一种可能的实现方式中,用户端设备100和服务端设备200之间可以通过无线方式进行通信。
63.需要说明的是,上述无线方式可以通过通信网络实现通信,该通信网络可以是局域网,也可以是通过中继设备转接的广域网,或者包括局域网和广域网。当该通信网络为局域网时,示例性地,该通信网络可以是wifi热点网络、wifi p2p网络、蓝牙网络、zigbee网络、近场通信(near field communication,nfc)网或者未来可能的通用短距离通信网络、专用短距通信(dedicated short range communication,dsrc)网络等。当该通信网络为广域网时,示例性地,该通信网络可以是第三代移动通信技术(3rd-generation wireless telephone technology,3g)网络、第四代移动通信技术(the 4th generation mobile communication technology,4g)网络、第五代移动通信技术(5th-generation mobile communication technology,5g)网络、plmn或因特网等,本技术实施例对此不做限定。
64.图2是本技术实施例提供的一例用户端设备100的示意图。用户端设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,usb)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识
模块(subscriber identification module,sim)卡接口195等。其中传感器模块180可以包括压力传感器180a,陀螺仪传感器180b,气压传感器180c,磁传感器180d,加速度传感器180e,距离传感器180f,接近光传感器180g,指纹传感器180h,温度传感器180j,触摸传感器180k,环境光传感器180l,骨传导传感器180m等。
65.可以理解的是,本技术实施例示意的结构并不构成对用户端设备100的具体限定。在本技术另一些实施例中,用户端设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。例如,在一种可能的实现方式中,用户端设备100还可以包括视觉传感器、惯性测量单元(inertial measurement unit,imu)、激光雷达(light detection and ranging,lidar)、磁力计等部件。
66.处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,ap),调制解调处理器,图形处理器(graphics processing unit,gpu),图像信号处理器(image signal processor,isp),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理器(neural-network processing unit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
67.其中,控制器可以是用户端设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
68.处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,i2c)接口,集成电路内置音频(inter-integrated circuit sound,i2s)接口,脉冲编码调制(pulse code modulation,pcm)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,uart)接口,移动产业处理器接口(mobile industry processor interface,mipi),通用输入输出(general-purpose input/output,gpio)接口,用户标识模块(subscriber identity module,sim)接口,和/或通用串行总线(universal serial bus,usb)接口等。
69.其中,i2c接口是一种双向同步串行总线,处理器110可以通过i2c接口耦合触摸传感器180k,使处理器110与触摸传感器180k通过i2c总线接口通信,实现用户端设备100的触摸功能。mipi接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。mipi接口包括摄像头串行接口(camera serial interface,csi),显示屏串行接口(display serial interface,dsi)等。在一些实施例中,处理器110和摄像头193通过csi接口通信,实现用户端设备100的拍摄功能。处理器110和显示屏194通过dsi接口通信,实现用户端设备100的显示功能。
70.可以理解的是,本技术实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对用户端设备100的结构限定。在本技术另一些实施例中,用户端设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
71.充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器
121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。
72.用户端设备100通过gpu,显示屏194,以及应用处理器等实现显示功能。gpu为图像处理的微处理器,连接显示屏194和应用处理器。gpu用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个gpu,其执行程序指令以生成或改变显示信息。
73.显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,lcd),有机发光二极管(organic light-emitting diode,oled),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,amoled),柔性发光二极管(flex light-emitting diode,fled),miniled,microled,micro-oled,量子点发光二极管(quantum dot light emitting diodes,qled)等。在一些实施例中,用户端设备100可以包括1个或n个显示屏194,n为大于1的正整数。
74.用户端设备100可以通过isp,摄像头193,触摸传感器、视频编解码器,gpu,显示屏194以及应用处理器等实现拍摄功能。
75.其中,isp用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给isp处理,转化为肉眼可见的图像。isp还可以对图像的噪点,亮度,肤色进行算法优化。isp还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,isp可以设置在摄像头193中。
76.摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,ccd)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,cmos)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给isp转换成数字图像信号。isp将数字图像信号输出到dsp加工处理。dsp将数字图像信号转换成标准的rgb,yuv等格式的图像信号,应理解,在本技术实施例的描述中,以rgb格式的图像为例进行介绍,本技术实施例对图像格式不做限定。在一些实施例中,用户端设备100可以包括1个或n个摄像头193,n为大于1的正整数。
77.数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当用户端设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
78.视频编解码器用于对数字视频压缩或解压缩。用户端设备100可以支持一种或多种视频编解码器。这样,用户端设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,mpeg)1,mpeg2,mpeg3,mpeg4等。
79.外部存储器接口120可以用于连接外部存储卡,例如micro sd卡,实现扩展用户端设备100的存储能力。内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行用户端设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。
80.用户端设备100可以通过音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,以及应用处理器等实现音频功能。例如音乐播放,录音等。
81.压力传感器180a用于感受压力信号,可以将压力信号转换成电信号。陀螺仪传感器180b可以用于确定用户端设备100的运动姿态。气压传感器180c用于测量气压。磁传感器
180d包括霍尔传感器。用户端设备100可以利用磁传感器180d检测翻盖皮套的开合。加速度传感器180e可检测用户端设备100在各个方向上(一般为三轴)加速度的大小。距离传感器180f,用于测量距离。用户端设备100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,用户端设备100可以利用距离传感器180f测距以实现快速对焦。接近光传感器180g可以包括例如发光二极管(led)和光检测器,例如光电二极管。环境光传感器180l用于感知环境光亮度。用户端设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180l也可用于拍照时自动调节白平衡。指纹传感器180h用于采集指纹。用户端设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。温度传感器180j用于检测温度。触摸传感器180k,也称“触控面板”。触摸传感器180k可以设置于显示屏194,由触摸传感器180k与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180k用于检测作用于其上或附近的触摸操作。骨传导传感器180m可以获取振动信号。音频模块170可以基于所述骨传导传感器180m获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。
82.按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。用户端设备100可以接收按键输入,产生与用户端设备100的用户设置以及功能控制有关的键信号输入。马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。sim卡接口195用于连接sim卡。
83.本技术实施例提供的光照探针生成方法可以由光照探针生成装置执行。光照探针生成装置可以为上述用户端设备100或服务端设备200。
84.在一种可能的实现方式中,光照探针生成装置包括图形渲染引擎。本技术实施例提供的光照探针生成方法可以由光照探针生成装置的图形渲染引擎执行,并能够广泛应用于3d应用,单机游戏,云游戏或其他端云协同渲染场景等。
85.下面结合附图对本技术实施例提供的光照探针生成方法进行详细说明,如图3所示,本技术实施例提供的光照探针生成方法包括:
86.s301、光照探针生成装置获取场景内的立方体空间的目标信息。
87.其中,目标信息包括场景权重、光源权重或用户权重中的至少一项。场景权重用于表征立方体空间中物体分布的复杂程度。光源权重用于表征立方体空间受光源的影响程度。用户权重用于表征立方体空间对于用户的可见性。
88.在光照探针生成装置为用户端设备100的情况下,用户端设备100可以直接获取场景内的立方体空间的目标信息。
89.在光照探针生成装置为服务端设备200的情况下,服务端设备200可以接收用户端设备100发送的场景内的立方体空间的目标信息,以获取场景内的立方体空间的目标信息。
90.示例性地,光照探针生成装置获取场景内的每个立方体空间的场景权重、光源权重和用户权重。其中,光照探针生成装置可以同时或先后获取场景权重、光源权重和用户权重。
91.在一种可能的实现方式中,场景内可以包括多个物体,光照探针生成装置可以先
确定场景内每个立方体空间内的物体数量和物体体积,然后根据场景内每个立方体空间内的物体数量和物体体积确定场景内每个立方体空间的场景权重。
92.其中,立方体空间的场景权重可以用浮点数值表示,立方体空间的场景权重越大表示该立方体空间内物体越复杂,光照在该立方体空间内的传输过程越复杂。
93.示例性地,光照探针生成装置可以先遍历场景内物体,根据场景内每个物体的位置和每个物体的包围盒大小,确定物体所处的立方体空间。然后确定场景内每个立方体空间内的物体数量和物体体积(若物体位于多个立方体空间,则分别计算每个立方体空间内该物体的体积)。最后根据定场景内每个立方体空间内的物体数量和物体体积确定场景内每个立方体空间的场景权重。
94.可选地,立方体空间的场景权重可以满足:立方体空间的场景权重=a*立方体空间内的物体数量+b*立方体空间内的物体体积。其中,a为物体数量加权系数,b为物体体积加权系数,上述a和上述b可以由用户设置得到。
95.可以理解的是,立方体空间内的物体数量越多、物体体积越大说明立方体空间内的物体复杂程度越大,因此可以通过空间内的物体数量和物体体积确定立方体空间的场景权重。
96.在一种可能的实现方式中,场景可以包括光源和光源对应的光源阴影贴图,立方体空间内可以设置有采样点。光照探针生成装置可以先根据场景内每个立方体空间内采样点的位置、光源的位置和光源阴影贴图判断场景内每个立方体空间内采样点是否对场景内的光源可见。然后根据场景内每个立方体空间内采样点对光源的可见性和光源的属性确定场景内每个立方体空间的光源权重。其中,光源的属性包括光源的光照强度和/或光源的衰减半径。
97.可选地,立方体空间的场景权重可以满足:立方体空间的场景权重=立方体空间内对光源可见的采样点数量*c。其中,c为采样点系数,上述c可以由用户设置得到。
98.可以理解的是,立方体空间内对光源可见的采样点越多说明立方体空间对光源的可见性越强,因此可以通过立方体空间内采样点对光源的可见性确定立方体空间的光源权重。
99.需要说明的是,通过光源的属于和光源对应的光源阴影贴图,可以计算立方体空间内的像素是否处于光源照射范围之内。从而根据判断结果确定立方体空间对光源的可见性。
100.在一种可能的实现方式中,光照探针生成装置可以先根据用户视角信息生成对应的深度图。然后根据场景内的每个立方体空间的目标像素点的数量确定场景内的每个立方体空间的用户权重。其中,所述深度图包括多个像素点;目标像素点为位于立方体空间内的深度图的像素点。
101.可选地,立方体空间的用户权重可以满足:立方体空间的用户权重=立方体空间内的深度图的像素点数量*d,d为深度加权系数,上述d可以由用户设置得到。
102.可以理解是,用户视角信息对应的深度图包括用户当前视角可见的像素点,立方体空间内目标像素点的数量越多说明立方体空间内用户可见的像素点数量越多,因此可以通过立方体空间的目标像素点的数量确定所述立方体空间的用户权重。
103.需要说明的是,在服务端设备200同时为多个用户端设备100设置光照探针的情况
下,这多个用户端设备100当前用户视角可能不同,即这多个用户端设备100发送的用户视角信息可能不同,则同一立方体空间对于不同用户端设备100可能对应不同的用户权重。服务端设备200可以根据立方体空间的多个用户权重,确定该立方体空间的综合用户权重。
104.例如,服务端设备200同时为用户端设备1和用户端设备2设置光照探针,由于用户端设备1和用户端设备2的当前用户视角不同。立方体空间1对于用户端设备1的用户权重为1,立方体空间1对于用户端设备1的用户权重为5。则服务端设备200可以确定立方体空间1的综合权重为(1+5)/2=3。
105.在一种可能的实现方式中,上述目标信息还可以包括历史信息。光照探针生成装置可以根据场景内每个立方体空间的目标像素点的数量和历史信息,确定场景内每个立方体空间的用户权重。其中,历史信息包括场景内每个立方体空间的历史用户权重和/或场景内每个立方体空间的历史目标像素点的数量。
106.在一种可能的实现方式中,光照探针生成装置可以先将场景划分为多个立方体空间,然后获取场景内的每个立方体空间的目标信息。
107.示例性地,如图4所示,光照探针生成装置可以先将场景划分为3*4*3=36个立方体空间,然后获取该场景内的每个立方体空间的目标信息。
108.s302、光照探针生成装置根据立方体空间的目标信息确定立方体空间内的光照探针的密度。
109.在一种可能的实现方式中,光照探针生成装置可以先根据场景内每个立方体空间的目标信息确定场景内每个立方体空间的综合权重。然后根据场景内每个立方体空间的综合权重确定场景内每个立方体空间内的光照探针的密度。
110.在一种可能的实现方式中,光照探针生成装置可以在立方体空间的综合权重大于权重阈值的情况下,确定该立方体空间内的光照探针的密度为第一阈值。在立方体空间的综合权重小于权重阈值的情况下,确定该立方体空间内的光照探针的密度为第二阈值。
111.示例性地,光照探针生成装置可以在立方体空间的综合权重大于权重阈值的情况下,确定该立方体空间内的光照探针的密度为64x64x64,然后按照64x64x64的密度在该立方体空间内均匀填充光照探针。
112.又示例性地,光照探针生成装置可以在立方体空间的综合权重小于权重阈值的情况下,确定该立方体空间内的光照探针的密度为8x8x8,然后按照8x8x8的密度在该立方体空间内均匀填充光照探针。
113.在一种可能的实现方式中,光照探针生成装置还可以在立方体空间的综合权重为零的情况下,在该立方体空间内不设置光照探针。
114.可以理解的是,立方体空间的综合权重为零说明该立方体空间内无物体或该立方体空间不受光源影响或该立方体空间对用户不可见。因此可以不在该立方体空间内设置光照探针,以降低渲染过程中的数据处理量。
115.示例性地,光照探针生成装置可以先获取场景内的立方体空间的场景权重和光源权重,然后根据场景内的立方体空间的场景权重和光源权重确定场景内的立方体空间的综合权重,再根据场景内的立方体空间的综合权重确定场景内的立方体空间内的光照探针的密度。
116.s303、光照探针生成装置根据立方体空间内的光照探针的密度在立方体空间内生
成光照探针。
117.在立方体空间内生成光照探针的具体方法可以采用本领域技术人员能够想到的任何一种方法进行处理,本技术实施例对此不作具体限定。
118.在一种可能的实现方式中,该方法还可以包括:在立方体的目标信息发生变化的情况下,光照探针生成装置可以根据变化后目标信息重新确定立方体内的光照探针的密度,然后根据重新确定的密度,重新在立方体空间内生成光照探针。
119.本技术实施例提供的光照探针生成方法,可以根据立方体空间的目标信息动态设置立方体空间内的光照探针密度,即在物体分布复杂、受光源的影响较大或对用户可见性强的立方体内设置较高的光照探针密度,以提高场景内被渲染物体的光照效果。在物体分布简单、受光源的影响较小或对用户可见性弱的立方体内设置较低的光照探针密度或不设置光照探针,以减少渲染过程的数据处理量,提供渲染速度。
120.在一种可能的实现方式中,该方法还可以包括:光照探针生成装置先根据场景内每个立方体空间的目标信息确定场景内每个立方体空间的更新顺序。然后根据场景立方体空间的更新顺序更新场景内每个立方体空间的光照信息。
121.需要说明的是,在一些流畅性要求较高的大场景(即立方体空间数量较多的场景)中(如游戏场景),需要很高的帧率来满足对用户交互流畅性的要求,如果以60帧/秒的时间来考虑,整个渲染过程也不能超过17毫秒,最低以30帧/秒的情况考虑,整个渲染时间不能超过34毫秒。为确保渲染过程不超过限定时间,可能无法更新场景内的所有立方体空间的光照信息,因此可以根据立方体空间的更新顺序优先更新物体分布复杂、受光源的影响较大或对用户可见性强的立方体空间的光照信息,后更新或不更新物体分布简单、受光源的影响较小或对用户可见性弱的立方体空间的光照信息。把重要的立方体空间的光照效果快速计算呈现给用户,从而提升效果的实时性。
122.在服务端设备200同时为多个用户端设备100更新光照信息的情况下,对于同一个立方体空间服务端设备200可以为多个用户端设备100设置统一的更新顺序,也可以为多个用户端设备100设置不同的更新顺序。
123.示例性地,场景包括立方体空间1、立方体空间2和立方体空间3。用户端设备包括用户端设备1、用户端设备2和用户端设备3。服务端设备200可以按照立方体空间1、立方体空间2和立方体空间3的顺序向用户端设备1、用户端设备2和用户端设备3分别下发立方体空间1、立方体空间2和立方体空间3的光照信息,以使得用户端设备1、用户端设备2和用户端设备通过立方体空间1、立方体空间2和立方体空间3的光照信息对立方体空间1、立方体空间2和立方体空间3的光照信息进行更新。
124.又示例性地,场景包括立方体空间1、立方体空间2和立方体空间3。用户端设备包括用户端设备1、用户端设备2和用户端设备3。服务端设备200可以按照立方体空间1、立方体空间2和立方体空间3的顺序向用户端设备1下发立方体空间1、立方体空间2和立方体空间3的光照信息。按照立方体空间2、立方体空间3和立方体空间1的顺序向用户端设备1下发立方体空间1、立方体空间2和立方体空间3的光照信息。按照立方体空间3、立方体空间2和立方体空间1的顺序向用户端设备1下发立方体空间1、立方体空间2和立方体空间3的光照信息。
125.可以理解的是,由于用户端设备的用户视角不同,同一个立方体空间可能处于用
户端设备的用户视角的不同位置(如处于用户端设备1的用户视角的正中央、处于用户端设备2的用户视角的边缘、未处于用户端设备3的用户视角中)。因此,可以分别为每个用户设备中的立方体空间设置不同的光照信息更新顺序,以把对于每个用户重要的立方体空间的光照效果快速计算呈现给用户,从而提升效果的实时性。
126.在一种可能的实现方式中,该方法还可以包括:根据场景内每个立方体空间的光照信息进行灯光计算。
127.根据光照信息进行灯光计算的具体方法可以采用本领域技术人员能够想到的任何一种方法进行处理,本技术实施例对此不作具体限定
128.本技术提供的光照探针生成方法可以应用于云游戏或其他端云协同场景。图5为云游戏或其他端云协同场景下的架构图,参考图5可以看出在云游戏或其他端云协同场景中包括服务端设备和用户端设备,服务端设备(即云端设备)和用户端设备之间可以进行信息交互。如图6所示,在云游戏或其他端云协同场景中光照探针生成方法包括:
129.s601、服务端设备将场景划分为多个立方体空间。
130.场景划分为多个立方体空间的具体方法可以采用本领域技术人员能够想到的任何一种方法进行处理,本技术实施例对此不作具体限定。
131.s602、用户设备向服务端设备上传用户视角信息。
132.相应地,服务端设备接收用户设备上传的用户视角信息。
133.s603、服务端设备获取场景内的立方体空间的目标信息。
134.其中,目标信息包括场景权重、光源权重或用户权重中的至少一项。场景权重用于表征立方体空间中物体分布的复杂程度。光源权重用于表征立方体空间受光源的影响程度。用户权重用于表征立方体空间对于用户的可见性。
135.在一种可能的实现方式中,场景内可以包括多个物体,服务端设备可以先确定场景内每个立方体空间内的物体数量和物体体积,然后根据场景内每个立方体空间内的物体数量和物体体积确定场景内每个立方体空间的场景权重。
136.在一种可能的实现方式中,场景可以包括光源和光源对应的光源阴影贴图,立方体空间内可以设置有采样点。服务端设备可以先根据场景内每个立方体空间内采样点的位置、光源的位置和光源阴影贴图判断场景内每个立方体空间内采样点是否对场景内的光源可见。然后根据场景内每个立方体空间内采样点对光源的可见性和光源的属性确定场景内每个立方体空间的光源权重。其中,光源的属性包括光源的光照强度和/或光源的衰减半径。
137.在一种可能的实现方式中,服务端设备可以先根据用户视角信息生成对应的深度图。然后根据场景内的每个立方体空间的目标像素点的数量确定场景内的每个立方体空间的用户权重。其中,所述深度图包括多个像素点;目标像素点为位于立方体空间内的深度图的像素点。
138.示例性地,服务端设备可以获取场景内的立方体空间的场景权重、光源权重和用户权重。
139.s604、服务端设备根据立方体空间的目标信息确定立方体空间内的光照探针的密度。
140.在一种可能的实现方式中服务端设备可以先根据场景内每个立方体空间的目标
信息确定场景内每个立方体空间的综合权重。然后根据场景内每个立方体空间的综合权重确定场景内每个立方体空间内的光照探针的密度。
141.s605、服务端设备根据立方体空间内的光照探针的密度在立方体空间内生成光照探针。
142.s606、服务端设备向用户端设备下发立方体空间内的光照探针的密度和立方体空间的光照信息。
143.在一种可能的实现方式中,服务端设备可以先根据立方体空间的目标信息确定立方体空间的更新顺序,然后根据立方体空间的更新顺序向用户端设备下发立方体空间的光照信息。
144.s607、用户端设备根据立方体空间内的光照探针的密度在立方体空间内生成光照探针。
145.s608、用户端设备根据立方体空间的光照信息进行灯光计算。
146.本技术提供的光照探针生成方法也可以应用于3d应用或者单机游戏场景。如图7所示,在3d应用或者单机游戏场景中光照探针生成方法包括:
147.s701、用户端设备将场景划分为多个立方体空间。
148.场景划分为多个立方体空间的具体方法可以采用本领域技术人员能够想到的任何一种方法进行处理,本技术实施例对此不作具体限定。
149.s702、用户端设备获取场景内的立方体空间的目标信息。
150.其中,目标信息包括场景权重、光源权重或用户权重中的至少一项。场景权重用于表征立方体空间中物体分布的复杂程度。光源权重用于表征立方体空间受光源的影响程度。用户权重用于表征立方体空间对于用户的可见性。
151.在一种可能的实现方式中,场景内可以包括多个物体,用户端设备可以先确定场景内每个立方体空间内的物体数量和物体体积,然后根据场景内每个立方体空间内的物体数量和物体体积确定场景内每个立方体空间的场景权重。
152.在一种可能的实现方式中,场景可以包括光源和光源对应的光源阴影贴图,立方体空间内可以设置有采样点。用户端设备可以先根据场景内每个立方体空间内采样点的位置、光源的位置和光源阴影贴图判断场景内每个立方体空间内采样点是否对场景内的光源可见。然后根据场景内每个立方体空间内采样点对光源的可见性和光源的属性确定场景内每个立方体空间的光源权重。其中,光源的属性包括光源的光照强度和/或光源的衰减半径。
153.在一种可能的实现方式中,用户端设备可以先根据用户视角信息生成对应的深度图。然后根据场景内的每个立方体空间的目标像素点的数量确定场景内的每个立方体空间的用户权重。其中,所述深度图包括多个像素点;目标像素点为位于立方体空间内的深度图的像素点。
154.s703、用户端设备根据立方体空间的目标信息确定立方体空间内的光照探针的密度。
155.在一种可能的实现方式中,用户端设备可以先根据场景内每个立方体空间的目标信息确定场景内每个立方体空间的综合权重。然后根据场景内每个立方体空间的综合权重确定场景内每个立方体空间内的光照探针的密度。
156.s704、用户端设备根据立方体空间内的光照探针的密度在立方体空间内生成光照探针。
157.需要说明的是,当立方体空间的目标信息发生变化时,用户端设备可以根据变化后的目标信息重新确定立方体空间内的光照探针的密度,然后根据重新确定的立方体空间内的光照探针的密度在立方体空间内重新生成光照探针。
158.s705、用户端设备根据立方体空间的目标信息确定立方体空间的更新顺序。
159.s706、用户端设备根据立方体空间的更新顺序更新立方体空间的光照信息。
160.需要说明的是,当立方体空间的目标信息发生变化时,用户端设备可以根据变化后的目标信息重新确定立方体空间的光照信息,然后根据重新确定的更新顺序更新立方体空间的光照信息。
161.s707、用户端设备根据立方体空间的光照信息进行灯光计算。
162.下面将结合图8和图9介绍用于执行上述光照探针生成方法的光照探针生成装置。
163.可以理解的是,光照探针生成装置为了实现上述功能,其包含了执行各个功能相应的硬件和/或软件模块。结合本文中所公开的实施例描述的各示例的算法步骤,本技术能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
164.本技术实施例可以根据上述方法示例对光照探针生成装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块可以采用硬件的形式实现。需要说明的是,本实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
165.在采用对应各个功能划分各个功能模块的情况下,图8示出了上述实施例中涉及的光照探针生成装置的一种可能的组成示意图,如图8所示,该装置800可以包括:收发单元801和处理单元802,该处理单元802可以实现上述方法实施例中由光照探针生成装置所执行的方法,和/或用于本文所描述的技术的其他过程。
166.需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
167.在采用集成的单元的情况下,装置800可以包括处理单元、存储单元和通信单元。其中,处理单元可以用于对装置800的动作进行控制管理,例如,可以用于支持装置800执行上述各个单元执行的步骤。存储单元可以用于支持装置800执行存储程序代码、和/或数据等。通信单元可以用于支持装置800与其他设备的通信。
168.其中,处理单元可以是处理器或控制器。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理(digital signal processing,dsp)和微处理器的组合等等。存储单元可以是存储器。通信单元具体可以为射频电路、蓝牙芯片、wi-fi芯片等与其他光照探针生成装置交互的设备。
169.在一种可能的实现方式中,本技术实施例所涉及的光照探针生成装置可以为具有图9所示结构的装置900,该装置900包括处理器901和收发器902。图8中的收发单元801和处
理单元802所实现的相关功能可以由处理器901来实现。
170.可选地,该装置900还可以包括存储器903,该处理器901和该存储器903通过内部连接通路互相通信。图8中的存储单元所实现的相关功能可以由存储器903来实现。
171.本技术实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在光照探针生成装置上运行时,使得光照探针生成装置执行上述相关方法步骤实现上述实施例中的光照探针生成方法。
172.本技术实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的光照探针生成方法。
173.本技术实施例还提供一种光照探针生成装置,这个装置具体可以是芯片、集成电路、组件或模块。具体的,该装置可包括相连的处理器和用于存储指令的存储器,或者该装置包括至少一个处理器,用于从外部存储器获取指令。当装置运行时,处理器可执行指令,以使芯片执行上述各方法实施例中的光照探针生成方法。
174.图10示出了一种芯片1000的结构示意图。芯片1000包括一个或多个处理器1001以及接口电路1002。可选的,上述芯片1000还可以包含总线1003。
175.处理器1001可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述光照探针生成方法的各步骤可以通过处理器1001中的硬件的集成逻辑电路或者软件形式的指令完成。
176.可选地,上述的处理器1001可以是通用处理器、数字信号处理(digital signal proce ssing,dsp)器、集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
177.接口电路1002可以用于数据、指令或者信息的发送或者接收,处理器1001可以利用接口电路1002接收的数据、指令或者其他信息,进行加工,可以将加工完成信息通过接口电路1002发送出去。
178.可选的,芯片还包括存储器,存储器可以包括只读存储器和随机存取存储器,并向处理器提供操作指令和数据。存储器的一部分还可以包括非易失性随机存取存储器(non-vo latile random access memory,nvram)。
179.可选的,存储器存储了可执行软件模块或者数据结构,处理器可以通过调用存储器存储的操作指令(该操作指令可存储在操作系统中),执行相应的操作。
180.可选的,芯片可以使用在本技术实施例涉及的光照探针生成装置或dop中。可选的,接口电路1002可用于输出处理器1001的执行结果。关于本技术的一个或多个实施例提供的光照探针生成方法可参考前述各个实施例,这里不再赘述。
181.需要说明的,处理器1001、接口电路1002各自对应的功能既可以通过硬件设计实现,也可以通过软件设计来实现,还可以通过软硬件结合的方式来实现,这里不作限制。
182.其中,本实施例提供的装置、计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
183.应理解,在本技术的各种实施例中,上述各过程的序号的大小并不意味着执行顺
序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
184.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
185.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
186.在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其他的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其他的形式。
187.上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
188.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
189.上述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例上述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
190.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应所述以权利要求的保护范围为准。

技术特征:
1.一种光照探针生成方法,其特征在于,包括:获取场景内的立方体空间的目标信息,所述目标信息包括场景权重、光源权重或用户权重中的至少一项,所述场景权重用于表征立方体空间中物体分布的复杂程度,所述光源权重用于表征立方体空间受光源的影响程度,所述用户权重用于表征立方体空间对于用户的可见性;根据所述目标信息确定立方体空间内的光照探针的密度;根据所述密度在所述立方体空间内生成光照探针。2.根据权利要求1所述的方法,其特征在于,所述场景内包括多个物体,所述目标信息包括场景权重,所述获取场景内的立方体空间的目标信息,包括:根据所述立方体空间内的物体数量和物体体积确定所述立方体空间的场景权重。3.根据权利要求1或2所述的方法,其特征在于,所述场景包括光源和光源对应的光源阴影贴图,所述立方体空间内设置有采样点,所述目标信息包括光源权重,所述获取场景内的立方体空间的目标信息,包括:根据所述立方体空间内采样点的位置、所述光源的位置和所述光源阴影贴图判断所述采样点是否对所述光源可见;根据所述立方体空间内采样点对光源的可见性和光源的属性确定所述立方体空间的光源权重,所述光源的属性包括光源的光照强度和/或光源的衰减半径。4.根据权利要求1至3中任一项所述的方法,其特征在于,所述目标信息包括用户权重,所述获取场景内的立方体空间的目标信息,包括:根据用户视角信息生成对应的深度图,所述深度图包括多个像素点;根据所述立方体空间的目标像素点的数量确定所述立方体空间的用户权重,所述目标像素点为位于所述立方体空间内的所述深度图的像素点。5.根据权利要求4所述的方法,其特征在于,所述目标信息还包括历史信息,所述历史信息包括所述立方体空间的历史用户权重和/或所述立方体空间的历史目标像素点的数量,所述根据所述立方体空间的目标像素点的数量确定所述立方体空间的用户权重,包括:根据所述立方体空间的目标像素点的数量和所述历史信息,确定所述立方体空间的用户权重。6.根据权利要求1至5中任一项所述的方法,其特征在于,所述根据所述目标信息确定立方体空间内的光照探针的密度,包括:根据所述目标信息确定所述立方体空间的综合权重;根据所述综合权重确定所述立方体空间内的光照探针的密度。7.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:根据所述目标信息,确定立方体空间的更新顺序;根据所述立方体空间的更新顺序,更新所述立方体空间的光照信息。8.根据权利要求1至7中任一项所述的方法,其特征在于,所述方法还包括:根据所述立方体空间的光照信息进行灯光计算。9.根据权利要求1至8中任一项所述的方法,其特征在于,所述方法还包括:将所述场景划分为多个立方体空间。10.一种光照探针生成装置,其特征在于,所述装置包括处理单元,所述处理单元用于:
获取场景内的立方体空间的目标信息,所述目标信息包括场景权重、光源权重或用户权重中的至少一项,所述场景权重用于表征立方体空间中物体分布的复杂程度,所述光源权重用于表征立方体空间受光源的影响程度,所述用户权重用于表征立方体空间对于用户的可见性;根据所述目标信息确定立方体空间内的光照探针的密度;最后根据该立方体空间内的光照探针的密度在该立方体空间内生成光照探针。11.根据权利要求10所述的装置,其特征在于,所述场景内包括多个物体,所述目标信息包括场景权重,所述处理单元具体用于:根据所述立方体空间内的物体数量和物体体积确定所述立方体空间的场景权重。12.根据权利要求10或11所述的装置,其特征在于,所述场景包括光源和光源对应的光源阴影贴图,所述立方体空间内设置有采样点,所述目标信息包括光源权重,所述处理单元具体用于:根据所述立方体空间内采样点的位置、所述光源的位置和所述光源阴影贴图判断所述采样点是否对所述光源可见;根据所述立方体空间内采样点对光源的可见性和光源的属性确定所述立方体空间的光源权重,所述光源的属性包括光源的光照强度和/或光源的衰减半径。13.根据权利要求10至12中任一项所述的装置,其特征在于,所述目标信息包括用户权重,所述处理单元具体用于:根据用户视角信息生成对应的深度图,所述深度图包括多个像素点;根据所述立方体空间的目标像素点的数量确定所述立方体空间的用户权重,所述目标像素点为位于所述立方体空间内的所述深度图的像素点。14.根据权利要求13所述的装置,其特征在于,所述目标信息还包括历史信息,所述历史信息包括所述立方体空间的历史用户权重和/或所述立方体空间的历史目标像素点的数量,所述处理单元具体用于:根据所述立方体空间的目标像素点的数量和所述历史信息,确定所述立方体空间的用户权重。15.根据权利要求10至14中任一项所述的装置,其特征在于,所述处理单元具体用于:根据所述目标信息确定所述立方体空间的综合权重;根据所述综合权重确定所述立方体空间内的光照探针的密度。16.根据权利要求10至15中任一项所述的装置,其特征在于,所述处理单元还用于:根据所述目标信息,确定立方体空间的更新顺序;根据所述立方体空间的更新顺序,更新所述立方体空间的光照信息。17.根据权利要求10至16中任一项所述的装置,其特征在于,所述处理单元还用于:根据所述立方体空间的光照信息进行灯光计算。18.根据权利要求10至17中任一项所述的装置,其特征在于,所述处理单元还用于:将所述场景划分为多个立方体空间。19.一种光照探针生成装置,包括至少一个处理器和接口电路,所述至少一个处理器和所述接口电路耦合,其特征在于,所述至少一个处理器执行存储在存储器中的程序或指令,以使得所述光照探针生成装置实现权利要求1至9中任一项所述的方法。
20.一种计算机可读存储介质,用于存储计算机程序,其特征在于,所述计算机程序包括用于实现上述权利要1至9中任一项所述的方法的指令。21.一种计算机程序产品,所述计算机程序产品中包含指令,其特征在于,当所述指令在计算机或处理器上运行时,使得所述计算机或所述处理器实现上述权利要求1至9中任一项所述的方法。

技术总结
本申请公开了光照探针生成方法和装置,涉及媒体技术领域,能够提高场景内被渲染物体的光照效果。该方法包括:首先获取场景内的立方体空间的目标信息。然后根据该立方体空间的目标信息确定该立方体空间内的光照探针的密度。最后根据该立方体空间内的光照探针的密度在该立方体空间内生成光照探针。其中,目标信息包括场景权重、光源权重或用户权重中的至少一项,场景权重用于表征立方体空间中物体分布的复杂程度,光源权重用于表征立方体空间受光源的影响程度,用户权重用于表征立方体空间对于用户的可见性。用户的可见性。用户的可见性。


技术研发人员:史成耀
受保护的技术使用者:华为技术有限公司
技术研发日:2022.01.21
技术公布日:2023/7/31
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐