CN113298924A - 一种场景的渲染方法、计算设备及存储介质 - Google Patents
一种场景的渲染方法、计算设备及存储介质 Download PDFInfo
- Publication number
- CN113298924A CN113298924A CN202010889632.3A CN202010889632A CN113298924A CN 113298924 A CN113298924 A CN 113298924A CN 202010889632 A CN202010889632 A CN 202010889632A CN 113298924 A CN113298924 A CN 113298924A
- Authority
- CN
- China
- Prior art keywords
- scene
- determining
- space scene
- rendering
- ray
- 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.)
- Pending
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 282
- 238000000034 method Methods 0.000 title claims abstract description 108
- 238000005286 illumination Methods 0.000 claims abstract description 388
- 238000004590 computer program Methods 0.000 claims description 41
- 238000004422 calculation algorithm Methods 0.000 claims description 30
- 230000009467 reduction Effects 0.000 claims description 25
- 230000002829 reductive effect Effects 0.000 claims description 21
- 230000004048 modification Effects 0.000 claims description 14
- 238000012986 modification Methods 0.000 claims description 14
- 238000010586 diagram Methods 0.000 description 23
- 230000000694 effects Effects 0.000 description 16
- 230000006870 function Effects 0.000 description 14
- 238000013461 design Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000002238 attenuated effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000001678 irradiating effect Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 108010047303 von Willebrand Factor Proteins 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/06—Ray-tracing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请实施例提供一种场景的渲染方法、计算设备及存储介质。在本申请实施例中,针对当前待渲染的空间场景,确定空间场景的发射光线;根据发射光线第一次相交于空间场景中的物体,确定以该物体为起点,发射光线在空间场景中形成的光线路径;根据光线路径以及空间场景中与光线路径对应物体的材质信息,确定发射光线相对于该物体的间接光照结果;基于空间场景对应的间接光照结果对空间场景进行渲染,并展示渲染结果。从而使得能够将虚拟的空间场景三维化,使得用户能够较为真实地感受空间场景,提高用户的体验感受。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种场景的渲染方法、计算设备及存储介质。
背景技术
随着互联网的发展,网络可以为用户提供众多线上服务。如线上游戏、线上购物以及线上设计等等。但是大部分线上服务都是通过二维平面来向用户展示服务内容的。但是对于一些线上服务,特别是具有场景化应用的线上服务,如,线上室内设计等,需要在虚拟化环境中创造真实的应用感受给用户,增强用户的体验感。
发明内容
本申请的多个方面提供一种场景的渲染方法、计算设备及存储介质,用以能够动态地进行空间场景的渲染,使得用户可以在虚拟环境中体验较为真实场景环境。
本申请实施例提供一种场景的渲染方法,包括:针对当前待渲染的空间场景,确定所述空间场景的发射光线;根据所述发射光线第一次相交于所述空间场景中的物体,确定以该物体为起点,所述发射光线在所述空间场景中形成的光线路径;根据所述光线路径以及所述空间场景中与所述光线路径对应物体的材质信息,确定所述发射光线相对于该物体的间接光照结果;基于所述空间场景对应的间接光照结果对所述空间场景进行渲染,并展示渲染结果。
本申请实施例还提供一种场景的渲染方法,包括:基于查看操作,确定对应的待渲染的室内空间场景;针对当前待渲染的室内空间场景,确定所述室内空间场景的发射光线;根据所述发射光线第一次相交于所述室内空间场景中的物体,确定以该物体为起点,所述发射光线在所述室内空间场景中形成的光线路径;根据所述光线路径以及所述室内空间场景中与所述光线路径对应物体的材质信息,确定所述发射光线相对于该物体的间接光照结果;基于所述室内空间场景对应的间接光照结果对所述室内空间场景进行渲染,并展示渲染结果。
本申请实施例还提供一种场景的渲染方法,包括:基于查看操作,确定对应的待渲染的购物空间场景;针对当前待渲染的购物空间场景,确定所述购物空间场景的发射光线;根据所述发射光线第一次相交于所述购物空间场景中的物体,确定以该物体为起点,所述发射光线在所述购物空间场景中形成的光线路径;根据所述光线路径以及所述购物空间场景中与所述光线路径对应物体的材质信息,确定所述发射光线相对于该物体的间接光照结果;基于所述购物空间场景对应的间接光照结果对所述购物空间场景进行渲染,并展示渲染结果。
本申请实施例还提供一种场景的渲染方法,包括:基于查看操作,确定对应的待渲染的游戏场景;针对当前待渲染的游戏场景,确定所述游戏场景的发射光线;根据所述发射光线第一次相交于所述游戏场景中的对象,确定以该物体为起点,所述发射光线在所述游戏场景中形成的光线路径;根据所述光线路径以及所述游戏场景中与所述光线路径对应对象的材质信息,确定所述发射光线相对于该对象的间接光照结果;基于所述游戏场景对应的间接光照结果对所述游戏场景进行渲染,并展示渲染结果。
本申请实施例还提供一种物体的渲染方法,包括:针对当前待渲染的空间场景,确定所述空间场景的发射光线;根据所述发射光线第一次相交于所述空间场景中的物体,确定以该物体为起点,所述发射光线在所述空间场景中形成的光线路径;根据所述光线路径以及所述空间场景中与所述光线路径对应物体的材质信息,确定所述发射光线相对于该物体的间接光照结果;基于所述该物体对应的间接光照结果对所述物体进行渲染,并展示渲染结果。
本申请实施例还提供一种计算设备,包括:存储器以及处理器;所述存储器,用于存储计算机程序;所述处理器,用于执行所述计算机程序,以用于:针对当前待渲染的空间场景,确定所述空间场景的发射光线;根据所述发射光线第一次相交于所述空间场景中的物体,确定以该物体为起点,所述发射光线在所述空间场景中形成的光线路径;根据所述光线路径以及所述空间场景中与所述光线路径对应物体的材质信息,确定所述发射光线相对于该物体的间接光照结果;基于所述空间场景对应的间接光照结果对所述空间场景进行渲染,并展示渲染结果。
本申请实施例还提供一种计算设备,包括:存储器以及处理器;所述存储器,用于存储计算机程序;所述处理器,用于执行所述计算机程序,以用于:针对当前待渲染的室内空间场景,确定所述室内空间场景的发射光线;根据所述发射光线第一次相交于所述室内空间场景中的物体,确定以该物体为起点,所述发射光线在室内空间场景中形成的光线路径;根据所述光线路径以及所述室内空间场景中与所述光线路径对应物体的材质信息,确定所述发射光线相对于该物体的间接光照结果;基于所述室内空间场景对应的间接光照结果对所述室内空间场景进行渲染,以及展示渲染结果。
本申请实施例还提供一种计算设备,包括:存储器以及处理器;所述存储器,用于存储计算机程序;所述处理器,用于执行所述计算机程序,以用于:基于查看操作,确定对应的待渲染的购物空间场景;针对当前待渲染的购物空间场景,确定所述购物空间场景的发射光线;根据所述发射光线第一次相交于所述购物空间场景中的物体,确定以该物体为起点,所述发射光线在所述购物空间场景中形成的光线路径;根据所述光线路径以及所述购物空间场景中与所述光线路径对应物体的材质信息,确定所述发射光线相对于所述该物体的间接光照结果;基于所述购物空间场景对应的间接光照结果对所述购物空间场景进行渲染,并展示渲染结果。
本申请实施例还提供一种计算设备,包括:存储器以及处理器;所述存储器,用于存储计算机程序;所述处理器,用于执行所述计算机程序,以用于:基于查看操作,确定对应的待渲染的游戏场景;针对当前待渲染的游戏场景,确定所述游戏场景的发射光线;根据所述发射光线第一次相交于所述游戏场景中的对象,确定以该物体为起点,所述发射光线在所述游戏场景中形成的光线路径;根据所述光线路径以及所述游戏场景中与所述光线路径对应对象的材质信息,确定所述发射光线相对于该对象的间接光照结果;基于所述游戏场景对应的间接光照结果对所述游戏场景进行渲染,并展示渲染结果。
本申请实施例还提供一种计算设备,包括:存储器以及处理器;所述存储器,用于存储计算机程序;所述处理器,用于执行所述计算机程序,以用于:针对当前待渲染的空间场景,确定所述空间场景的发射光线;根据所述发射光线第一次相交于所述空间场景中的物体,确定以该物体为起点,所述发射光线在所述空间场景中形成的光线路径;根据所述光线路径以及所述空间场景中与所述光线路径对应物体的材质信息,确定所述发射光线相对于该物体的间接光照结果;基于所述该物体对应的间接光照结果对所述物体进行渲染,并展示渲染结果。
本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被一个或多个处理器执行时,致使所述一个或多个处理器实现上述方法中的步骤。
在本申请实施例中,针对当前待渲染的空间场景,确定空间场景的发射光线;根据发射光线第一次相交于空间场景中的物体,确定以该物体为起点,发射光线在空间场景中形成的光线路径;根据光线路径以及空间场景中与光线路径对应物体的材质信息,确定发射光线相对于该物体的间接光照结果;基于空间场景对应的间接光照结果对空间场景进行渲染,并展示渲染结果。从而使得能够将虚拟的空间场景三维化,使得用户能够较为真实地感受空间场景,提高用户的体验感受。
同时,还可以根据用户所需要渲染的空间场景,进行实时空间渲染,实现动态渲染空间场景的效果。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1A为本申请一示例性实施例的场景的渲染系统的结构示意图;
图1B为本申请一示例性实施例的场景的渲染系统的结构示意图;
图2为本申请一示例性实施例的场景的渲染方法的流程示意图;
图3为本申请又一示例性实施的场景空间的示意图;
图4为本申请又一示例性实施的场景空间的示意图;
图5为本申请又一示例性实施的光线路径的示意图;
图6为本申请又一示例性实施的光线路径的示意图;
图7为本申请又一示例性实施的具有噪点的空间场景图的示意图;
图8为本申请又一示例性实施的降噪后的空间场景图的示意图;
图9为本申请又一示例性实施例的场景的渲染方法的流程示意图;
图10为本申请一示例性实施例的场景的渲染方法的流程示意图;
图11为本申请又一示例性实施例提供的场景的渲染装置的结构示意图;
图12为本申请又一示例性实施例提供的场景的渲染装置的结构示意图;
图13为本申请一示例性实施例提供的场景的渲染装置的结构示意图;
图14为本申请一示例性实施例提供的计算设备的结构示意图;
图15为本申请又一示例性实施例提供的计算设备的结构示意图;
图16为本申请又一示例性实施例提供的计算设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
基于前文可知,为了提高用户使用线上服务的体验感受,故,本申请实施例提出的技术方案,可以能够较为动态地渲染出空间效果图,增强用户的体验感。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1A为本申请一示例性实施例提供的一种场景的渲染系统的结构示意图。如图1A所示,该系统100可以包括:第一设备101以及第二设备102。
其中,第一设备101可以是有一定计算能力的设备,可以实现向第二设备102发送数据的功能。第一设备101的基本结构可以包括:至少一个处理器。处理器的数量可以取决于具有一定计算能力装置的配置和类型。具有一定计算能力装置也可以包括存储器,该存储器可以为易失性的,例如RAM,也可以为非易失性的,例如只读存储器(Read-OnlyMemory,ROM)、闪存等,或者也可以同时包括两种类型。存储器内通常存储有操作系统(Operating System,OS)、一个或多个应用程序,也可以存储有程序数据等。除了处理单元和存储器之外,具有一定计算能力装置还包括一些基本配置,例如网卡芯片、IO总线、显示组件以及一些外围设备等。可选地,一些外围设备可以包括,例如键盘、输入笔等。其它外围设备在本领域中是众所周知的,在此不做赘述。可选地,第一设备101可以为智能终端,例如,手机、台式电脑、笔记本、平板电脑等。
第二设备102是指可以在网络虚拟环境中提供计算处理服务的设备,可以是指利用网络进行空间场景渲染的设备。在物理实现上,第二设备102可以是任何能够提供计算服务,响应服务请求,并返回渲染结果,例如可以是云服务器、云主机、虚拟中心、常规服务器等等。第二设备102的构成主要包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似。
在本申请实施例中,第一设备101可以响应于用户展示指令,向第二设备102发送渲染请求。该请求可以携带待渲染的空间场景的标识。第二设备102接收到该请求,确定对应的待渲染的空间场景。第二设备102,针对当前待渲染的空间场景,确定空间场景的发射光线;根据发射光线第一次相交于空间场景中的物体,确定以该物体为起点,发射光线在空间场景形成的光线路径;根据光线路径以及空间场景中与光线路径对应物体的材质信息,确定发射光线相对于该物体的间接光照结果,基于空间场景对应的间接光照结果对空间场景进行渲染,并展示渲染结果。
此外,第二设备102还可以,根据该物体的材质信息,确定发射光线从该物体上直接返回至空间场景中的光源生成的直接光照结果;根据直接光照结果以及间接光照结果,得到全局光照结果,以基于空间场景对应的全局光照结果,对空间场景进行渲染,得到渲染结果,然后将渲染结果发送至第一设备101,进行展示。
另,由于第二设备102在得到间接光照结果后,该间接光照结果会产生噪点,所以第二设备102可以根据预置降噪算法,对间接光照结果进行降噪,以确定全局光照结果。降噪后,还可以乘以第一个物体的材质信息,得到校正后的间接光照结果,以确定全局光照结果。
为了加强阴影效果,还可以确定空间场景中物体之间的阴影结果,从而确定最终的全局光照结果。
在本申请实施例的室内设计应用场景中,如图1B所示,用户,如设计师,可以通过第一设备101,如电脑,或者手机,选定对应的室内空间场景,并向手机发送查看指令,手机响应该指令,可以向第二设备102,如云服务器,发送渲染请求。该请求可以携带室内空间场景的标识,云服务器在接收到该请求后,根据该标识确定对应的室内空间场景。在确定场景后,云服务器通过该场景103中的虚拟摄像头106向该场景103中发射光线。且该虚拟摄像头106前设置有二维空白图像107,根据其中的像素,向该场景103中发射光线。以一个像素为例进行说明:当通过一个像素向场景103中发射光线105后,击中场景103中的第一个物体,如室内空间场景中的桌子108,云服务器获取到该桌子的材质信息。基于该材质信息,确定出该发射光线在击中桌子后,如何进行传播,如进行漫反射以及高光反射,同时确定出该漫反射以及高光反射的光线路径。根据光线路径的递归方式,以及光照模型,来确定该漫反射的间接光照结果以及高光反射的间接光照结果。云服务器还可以针对该场景中的光源直接照射在桌子上产生的光照效果,基于光照模型以及桌子的材质信息,确定出该直接光照结果。将直接光照结果和间接光照结果相加,得到全局光照结果。云服务器可以根据该全局光照结果确定出该像素对应的颜色,并进行颜色绘制。最终使得所有像素都具有颜色后。云服务将渲染结果发送至用户的手机,手机根据该渲染结果直接展示即可,可以展示该场景103的渲染结果,即该场景103的图像104。
此外,为了提高渲染效果,云服务器在确定出间接光照结果后,根据不同间接光照结果,如高光反射间接光照结果以及漫反射间接光照结果,分别针对这两个结果进行降噪。降噪后,在将各个间接光照结果乘以桌子的材质信息,得到校正后的间接光照结果。云服务器可以将校正后的间接光照结果与直接光照结果相加。同时,云服务器还可以确定室内空间场景中物体之间的阴影结果,并与校正后的间接光照结果以及直接光照结果相加,得到全局光照结果,从而确定各个像素的颜色,并进行颜色绘制,将最终的渲染结果发送至用户的手机,以进行展示。
需要说明的是,用户还可以对该室内空间场景进行修改,针对修改后的该场景进行重新渲染,并展示给用户。用户也可以在该场景中进行移动,使得其中的虚拟摄像机106也随之移动,并以虚拟摄像机106的新视角,重新对该场景进行渲染,并展示给用户。
此外,除了应用于上述场景外,还可以应用于线上场景购物。其中,用户可以为买家,在特定线上售卖场景中,如室内家具售卖空间场景,对该场景进行观看,此时,可以根据上述方式向用户提供该渲染结果,并进行展示。具体的渲染方式,此处就不再赘述。
在上述本实施例中,上述设备可以进行网络连接,该网络连接可以是无线连接。若是通信连接,该移动网络的网络制式可以为2G(GSM)、2.5G(GPRS)、3G(WCDMA、TD-SCDMA、CDMA2000、UTMS)、4G(LTE)、4G+(LTE+)、WiMax、5G等中的任意一种。
下面结合方法实施例,针对场景的渲染进行详细说明。
图2为本申请一示例性实施例的一种场景的渲染方法的流程示意图。本申请实施例提供的该方法200由计算设备执行,如,云服务器。该方法200包括以下步骤:
201:针对当前待渲染的空间场景,确定空间场景的发射光线。
202:根据发射光线第一次相交于空间场景中的物体,确定以该物体为起点,发射光线在空间场景中形成的光线路径。
203:根据光线路径以及空间场景中与光线路径对应物体的材质信息,确定发射光线相对于该物体的间接光照结果。
204:基于空间场景对应的间接光照结果对空间场景进行渲染,并展示渲染结果。
需要说明的是,执行主体还可以是智能终端,在智能终端的性能可以支持的情况下,执行本方法200。
以下针对上述步骤进行详细阐述:
201:针对当前待渲染的空间场景,确定空间场景的发射光线。
其中,渲染是指将以文本二进制等方式存储的3D(3-dimension,三维,也可以称为虚拟空间)数据绘制成图像的过程。
空间场景是指虚拟空间,如室内虚拟空间、卖场虚拟空间等。在该空间场景中可以具有光源以及物体。物体可以根据不同的虚拟空间设置不同的物体。
其中,图3示出了空间场景300。在该场景中为室内空间场景,即室内虚拟空间。在该场景300中具有灯具301、电视302、桌子303以及花卉304。此外该场景300中还可以具有墙壁以及地板,但本场景300中并未标出。同时,该场景300中还可以具有光源,该光源并未画出和标出。
其中,获取该空间场景的方式可以包括:
接收查看请求或者选择请求等,该请求可以携带空间场景的标识,如ID,该请求即是用于确定空间场景的。基于该标识可以从多个预置空间场景中选择或者确定对应的空间场景。
或者,接收修改请求,对当前空间场景进行修改,并对修改后的空间场景作为待渲染的空间场景。
例如,根据前文所述,云服务器接收用户的手机发送查看请求。用户的手机可以是安装线上室内设计app(application,应用)。用户点击该app,展示设计界面,可以对已设计好的室内空间场景进行选择或查看,基于用户的查看操作,或者选择操作,手机响应于该操作,向云服务器发送请求,且携带该空间场景的ID。云服务器根据该ID,从多个已设计好的空间场景中选择对应的空间场景。或者,用户从云服务器中选择对应的户型房间,并在该户型房间内进行设计,云服务器根据用户的选择请求,选择设置在该房间内的家具等,以进行房间内的修改,并将修改后的房间作为待渲染的室内空间场景。
对于智能终端而言,可以例如,手机或者电脑,直接响应于用户的操作,直接从智能终端的本地进行选择对应的空间场景。
在确定完空间场景后,可以对该空间场景进行渲染。渲染的过程可以是通过对光线的跟踪,来确定的。
具体的,针对当前待渲染的空间场景,确定空间场景的发射光线,包括:通过虚拟摄像机,确定空间场景的发射光线。
其中,虚拟摄像机是指模拟用户的眼睛的视角的虚拟设备。该虚拟摄像机可以设置在空间场景中,也可以设置在空间场景外,还可以通过用户的操作,在空间场景中进行移动。且该虚拟摄像机可以具有一定的视角范围。该视角范围可以是通过虚拟摄像机中的一个平面确定的。该平面则可以作为用户的屏幕图像,也可以称为视屏。
例如,根据前文所述,云服务器可以根据光线跟踪的方式,由该虚拟摄像机向该室内空间场景发射光线,即模拟光线,从而确定出该发射光线。
需要说明的是,除了虚拟摄像机,其它可以实现该虚拟摄像机功能的虚拟设备均可以,或者直接由云服务器模拟虚拟摄像机,直接向空间场景发送虚拟光线。
此外,为了更好的对空间场景进行渲染,可以在虚拟摄像机前设置有一个平面图形,作为最终的用户屏幕图像。
具体的,该方法200还包括:在虚拟摄像机前设置有二维图像;其中,确定空间场景的发射光线,包括:通过虚拟摄像机向二维图像中的像素发射虚拟光线,以使发射虚拟光线通过该像素进入到空间场景中,从而确定该像素对应的全局光照结果。
其中,该二维图像可以是是空白颜色的。
其中,图4示出了具有虚拟摄像机的空间场景400。可以直接通过虚拟摄像机401来向在该空间场景400中发射虚拟光线。该发射虚拟光线是一定光线角度进行发射的。同时也可以,在该虚拟摄像机401前设置一个二维空白图像402,也是视屏。该图像402中具有多个像素403。针对每个像素,虚拟摄像机403以一定发射角度向该像素发射虚拟光线,从而使得该光线经过该图像402进入到空间场景400中。当然,也可以随机选择每个像素中的一个点为基准,虚拟摄像机403向该随机选择的点发射光线。
需要说明的是,对于图像402中的每个像素而言,可以以每个像素的中心点为基准,虚拟摄像机403向该像素的中心点发射虚拟光线,从而确定了发射角度,向空间场景400发射虚拟光线。
此外,对于智能终端而言,也是与云服务器的执行步骤是相似的,此处就不再赘述了。
202:根据发射光线第一次相交于空间场景中的物体,确定以该物体为起点,发射光线在空间场景中形成的光线路径。
其中,光线路径满足渲染时间的条件。
光线路径是指由光线组成的光路,可以是光线在空间场景中传播的过程中形成的。光线路径可以与光线所击中的物体有关,如光线击中一个物体,可以根据该物体的材质信息,来进行反射或者折射等进行传播,从而形成光线路径。
在本申请实施例中,是对发射光线进行追踪,确定光线路径最终是否是到达到虚拟空间中的光源。如果是可以到达光源,则可以通过对该光线路径的递归,进行光照结果的计算。
但是由于光线路径是非常复杂的且数量也可以是非常多的,且还有可能存在一些无效的光线路径。从而在计算光照结果的时候,会产生大量的计算,造成渲染时间增长。所以在本申请实施例中,可以对该光线路径进行限制,来满足渲染时间的条件。如对光线路径的长度和数量进行限制,满足一定的阈值。例如,光线路径的长度可以是经过两个物体的路径长度。或者,不对物体内部的折射进行光线路径进行追踪,减少光线路径数量。
还需要说明的是,光线在传播的过程中,经过多次折射或者反射,是会衰减的,所以在光线路径过长时,是可以对光线路径进行缩短确定光照结果的。
同时,还可以在光照结果中常以反射光线生成的光照结果为主,如漫反射以及高光反射的光照结果为主,折射的光照结果可以忽略。当然,对折射的光照结果进行考虑,是可以更加精准最终光照结果的。但是为了迁就渲染时间,也可以根据需求来忽略掉折射的光照结果。
此外,对于确定该物体的确定方式可以为:根据当前空间场景中各个物体的位置,即空间坐标,确定出该发射光线第一次会击中的物体,即发射光线相交于空间场景中的第一个物体,值得说明的是,这里的第一个物体并不是对物体进行的标识,而是指的在空间场景中第一个与该发射光线相交的物体,该物体可以是任意与光线第一次相交的物体,并不受物体标识的限制。此外,一束定向的发射光线只与空间场景中的一个物体直接相交,可以与其它物体间接相交,即通过反射等进行相交。
需要说明的是,由于该发射光线是按照一定的发射角度进行发射的,那么该发射光线是可以确定的,其传播路径(也可以是未击中物体前的光线路径)也是确定的。同时,在该空间场景中各个物体是有具体的空间坐标的,且为了简化,可以通过三角形来表示各个物体,从而演化成确定发射光线会击中第一个的三角形,通过确定的发射光线的传播路径,确定具有最短传播路径,即可到达的三角形。并确定该三角形的标识,如编号。此外,也是可以根据该传播路径,确定出该三角形的击中点的坐标,即击中三角形的哪个点,则也是该物体的击中点的坐标。
在确定该物体后,即可以根据该物体的材质信息来确定光线路径了。
具体的,确定以该物体为起点,发射光线在空间场景中形成的光线路径形成的光线路径,包括:根据该物体的材质信息,确定光线路径。
其中,材质信息是指物体表面的可视属性,可以包含物体的漫反射颜色,高光颜色,粗糙度等。这些材质信息会用于光照结果的计算。
材质信息的获取可以包括:由于空间场景中的各个物体都可以预置存储在模型库中。且各个物体的材质也可以是存储在预置存储区域中,并标注有其标识,如编号。根据前文可知,在确定出该物体的编号后,可以根据该编号,从预置存储区域中获取到对应的材质信息,并将材质信息存储至贴图中。
例如,根据前文所述,发射光线第一次击中室内空间场景中的物体是桌子,云服务器在确定出桌子的材质信息后,可以根据材质信息进行漫反射、高光反射以及折射等。如,经过漫反射,该发射光线向空中传播,未接触到任何物体,也未返回至光源,从而形成的光线路径。
需要说明的是,由于这个光线路径未与任何物体相交,该光线路径对应的光照结果为0。
此外,还可以经过漫反射,光线路径与其它物体继续相交,再根据后续物体的材质信息,产生其它的光线路径,并直至返回光源为止。
其中,图5示出了光线路径的示意图。该图5中,虚拟摄像机401向图像402中的其中一个像素403发射光线501。该光线501第一次击中物体桌子303。根据该桌子303的材质信息,进行漫反射,产生光线路径502,并继续击中墙壁,产生光线路径503,然后继续击中灯具301产生光线路径504,返回至光源505。其中,光线路径502-504组成了在桌子上产生的光线路径。
相对的,对于其它反射,如高光反射,以及折射而言,也会产生对应的光线路径,从而确定出这些不同的光线路径。
具体的,确定光线路径,包括:根据材质信息,确定在该物体上产生不同光线路径对应的不同光线种类;针对不同的光线种类,确定对应的光线路径。
其中,不同光线种类是指漫反射、折射以及高光反射等光线。从而根据不同的种类确定出不同的关系路径。
具体的确定方式,与前文阐述的相似,此处就不再赘述。仅说明:
具体的,针对不同的光线种类,以该物体为起点,确定对应的光线路径,包括:针对光线种类对应的光线,确定光线经过空间场景中的其它物体所生成的光线路径,作为对应的光线路径。其它物体的数量小于渲染时间条件中的对应阈值。
其中,前文已经详细阐述过,此处就不再赘述。仅说明:在针对该物体的反射或者折射的过程中,为了满足渲染时间的需求,由于经过多个物体而导致的光线路径过长的情况下,且由于光线是会衰减的,所以可以忽略掉后面的光线路径。
其中,如图5所示,由于光线路径502-504经过了桌子、墙壁以及灯具等物体,使得光线路径过长,所以可以设置其它物体为1个,即经过墙壁后的光线路径可以忽略不计。那么此时,图5中的光线路径则为光线路径502和光线路径503,返回至光源。
此外,还可以将物体内部的折射忽略掉,进考虑后续的反射光线生成的光线路径,从而降低光线路径的数量,降低计算量,节约渲染时间。
另,对于漫反射而言,由于漫反射是投射在粗糙表面上的光向各个方向反射的,即随机反射,所以可以产生多个不同的光线路径。为了能够更好地确定漫反射的光线路径,可以利用随机算法进行确定。
具体的,当光线种类为漫反射的情况下,确定对应的光线路径,包括:根据发射方向以及材质信息,确定在该物体上产生漫反射光线的漫反射方向范围;根据预置的随机算法,在漫反射方向范围内选择漫反射方向;根据漫反射方向,确定光线路径。漫反射方向的数量小于渲染时间条件中的对应阈值。
其中,随机算法是指使用概率和统计方法在其执行过程中对于下一计算步骤作出随机选择的算法。随机算法具有一定的优越性以及具有随机性。如,sobol sequence(sobol序列)随机算法。
例如,根据前文所述,发射光线第一次击中了物体,桌子,由于桌子的材质信息,当该桌子为纯漫反射的物体,那么该发射光线会在桌子的表面随机地反射,反射方向范围为击中点的法向半球。云服务器可以采用sobol sequence随机算法,让发射光线随机地往法向半球的某个方向反射,生成对应的多个光线路径,并迭代地计算光照结果,直到到达最大递归层,并返回最终的光照结果。其中,最大递归层是指递归的次数,与前文所述的经过其它物体的数量相似。所以,也可以对最大递归层进行限制,如小于一定阈值,来满足渲染时间的需要。
此外,由于漫反射中,是在反射方向范围内进行反射,所以也可以对这个范围内的反射进行限制,如限制反射的数量。可以通过随机算法在数量限制的情况下,均匀地在这个范围内进行漫反射,以降低渲染时间,同时保持渲染效果。
其中,图6示出了多个光线路径的示意图。在该图6中,可以是发射光线501击中桌子303后,产生漫反射,以图6中两个漫反射光线为例说明:应理解,在实际中可以是预置方向范围内的多个漫反射光线。在图6中,光线501经过桌子303的漫反射,产生了光线路径502和光线路径601,光线路径601再经过墙壁产生了光线路径602。由此,可以根据这两个漫反射所产生的光线路径确定出间接光照结果。
需要说明的是,通常为了生成质量较高的空间场景图,需要的时间一般在几分钟到几十个小时之间,浪费了较高的资源成本以及时间成本,同时降低了用户的体验感受。而本申请实施例由于是根据渲染时间的条件来确定光线路径,从而使得在灵活把握渲染时间的情况下,也可以灵活把握光线路径,如光线路径的数量以及长度等。尤其是在渲染时间要求较高的情况下,如需要渲染时间较短,那么可以由此确定光线路径,如减少光线路径的数量以及长度等。从而使得间接光照结果的确定过程所需的时间减少,进而减少渲染时间,加快展示空间场景的图像,提高了渲染效率以及提高了用户的体验感。
对于智能终端而言,也是与云服务器相似的执行步骤,此处就不再赘述。
203:根据光线路径以及空间场景中与光线路径对应物体的材质信息,确定发射光线相对于该物体的间接光照结果。
其中,间接光照是指从光源产生的光线在其它物体上发生反射或者折射等效果后,照亮该物体产生的光照效果。其对应的光照亮度,即是光照结果。
在确定出来光线路径后,可以根据该光线路径所经过的物体的材质信息,以及光照模型,来确定间接光照效果。如图6所示,光线路径502-504,经过该了物体桌子303、墙壁以及灯具301。
此外,光照模型可以包括冯氏光照模型、朗伯(Lambert)模型等。用于计算光照结果。
具体的,根据光线路径以及空间场景中与光线路径对应物体的材质信息,确定发射光线相对于该物体的间接光照结果,包括:针对每路光线路径中所经过的其它物体,根据光线路径的递归方式,确定每个其它物体对应的间接光照结果以及该物体的间接光照结果。
例如,根据前文所述,如图6所示,以光线路径502-504为例进行说明:应理解,这里仅是为了说明清楚,利用一个完整的光线路径进行说明。在本申请实施例中,由于为了满足渲染时间的需求,会设置最大递归层,或者限制光线路径的长度,则光线路径可以不是完整的光线路径,非完整的光线路径的递归方式与完整光线路径的递归方式是相同的,就不再赘述。其中,对于光线路径502-504,根据递归方式是先针对从光源505对于灯具301的光线路径504,基于灯具301的材质信息,以及光照模型,来确定该光线路径504的间接光照结果,并作为灯具301的击中点的间接光照结果,以此类推,再以该灯具301的击中点的间接光照结果为基准,确定光线路径503对应的间接光照结果,并作为墙壁的击中点的间接光照结果。最终确定到桌子301的击中点的间接光照结果。
需要说明的是,在针对光线路径502-504来确定间接光照结果时,可以假定没有其它光线路径的产生。在实际的情况下,可能还会其它光线路径产生,那么对于一个物体的击中点间接光照结果可能会受多个光线路径对应的间接光照结果来确定。如,针对桌子303而言,其间接光照结果则是由光线路径502-504和光线路径601-602对应的间接光照结果之和确定的。对于其它物体的间接光照结果也是这样计算的。
在计算出桌子301对应的各个光线路径对应的间接光照结果后,进行相加,得到最终的结果。此外,为了提高间接光照结果的准确率,可以每个像素需要5~10个采样点去采样间接光照结果,并进行相加,如多次确定出击中第一个物体后,会产生的不同光线路径,并确定给出对应的间接光照结果之和。
在确定完间接光照结果后,则可以再确定出直接光照结果,从而确定全局光照结果。
204:基于空间场景对应的间接光照结果对空间场景进行渲染,并展示渲染结果。
具体的,该方法200还包括:根据该物体的材质信息,确定发射光线从该物体上直接返回至空间场景中的光源生成的直接光照结果;根据直接光照结果以及间接光照结果,得到全局光照结果,以基于空间场景对应的全局光照结果,对空间场景进行渲染以及展示。
其中,直接光照是指从光源产生的光线直接照亮物体产生的光照效果,其光照亮度则为直接光照结果。直接光照结果与间接光照结果之和则为全局光照结果。
其中,可以根据光栅化方式,来确定直接光照结果,在确定出直接光照结果后,与间接光照结果相加,既可以得到全局光照结果,确定出对应的颜色,以进行渲染和展示。
在光栅化方式中,可以将空间场景以及其中的物体进行像素化,并通过该物体的材质信息,来确定出直接光照结果。由于通过光栅化方式可以加快直接光照结果的确定时间,从而可以加快整体的渲染时间。
需要说明的是,对于全局光照结果的确定方式还可以基于体素的全局光照方式来确定。其中,体素的全局光照方式是是在空间场景初始化时,对空间场景进行3D体素划分,然后将每个体素作为一个物体,使其接受光照,并计算光照结果,且将光照结果存储于3D数据中,比如3D贴图。之后在对空间场景渲染的过程中,利用已经计算好的体素光照结果,作为光源对物体进行光照计算。但是,空间场景体素化后的光照结果并不够准确,其精度很有限。且由于体素会反射光线,所以在墙壁等物体处会产生漏光的问题。同时,由于体素数量多,而经过多次反射的光照结果计算量很大,且效果不理想,会耗费时间和资源。
此外,根据前文可知,由于是根据随机算法确定间接光照结果,但是根据随机算法确定的间接光照结果,会带来噪点。所以通常是采用离线渲染方式中朝一个像素发射很多光线,通过叠加采样的方式来得到准确的光照结果。但是这样做的结果是渲染时间变得很长。所以为了减轻噪点,提升渲染效果,可以对间接光照结果进行降噪处理。降噪的目的是为了得到较少噪声或者没有噪声的间接光照结果,同时要尽可能保留物体的光照细节。
具体的,该方法200还包括:根据预置降噪算法,对间接光照结果进行降噪,以确定全局光照结果。
其中,预置降噪算法是指对间接光照结果进行去除噪点的算法。该算法会考虑物体的位置,物体的法线,以及间接光照结果等,最大程度地保留物体的光照细节。该预置算法可以是将预置范围的像素平均间接光照结果作为该范围内像素的间接光照结果,从而来进行降噪的。但是该预置范围的选择是需要考虑物体的位置、法线以及间接光照结果等因素的。如,对于同一个桌子而言,桌子的桌面与桌腿由于位置不同,其间接光照结果是差异较大的,所以不能作为同一范围。而桌面的不同桌角也会由于位置问题,其间接光照结果也是差异较大的,不能作为同一范围。所以该同一预置范围内的像素,要属于同一物体,且属于同一位置阈值范围内的像素点,且其间接光照结果的差异在一定阈值范围内,才可以确定该预置范围内的平均间接光照结果,用于噪点的降噪。例如,对于小于该平均间接光照结果的对应像素作为噪点,修改其间接光照结果为平均间接光照结果,从而进行降噪。
例如,根据前文所述,云服务器将间接光照结果输入至预置算法中,确定出降噪后的间接光照结果。从而再去确定全局光照结果就会更为准确。
此外,为了更好地进行降噪处理,还可以对物体的间接光照结果做了分层降噪处理。
具体的,该方法200还包括:根据该物体的材质信息,确定出在该物体上产生不同光线路径对应的不同光线种类;根据光线路径的递归方式,确定该物体的不同光线种类对应的不同间接光照结果;根据预置降噪算法,对不同间接光照结果分别进行降噪,得到降噪后的不同间接光照结果;根据降噪后的不同间接光照结果,得到降噪后的间接光照结果,以确定全局光照结果。
例如,根据前文可知,云服务器可以分别对该物体,如桌子,的漫反射间接光照结果、折射间接光照结果以及高光反射间接光照结果,分别存储这些间接光照结果。然后,通过预置降噪算法,分别对这些间接光照结果进行降噪,得到降噪后的间接光照结果。
其中,图7具有噪点的空间场景图。为了能够说明噪点,该图7已经是成像后的图像,即二维图像。在该图7中可以看到许多噪点,即为图7中的黑色小点。
其中,图8示出了降噪后的空间场景图。为了能够说明降噪效果,该图8是已经成像后的图像,即二维图像。在该图8中可以看到噪点被去除。
在降噪后,为了提高渲染效果,还可以继续对间接光照结果进行校正。
具体的,该方法200还包括:将降噪后的间接光照结果以及该物体的材质信息,得到校正后的间接光照结果;根据校正后的间接光照结果确定全局光照结果。
由于材质信息是准确的,不含噪点的,将间接光照结果乘以材质信息,能够保留一部分物体的细节。这里的间接光照结果可以是全部的间接光照结果总和,也可以是分层的间接光照结果。对于分层的间接光照结果,则需要对总的间接光照结果进行光照合成。然后最终确定全局光照结果。
为了能够使得渲染的效果更加逼真,还可以间接光照的阴影结果,以增加物体的光照细节。
具体的,该方法200还包括:针对该物体,确定空间场景中物体之间的阴影结果,阴影结果是根据空间场景中物体的间接光照生成的;基于阴影结果、间接光照结果以及直接光照结果,确定全局光照结果。
例如,根据前文所述,云服务器根据环境光遮蔽算法,来确定阴影结果。该算法属于现有技术,此处就不再赘述。在确定出阴影结果后,将该阴影结果、所有间接光照结果以及直接光照结果进行光照合成,得到全局光照结果。
需要说明的是,对于智能终端而言,也是与云服务器相似的执行步骤,此处就不再赘述。
此外,在用户直接对云服务器或者智能终端在初始化空间场景时,就已经存在好的预置空间场景进行查看时,可以直接从预置存储空间场景中获取到对应的空间场景,并根据对应的预置好的全局光照结果,来进行渲染。
需要说明的是,当云服务器确定了最终的渲染结果后,将渲染结果返回至用户的智能终端,进行展示。如果是智能终端直接得到渲染结果,则可以直接展示。
具体的,该方法200还包括:基于不同的预置空间场景,获取对应的全局光照结果;基于用户的选择操作,从不同的预置空间场景中选择对应的预置空间场景,并根据选择到的空间场景,确定对应的全局光照结果;基于全局光照结果,对选择到的空间场景,进行渲染和展示。
例如,根据前文所述,云服务器接收到用户的手机发送的请求,该请求是基于用户在手机提供了选择界面,该界面展示有多个预置好的空间场景,用户选择其中一个预置空间场景,手机响应于该指令,发送选择请求。云服务器接收到该请求后,可以根据该请求中携带的场景ID,确定对应的空间场景,然后获取对应的全局光照结果,进行渲染,并将渲染结果返回至用户的手机,进行展示。
需要说明的是,该预置的全局光照结果可以通过上述方式确定,也可以通过烘焙的全局光照方式来确定。在通过烘焙的全局光照方式确定好光照结果后,将整个空间场景的光照结果预先计算好,并存储在贴图中,在渲染空间场景时,直接从贴图获取光照结果。但是,烘焙的全局光照方式只支持静态空间场景,不适合动态空间场景。其次,贴图保存的光照结果有缺失,精度不够,此外,贴图使用量较大,对于储存空间有比较高的要求,也会增加场景加载时间。
对于智能终端而言,其执行方式与与云服务器相似,此处就不再赘述,仅说明:智能终端可以直接响应用户指令,进行渲染和展示。
为了提高用户的体验,本申请实施例还可以支持用户动态修改空间场景,从而动态地渲染修改后的空间场景。
具体的,该方法200还包括:在展示渲染结果后,基于用户的修改操作,修改空间场景中的物体,并得到新的空间场景;针对新的空间场景,执行确定空间场景的发射光线的步骤,以进行渲染和展示。
例如,根据前文所述,用户的手机在对室内空间场景进行展示后,用户可以针对该空间场景进行修改。如,手机在展示该空间场景的同时,还可以展示出可供修改的物体,如不同的家具。该家具可以按照种类进行展示,如床、电视、桌子等分别进行展示。每一个种类可以有多个选择。用户可以选择桌子种类中的一个桌形的桌子,并替换掉当前室内空间场景中的桌子。此时,手机响应于该修改操作,向云服务器发送修改请求,该请求可以携带空间场景的ID以及替换桌子和被替换桌子的ID,并进行空间场景的修改,得到修改后的空间场景。将修改后的空间场景作为待渲染的空间场景,重新根据前文所述的方式进行渲染,并将渲染结果返回至用户的手机进行展示。
对于智能终端而言,其执行方式与云服务器相似,此处就不再赘述,仅说明:智能终端可以直接响应用户指令,进行渲染和展示。
为了能够更好地满足用户的需求,可以提供多种渲染方式,以供用户选择,不同的渲染方式的渲染效果可以不同。
具体的,该方法200还包括:基于用户的渲染方式的选择操作,确定对应的渲染方式;根据确定的渲染方式,对空间场景进行渲染。
其中,渲染方式可以包括离线渲染方式、本方法200提供的渲染方式、以及间接光照渲染、全局光照不加阴影效果渲染等。
例如,根据前文所述,用户在选定空间场景后,或者在渲染空间场景之前,可以向用户的手机发送提示信息,以提示用户对渲染方式进行选择。用户对渲染方式进行选择后,基于渲染方式进行渲染,并展示渲染结果。
除此以外,还可以向用户提供关闭或开启渲染方式的功能,使得用户可以灵活地控制渲染方式。
具体的,该方法还包括:基于用户对当前渲染方式的开启操作或关闭操作,开启或关闭对应的渲染方式;在关闭当前渲染方式后,从其它渲染方式中选择渲染方式,对空间场景进行渲染。
由于该提供开启和关闭渲染方式的实施方式与前文所述相似,此处就不再赘述。
基于上述相似的发明构思,图9示出了本申请另一示例性实施例提供的一种场景的渲染方法的流程示意图。本申请实施例提供的该方法900可以由上述服务器执行,如图9所示,该方法900包括以下步骤:
901:基于查看操作,确定对应的待渲染的室内空间场景。
902:针对当前待渲染的室内空间场景,确定室内空间场景的发射光线。
903:根据发射光线第一次相交于室内空间场景中的物体,确定以该物体为起点,发射光线在室内空间场景中形成的光线路径。
904:根据光线路径以及室内空间场景中与光线路径对应物体的材质信息,确定发射光线相对于该物体的间接光照结果。
905:基于室内空间场景对应的间接光照结果对室内空间场景进行渲染,并展示渲染结果。
其中,光线路径满足渲染时间的条件。
由于前文已经详细阐述过步骤901-905的具体实施方式,此处就不再赘述。仅说明,该方法900的执行主体也可以是智能终端,如手机,台式电脑、平板电脑等。
此外,该900方法还包括:基于对室内空间场景中物体的修改操作,生成新的室内空间场景;针对新的室内空间场景,执行确定室内空间场景的发射光线的步骤,以对新的室内空间场景进行渲染以及展示。
由于前文已经阐述过了,此处就不再赘述。
此外,该900方法还包括:基于对预置室内空间场景的选择操作,确定对应的预置室内空间场景;根据确定的预置室内空间场景,确定对应的预置全局光照结果;基于预置全局光照结果,对确定的预置室内空间场景进行渲染以及展示。
由于前文已经详细阐述过,此处就不再赘述。
另,本方法900未能详细描述的内容,还可以参照上述方法200中的各个步骤。
基于上述相似的发明构思,图10示出了本申请另一示例性实施例提供的一种场景的渲染方法的流程示意图。本申请实施例提供的该方法1000可以由上述服务器执行,如图10所示,该方法1000包括以下步骤:
1001:基于查看操作,确定对应的待渲染的购物空间场景。
1002:针对当前待渲染的购物空间场景,确定购物空间场景的发射光线。
1003:根据发射光线第一次相交于购物空间场景中的物体,确定以该物体为起点,发射光线在购物空间场景中形成的光线路径。
1004:根据光线路径以及购物空间场景中与光线路径对应物体的材质信息,确定发射光线相对于该物体的间接光照结果。
1005:基于购物空间场景对应的间接光照结果对购物空间场景进行渲染,并展示渲染结果。
其中,光线路径满足渲染时间的条件。
由于前文已经详细阐述过步骤1001-1005的具体实施方式,此处就不再赘述。仅说明:步骤1001中的查看操作,可以是用户查看智能终端提供的界面上的预置购物空间场景,也可以是刚刚用户设计完的购物空间场景。其中,购物空间场景可以是线上卖场的空间场景、也可以是室内家具展示的购买空间场景等。智能终端响应该查看操作,可以向云服务器发送请求,以进行空间场景的渲染和展示。对于执行主体为智能终端的情况下,可以是智能终端直接进行渲染。
此时,用户可以是设计师或者买家等。
此外,该方法1000还包括:基于在购物空间场景中的移动操作,移动购物空间场景中的虚拟摄像机的位置;基于移动后的虚拟摄像机,确定购物空间场景的发射光线,以对购物空间场景进行渲染以及展示。
例如,根据前文所述,用户可以在卖场的空间场景中查看各个商品。用户可以通过触摸手机屏幕的操作,在该场景中移动,响应于该移动操作,可以向云服务器发送移动请求,并移动该场景中的虚拟摄像机的位置。并重新基于该虚拟摄像机的位置,对当前的场景进行渲染。具体的渲染过程前文已经阐述过了,此处就不再赘述。此外,对于执行主体为智能终端的情况下,则由智能终端直接响应该操作,移动虚拟摄像机,并进行渲染。
此外,该方法1000还包括:基于场景的切换操作,确定新的购物空间场景;针对新的购物空间场景,确定新的购物空间场景的发射光线,以对新的购物空间场景进行渲染以及展示。
由于前文已经详细阐述过,此处就不再赘述。仅说明,该切换操作可以是在多个预置购物空间场景中进行购物空间场景的切换,然后针对切换后的购物空间场景进行渲染和展示。
另,本方法1000未能详细描述的内容,还可以参照上述方法200中的各个步骤。
图11为本申请一示例性实施例提供的一种场景的渲染装置的结构框架示意图。该装置1100可以应用于服务器。该装置1100包括:发射模块1101、确定模块1102以及渲染模块1103;以下针对各个模块的功能进行详细的阐述:
发射模块1101,用于针对当前待渲染的空间场景,确定空间场景的发射光线。
确定模块1102,用于根据发射光线第一词相交于空间场景中的物体,确定以该物体为起点,发射光线在空间场景中形成的光线路径。
确定模块1102,用于根据光线路径以及空间场景中与光线路径对应物体的材质信息,确定发射光线相对于该物体的间接光照结果。
渲染模块1103,用于基于空间场景对应的间接光照结果对空间场景进行渲染,并展示渲染结果。
其中,光线路径满足渲染时间的条件。
此外,渲染模块1103,用于根据该物体的材质信息,确定发射光线从该物体上直接返回至空间场景中的光源生成的直接光照结果;根据直接光照结果以及间接光照结果,得到全局光照结果,以基于空间场景对应的全局光照结果,对空间场景进行渲染以及展示。
具体的,发射模块1101,用于通过虚拟摄像机,确定空间场景的发射光线。
此外,该装置1100包括:设置模块,用于在虚拟摄像机前设置有二维图像;其中,发射模块1101,用于通过虚拟摄像机向二维图像中的像素发射虚拟光线,以使发射虚拟光线通过该像素进入到空间场景中,从而确定该像素对应的全局光照结果。
具体的,确定模块1102,用于根据该物体的材质信息,确定光线路径。
具体的,确定模块1102,包括:第一确定单元,用于根据材质信息,确定在该物体上产生不同光线路径对应的不同光线种类;第二确定单元,用于针对不同的光线种类,确定对应的光线路径。
具体的,第二确定单元,用于针对光线种类对应的光线,以该物体为起点,确定光线经过空间场景中的其它物体所生成的光线路径,作为对应的光线路径。
其中,其它物体的数量小于渲染时间条件中的对应阈值。
具体的,当光线种类为漫反射的情况下,第二确定单元,用于根据发射方向以及材质信息,确定在该物体上产生漫反射光线的漫反射方向范围;根据预置的随机算法,在漫反射方向范围内选择漫反射方向;根据漫反射方向,确定光线路径。
其中,漫反射方向的数量小于渲染时间条件中的对应阈值。
具体的,确定模块1102,用于针对每路光线路径中所经过的其它物体,根据光线路径的递归方式,确定每个其它物体对应的间接光照结果以及该物体的间接光照结果。
此外,该装置1100还包括:降噪模块,用于根据预置降噪算法,对间接光照结果进行降噪,以确定全局光照结果。
此外,确定模块1102,用于根据该物体的材质信息,确定出在该物体上产生不同光线路径对应的不同光线种类;根据光线路径的递归方式,确定该物体的不同光线种类对应的不同间接光照结果;降噪模块,用于根据预置降噪算法,对不同间接光照结果分别进行降噪,得到降噪后的不同间接光照结果;确定模块1102,用于根据降噪后的不同间接光照结果,得到降噪后的间接光照结果,以确定全局光照结果。
此外,该装置1100还包括:校正模块,用于将降噪后的间接光照结果以及该物体的材质信息,得到校正后的间接光照结果;根据校正后的间接光照结果确定全局光照结果。
此外,确定模块1102,用于针对该物体,确定空间场景中物体之间的阴影结果,阴影结果是根据空间场景中物体的间接光照生成的;基于阴影结果、间接光照结果以及直接光照结果,确定全局光照结果。
此外,该装置1100还包括:获取模块,用于基于不同的预置空间场景,获取对应的全局光照结果;选择模块,用于基于用户的选择操作,从不同的预置空间场景中选择对应的预置空间场景,并根据选择到的空间场景,确定对应的全局光照结果;渲染模块1103,还用于基于全局光照结果,对选择到的空间场景,进行渲染和展示。
此外,该装置1100还包括:修改模块,用于在展示渲染结果后,基于用户的修改操作,修改空间场景中的物体,并得到新的空间场景;针对新的空间场景,执行确定空间场景的发射光线的步骤,以进行渲染和展示。
此外,确定模块1102,还用于基于用户的渲染方式的选择操作,确定对应的渲染方式;渲染模块1103,还用于根据确定的渲染方式,对空间场景进行渲染。
此外,该装置1100还包括:控制模块,由于基于用户对当前渲染方式的开启操作或关闭操作,开启或关闭对应的渲染方式;渲染模块1103,还用于在关闭当前渲染方式后,从其它渲染方式中选择渲染方式,对空间场景进行渲染。
图12为本申请一示例性实施例提供的一种场景的渲染装置的结构框架示意图。该装置1200可以应用于服务器。该装置1200包括:发射模块1201、确定模块1202以及渲染模块1203;以下针对各个模块的功能进行详细的阐述:
发射模块1201,用于针对当前待渲染的室内空间场景,确定室内空间场景的发射光线。
确定模块1202,用于基于查看操作,确定对应的待渲染的室内空间场景;根据发射光线第一次相交于室内空间场景中的物体,确定以该物体为起点,发射光线在室内空间场景中形成的光线路径。
确定模块1202,用于根据光线路径以及室内空间场景中与光线路径对应物体的材质信息,确定发射光线相对于该物体的间接光照结果。
渲染模块1203,用于基于室内空间场景对应的间接光照结果对室内空间场景进行渲染,并展示渲染结果。
其中,光线路径满足渲染时间的条件。
此外,该装置1200还包括:生成模块,用于基于对室内空间场景中物体的修改操作,生成新的室内空间场景;针对新的室内空间场景,执行确定室内空间场景的发射光线的步骤,以对新的室内空间场景进行渲染以及展示。
此外,确定模块1202,还用于基于对预置室内空间场景的选择操作,确定对应的预置室内空间场景;根据确定的预置室内空间场景,确定对应的预置全局光照结果;渲染模块1203,还用于基于预置全局光照结果,对确定的预置室内空间场景进行渲染以及展示。
需要说明的是,对于装置1200未能提及的部分内容,可以参照上述装置1100的内容。
图13为本申请一示例性实施例提供的一种场景的渲染装置的结构框架示意图。该装置1300可以应用于服务器。该装置1300包括:确定模块1301、发射模块1302以及渲染模块1303;以下针对各个模块的功能进行详细的阐述:
确定模块1301,用于基于查看操作,确定对应的待渲染的购物空间场景。
发射模块1302,用于针对当前待渲染的购物空间场景,确定购物空间场景的发射光线。
确定模块1301,用于根据发射光线第一次相交于购物空间场景中的物体,确定以该物体为起点,发射光线在购物空间场景中形成的光线路径。
确定模块1301,用于根据光线路径以及购物空间场景中与光线路径对应物体的材质信息,确定发射光线相对于该物体的间接光照结果。
渲染模块1303,用于基于购物空间场景对应的间接光照结果对购物空间场景进行渲染,并展示渲染结果。
其中,光线路径满足渲染时间的条件。
此外,该装置1300还包括:移动模块,用于基于在购物空间场景中的移动操作,移动购物空间场景中的虚拟摄像机的位置;发射模块1302,还用于基于移动后的虚拟摄像机,确定购物空间场景的发射光线,以对购物空间场景进行渲染以及展示。
此外,确定模块1301,用于基于场景的切换操作,确定新的购物空间场景;发射模块1302,用于针对新的购物空间场景,确定新的购物空间场景的发射光线,以对新的购物空间场景进行渲染以及展示。
需要说明的是,对于装置1300未能提及的部分内容,可以参照上述装置1100的内容。
以上描述了图11所示的装置1100的内部功能和结构,在一个可能的设计中,图11所示的装置1100的结构可实现为计算设备,如,服务器。如图14所示,该设备1400可以包括:存储器1401以及处理器1402;
存储器1401,用于存储计算机程序。
处理器1402,用于执行计算机程序,以用于:针对当前待渲染的空间场景,确定空间场景的发射光线;根据发射光线第一次相交于空间场景中的物体,确定以该物体为起点,发射光线在空间场景中形成的光线路径;根据光线路径以及空间场景中与光线路径对应物体的材质信息,确定发射光线相对于该物体的间接光照结果;基于空间场景对应的间接光照结果对空间场景进行渲染,并展示渲染结果。
其中,光线路径满足渲染时间的条件。
此外,处理器1402,具体用于:根据该物体的材质信息,确定发射光线从该物体上直接返回至空间场景中的光源生成的直接光照结果;根据直接光照结果以及间接光照结果,得到全局光照结果,以基于空间场景对应的全局光照结果,对空间场景进行渲染以及展示。
具体的,处理器1402,具体用于:通过虚拟摄像机,确定空间场景的发射光线。
此外,处理器1402,还用于:在虚拟摄像机前设置有二维图像;其中,处理器1402,具体用于:通过虚拟摄像机向二维图像中的像素发射虚拟光线,以使发射虚拟光线通过该像素进入到空间场景中,从而确定该像素对应的全局光照结果。
具体的,处理器1402,具体用于:根据该物体的材质信息,确定光线路径。
具体的,处理器1402,具体用于:根据材质信息,确定在该物体上产生不同光线路径对应的不同光线种类;针对不同的光线种类,确定对应的光线路径。
此外,处理器1402,具体用于:针对光线种类对应的光线,以该物体为起点,确定光线经过空间场景中的其它物体所生成的光线路径,作为对应的光线路径。
其中,其它物体的数量小于渲染时间条件中的对应阈值。
此外,当光线种类为漫反射的情况下,处理器1402,具体用于:根据发射方向以及材质信息,确定在该物体上产生漫反射光线的漫反射方向范围;根据预置的随机算法,在漫反射方向范围内选择漫反射方向;根据漫反射方向,确定光线路径。
其中,漫反射方向的数量小于渲染时间条件中的对应阈值。
具体的,处理器1402,具体用于:针对每路光线路径中所经过的其它物体,根据光线路径的递归方式,确定每个其它物体对应的间接光照结果以及该物体的间接光照结果。
此外,处理器1402,还用于:根据预置降噪算法,对间接光照结果进行降噪,以确定全局光照结果。
此外,处理器1402,还用于:根据该物体的材质信息,确定出在该物体上产生不同光线路径对应的不同光线种类;根据光线路径的递归方式,确定该物体的不同光线种类对应的不同间接光照结果;根据预置降噪算法,对不同间接光照结果分别进行降噪,得到降噪后的不同间接光照结果;根据降噪后的不同间接光照结果,得到降噪后的间接光照结果,以确定全局光照结果。
此外,处理器1402,还用于:将降噪后的间接光照结果以及该物体的材质信息,得到校正后的间接光照结果;根据校正后的间接光照结果确定全局光照结果。
此外,处理器1402,还用于:针对该物体,确定空间场景中物体之间的阴影结果,阴影结果是根据空间场景中物体的间接光照生成的;基于阴影结果、间接光照结果以及直接光照结果,确定全局光照结果。
此外,处理器1402,还用于:基于不同的预置空间场景,获取对应的全局光照结果;基于用户的选择操作,从不同的预置空间场景中选择对应的预置空间场景,并根据选择到的空间场景,确定对应的全局光照结果;基于全局光照结果,对选择到的空间场景,进行渲染和展示。
此外,处理器1402,还用于:在展示渲染结果后,基于用户的修改操作,修改空间场景中的物体,并得到新的空间场景;针对新的空间场景,执行确定空间场景的发射光线的步骤,以进行渲染和展示。
此外,处理器1402,还用于:基于用户的渲染方式的选择操作,确定对应的渲染方式;根据确定的渲染方式,对空间场景进行渲染。
此外,处理器1402,还用于:基于用户对当前渲染方式的开启操作或关闭操作,开启或关闭对应的渲染方式;在关闭当前渲染方式后,从其它渲染方式中选择渲染方式,对空间场景进行渲染。
另外,本发明实施例提供了一种计算机存储介质,计算机程序被一个或多个处理器执行时,致使一个或多个处理器实现图2方法实施例中一种场景的渲染方法的步骤。
以上描述了图12所示的装置1200的内部功能和结构,在一个可能的设计中,图12所示的装置1200的结构可实现为计算设备,如,服务器。如图15所示,该设备1500可以包括:存储器1501以及处理器1502;
存储器1501,用于存储计算机程序。
处理器1502,用于执行计算机程序,以用于:基于查看操作,确定对应的待渲染的室内空间场景;针对当前待渲染的室内空间场景,确定室内空间场景的发射光线;根据发射光线第一次相交于室内空间场景中的物体,确定以该物体为起点,发射光线在室内空间场景中形成的光线路径;根据光线路径以及室内空间场景中与光线路径对应物体的材质信息,确定发射光线相对于该物体的间接光照结果;基于室内空间场景对应的间接光照结果对室内空间场景进行渲染,并展示渲染结果。
其中,光线路径满足渲染时间的条件。
此外,处理器1502,还用于:基于对室内空间场景中物体的修改操作,生成新的室内空间场景;针对新的室内空间场景,执行确定室内空间场景的发射光线的步骤,以对新的室内空间场景进行渲染以及展示。
此外,处理器1502,还用于:基于对预置室内空间场景的选择操作,确定对应的预置室内空间场景;根据确定的预置室内空间场景,确定对应的预置全局光照结果;基于预置全局光照结果,对确定的预置室内空间场景进行渲染以及展示。
需要说明的是,对于设备1500未能提及的部分内容,可以参照上述设备1400的内容。
另外,本发明实施例提供了一种计算机存储介质,计算机程序被一个或多个处理器执行时,致使一个或多个处理器实现图9方法实施例中一种场景的渲染的步骤。
以上描述了图13所示的装置1300的内部功能和结构,在一个可能的设计中,图13所示的装置1300的结构可实现为计算设备,如,服务器。如图16所示,该设备1600可以包括:存储器1601以及处理器1602;
存储器1601,用于存储计算机程序。
处理器1602,用于执行计算机程序,以用于:基于查看操作,确定对应的待渲染的购物空间场景;针对当前待渲染的购物空间场景,确定购物空间场景的发射光线;根据发射光线第一次相交于购物空间场景中的物体,确定以该物体为起点,发射光线在购物空间场景中形成的光线路径;根据光线路径以及购物空间场景中与光线路径对应物体的材质信息,确定发射光线相对于该物体的间接光照结果;基于购物空间场景对应的间接光照结果对购物空间场景进行渲染,并展示渲染结果。
其中,光线路径满足渲染时间的条件。
此外,处理器1602,还用于:基于在购物空间场景中的移动操作,移动购物空间场景中的虚拟摄像机的位置;基于移动后的虚拟摄像机,确定购物空间场景的发射光线,以对购物空间场景进行渲染以及展示。
此外,处理器1602,还用于:基于场景的切换操作,确定新的购物空间场景;针对新的购物空间场景,确定新的购物空间场景的发射光线,以对新的购物空间场景进行渲染以及展示。
需要说明的是,对于设备1600未能提及的部分内容,可以参照上述设备1400的内容。
另外,本发明实施例提供了一种计算机存储介质,计算机程序被一个或多个处理器执行时,致使一个或多个处理器实现图10方法实施例中一种场景的渲染方法的步骤。
基于上述相似的发明构思,本申请另一示例性实施例提供的一种场景的渲染方法的流程示意图。本申请实施例提供的该方法1700可以由上述服务器执行,该方法1700包括以下步骤:
1701:基于查看操作,确定对应的待渲染的游戏场景。
1702:针对当前待渲染的游戏场景,确定游戏场景的发射光线。
1703:根据发射光线第一次相交于游戏场景中的对象,确定以该物体为起点,发射光线在游戏场景中形成的光线路径。
1704:根据光线路径以及游戏场景中与光线路径对应对象的材质信息,确定发射光线相对于该对象的间接光照结果。
1705:基于游戏场景对应的间接光照结果对游戏场景进行渲染,并展示渲染结果。
其中,光线路径满足渲染时间的条件。
由于前文已经详细阐述过步骤1701-1705的具体实施方式,此处就不再赘述。仅说明:对于执行主体为智能终端的情况下,可以是智能终端直接进行渲染。
此外,该方法1700还包括:根据该对象的材质信息,确定发射光线从对象上直接返回至空间场景中的光源生成的直接光照结果;根据直接光照结果以及间接光照结果,得到全局光照结果,以基于空间场景对应的全局光照结果,对空间场景进行渲染以及展示。
由于前文已经阐述过了,此处就不再赘述。
另,本方法1700未能详细描述的内容,还可以参照上述方法200中的各个步骤。
本申请一示例性实施例提供的一种场景的渲染装置的结构框架示意图。该装置1800可以应用于服务器。该装置1800包括:确定模块1801、发射模块1802以及渲染模块1803;以下针对各个模块的功能进行详细的阐述:
确定模块1801,用于基于查看操作,确定对应的待渲染的游戏场景。
发射模块1802,用于针对当前待渲染的游戏场景,确定游戏场景的发射光线。
确定模块1801,用于根据发射光线第一次相交于游戏场景中的对象,确定以该物体为起点,发射光线在游戏场景中形成的光线路径。
确定模块1801,用于根据光线路径以及游戏场景中与光线路径对应对象的材质信息,确定发射光线相对于该对象的间接光照结果。
渲染模块1803,用于基于游戏场景对应的间接光照结果对游戏场景进行渲染,并展示渲染结果。
其中,光线路径满足渲染时间的条件。
此外,确定模块1801,还用于根据该对象的材质信息,确定发射光线从对象上直接返回至空间场景中的光源生成的直接光照结果;渲染模块1803,还用于根据直接光照结果以及间接光照结果,得到全局光照结果,以基于空间场景对应的全局光照结果,对空间场景进行渲染以及展示。
需要说明的是,对于装置1800未能提及的部分内容,可以参照上述装置1100的内容。
以上描述了装置1800的内部功能和结构,在一个可能的设计中,装置1800的结构可实现为计算设备,如,服务器。该设备1900可以包括:存储器1901以及处理器1902;
存储器1901,用于存储计算机程序。
处理器1902,用于执行计算机程序,以用于:基于查看操作,确定对应的待渲染的游戏场景;针对当前待渲染的游戏场景,确定游戏场景的发射光线;根据发射光线第一次相交于游戏场景中的对象,确定以该物体为起点,发射光线在游戏场景中形成的光线路径;根据光线路径以及游戏场景中与光线路径对应对象的材质信息,确定发射光线相对于该对象的间接光照结果;基于游戏场景对应的间接光照结果对游戏场景进行渲染,并展示渲染结果。
其中,光线路径满足渲染时间的条件。
此外,处理器1902,还用于根据该对象的材质信息,确定发射光线从对象上直接返回至空间场景中的光源生成的直接光照结果;根据直接光照结果以及间接光照结果,得到全局光照结果,以基于空间场景对应的全局光照结果,对空间场景进行渲染以及展示。
需要说明的是,对于设备1900未能提及的部分内容,可以参照上述设备1400的内容。
另外,本发明实施例提供了一种计算机存储介质,计算机程序被一个或多个处理器执行时,致使一个或多个处理器实现方法1700实施例中一种场景的渲染方法的步骤。
基于上述相似的发明构思,本申请另一示例性实施例提供的一种物体的渲染方法的流程示意图。本申请实施例提供的该方法2000可以由上述服务器执行,该方法2000包括以下步骤:
2001:针对当前待渲染的空间场景,确定空间场景的发射光线。
2002:根据发射光线第一次相交于空间场景中的物体,确定以该物体为起点,发射光线在空间场景中形成的光线路径。
2003:根据光线路径以及空间场景中与光线路径对应物体的材质信息,确定发射光线相对于该物体的间接光照结果。
2004:基于该物体对应的间接光照结果对物体进行渲染,并展示渲染结果。
其中,光线路径满足渲染时间的条件。
由于前文已经详细阐述过步骤2001-2004的具体实施方式,此处就不再赘述。仅说明:对于执行主体为智能终端的情况下,可以是智能终端直接进行渲染。且,应理解,在视角范围内只有空间场景中的一个物体的时候,可以只对该物体进行渲染以及展示。
此外,该方法2000还包括:根据该物体的材质信息,确定发射光线从物体上直接返回至空间场景中的光源生成的直接光照结果;根据直接光照结果以及间接光照结果,得到全局光照结果,以基于该物体对应的全局光照结果,对该物体进行渲染以及展示。
由于前文已经详细阐述过,此处就不再赘述。
另,本方法2000未能详细描述的内容,还可以参照上述方法200中的各个步骤。
本申请一示例性实施例提供的一种物体的渲染装置的结构框架示意图。该装置2100可以应用于服务器。该装置2100包括:确定模块2101、发射模块2102以及渲染模块2103;以下针对各个模块的功能进行详细的阐述:
确定模块2101,用于针对当前待渲染的空间场景,确定空间场景的发射光线。
发射模块2102,用于根据发射光线第一次相交于空间场景中的物体,确定以该物体为起点,发射光线在空间场景中形成的光线路径。
确定模块2101,用于根据光线路径以及空间场景中与光线路径对应物体的材质信息,确定发射光线相对于该物体的间接光照结果。
渲染模块2103,用于基于该物体对应的间接光照结果对物体进行渲染,并展示渲染结果。
其中,光线路径满足渲染时间的条件。
此外,确定模块2101,还用于根据该物体的材质信息,确定发射光线从物体上直接返回至空间场景中的光源生成的直接光照结果;渲染模块2103,还用于根据直接光照结果以及间接光照结果,得到全局光照结果,以基于该物体对应的全局光照结果,对该物体进行渲染以及展示。
需要说明的是,对于装置2100未能提及的部分内容,可以参照上述装置1100的内容。
以上描述了装置2100的内部功能和结构,在一个可能的设计中,装置2100的结构可实现为计算设备,如,服务器。该设备2200可以包括:存储器2201以及处理器2202;
存储器2201,用于存储计算机程序。
处理器2202,用于执行计算机程序,以用于:针对当前待渲染的空间场景,确定空间场景的发射光线;根据发射光线第一次相交于空间场景中的物体,确定以该物体为起点,发射光线在空间场景中形成的光线路径;根据光线路径以及空间场景中与光线路径对应物体的材质信息,确定发射光线相对于该物体的间接光照结果;基于该物体对应的间接光照结果对物体进行渲染,并展示渲染结果。
其中,光线路径满足渲染时间的条件。
此外,处理器2202,还用于:根据该物体的材质信息,确定发射光线从物体上直接返回至空间场景中的光源生成的直接光照结果;根据直接光照结果以及间接光照结果,得到全局光照结果,以基于该物体对应的全局光照结果,对该物体进行渲染以及展示。
需要说明的是,对于设备2200未能提及的部分内容,可以参照上述设备1400的内容。
另外,本发明实施例提供了一种计算机存储介质,计算机程序被一个或多个处理器执行时,致使一个或多个处理器实现方法2000实施例中一种物体的渲染方法的步骤。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如201、202、203等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程多媒体数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程多媒体数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程多媒体数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程多媒体数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (33)
1.一种场景的渲染方法,其特征在于,包括:
针对当前待渲染的空间场景,确定所述空间场景的发射光线;
根据所述发射光线第一次相交于所述空间场景中的物体,确定以该物体为起点,所述发射光线在所述空间场景中形成的光线路径;
根据所述光线路径以及所述空间场景中与所述光线路径对应物体的材质信息,确定所述发射光线相对于该物体的间接光照结果;
基于所述空间场景对应的间接光照结果对所述空间场景进行渲染,并展示渲染结果。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据该物体的材质信息,确定所述发射光线从该物体上直接返回至所述空间场景中的光源生成的直接光照结果;
根据所述直接光照结果以及所述间接光照结果,得到全局光照结果,以基于所述空间场景对应的全局光照结果,对所述空间场景进行渲染以及展示。
3.根据权利要求1所述的方法,其特征在于,所述针对当前待渲染的空间场景,确定所述空间场景的发射光线,包括:
通过虚拟摄像机,确定所述空间场景的发射光线。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在所述虚拟摄像机前设置有二维图像;
其中,所述确定所述空间场景的发射光线,包括:
通过虚拟摄像机向所述二维图像中的像素发射虚拟光线,以使所述发射虚拟光线通过该像素进入到所述空间场景中,从而确定该像素对应的全局光照结果。
5.根据权利要求1所述的方法,其特征在于,所述确定以该物体为起点,所述发射光线在所述空间场景中形成的光线路径,包括:
根据该物体的材质信息,确定所述光线路径。
6.根据权利要求5所述的方法,其特征在于,所述确定所述光线路径,包括:
根据所述材质信息,确定在该物体上产生不同光线路径对应的不同光线种类;
针对不同的光线种类,确定对应的光线路径。
7.根据权利要求6所述的方法,其特征在于,所述针对不同的光线种类,确定对应的光线路径,包括:
针对所述光线种类对应的光线,以该物体为起点,确定所述光线经过所述空间场景中的其它物体所生成的光线路径,作为所述对应的光线路径。
8.根据权利要求6所述的方法,其特征在于,当所述光线种类为漫反射的情况下,所述确定对应的光线路径,包括:
根据所述发射方向以及所述材质信息,确定在该物体上产生漫反射光线的漫反射方向范围;
根据预置的随机算法,在所述漫反射方向范围内选择漫反射方向;
根据所述漫反射方向,确定所述光线路径。
9.根据权利要求1所述的方法,其特征在于,所述根据所述光线路径以及所述空间场景中与所述光线路径对应物体的材质信息,确定所述发射光线相对于该物体的间接光照结果,包括:
针对每路光线路径中所经过的其它物体,根据光线路径的递归方式,确定每个其它物体对应的间接光照结果以及该物体的间接光照结果。
10.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据预置降噪算法,对所述间接光照结果进行降噪,以确定全局光照结果。
11.根据权利要求9所述的方法,其特征在于,所述方法还包括:
根据该物体的材质信息,确定出在该物体上产生不同光线路径对应的不同光线种类;
根据光线路径的递归方式,确定该物体的不同光线种类对应的不同间接光照结果;
根据预置降噪算法,对所述不同间接光照结果分别进行降噪,得到降噪后的不同间接光照结果;
根据降噪后的不同间接光照结果,得到降噪后的间接光照结果,以确定全局光照结果。
12.根据权利要求10或11所述的方法,其特征在于,所述方法还包括:
将降噪后的间接光照结果以及该物体的材质信息,得到校正后的间接光照结果;
根据校正后的间接光照结果确定全局光照结果。
13.根据权利要求1所述的方法,其特征在于,所述方法还包括:
针对该物体,确定所述空间场景中物体之间的阴影结果,所述阴影结果是根据所述空间场景中物体的间接光照生成的;
基于所述阴影结果、所述间接光照结果以及直接光照结果,确定全局光照结果。
14.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于不同的预置空间场景,获取对应的全局光照结果;
基于用户的选择操作,从不同的预置空间场景中选择对应的预置空间场景,并根据选择到的空间场景,确定对应的全局光照结果;
基于所述全局光照结果,对选择到的空间场景,进行渲染和展示。
15.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在展示渲染结果后,基于用户的修改操作,修改所述空间场景中的物体,并得到新的空间场景;
针对所述新的空间场景,执行所述确定所述空间场景的发射光线的步骤,以进行渲染和展示。
16.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于用户的渲染方式的选择操作,确定对应的渲染方式;
根据确定的渲染方式,对所述空间场景进行渲染。
17.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于用户对当前渲染方式的开启操作或关闭操作,开启或关闭对应的渲染方式;
在关闭当前渲染方式后,从其它渲染方式中选择渲染方式,对所述空间场景进行渲染。
18.一种场景的渲染方法,其特征在于,包括:
基于查看操作,确定对应的待渲染的室内空间场景;
针对当前待渲染的室内空间场景,确定所述室内空间场景的发射光线;
根据所述发射光线第一次相交于所述室内空间场景中的物体,确定以该物体为起点,所述发射光线在所述室内空间场景中形成的光线路径;
根据所述光线路径以及所述室内空间场景中与所述光线路径对应物体的材质信息,确定所述发射光线相对于该物体的间接光照结果;
基于所述室内空间场景对应的间接光照结果对所述室内空间场景进行渲染,并展示渲染结果。
19.根据权利要求18所述的方法,其特征在于,所述方法还包括:
基于对室内空间场景中物体的修改操作,生成新的室内空间场景;
针对所述新的室内空间场景,执行所述确定所述室内空间场景的发射光线的步骤,以对所述新的室内空间场景进行渲染以及展示。
20.根据权利要求18所述的方法,其特征在于,所述方法还包括:
基于对预置室内空间场景的选择操作,确定对应的预置室内空间场景;
根据确定的所述预置室内空间场景,确定对应的预置全局光照结果;
基于所述预置全局光照结果,对确定的所述预置室内空间场景进行渲染以及展示。
21.一种场景的渲染方法,其特征在于,包括:
基于查看操作,确定对应的待渲染的购物空间场景;
针对当前待渲染的购物空间场景,确定所述购物空间场景的发射光线;
根据所述发射光线第一次相交于所述购物空间场景中的物体,确定以该物体为起点,所述发射光线在所述购物空间场景中形成的光线路径;
根据所述光线路径以及所述购物空间场景中与所述光线路径对应物体的材质信息,确定所述发射光线相对于该物体的间接光照结果;
基于所述购物空间场景对应的间接光照结果对所述购物空间场景进行渲染,并展示渲染结果。
22.根据权利要求21所述的方法,其特征在于,所述方法还包括:
基于在购物空间场景中的移动操作,移动所述购物空间场景中的虚拟摄像机的位置;
基于移动后的虚拟摄像机,确定所述购物空间场景的发射光线,以对所述购物空间场景进行渲染以及展示。
23.根据权利要求21所述的方法,其特征在于,所述方法还包括:
基于场景的切换操作,确定新的购物空间场景;
针对新的购物空间场景,确定所述新的购物空间场景的发射光线,以对所述新的购物空间场景进行渲染以及展示。
24.一种场景的渲染方法,其特征在于,包括:
基于查看操作,确定对应的待渲染的游戏场景;
针对当前待渲染的游戏场景,确定所述游戏场景的发射光线;
根据所述发射光线第一次相交于所述游戏场景中的对象,确定以该物体为起点,所述发射光线在所述游戏场景中形成的光线路径;
根据所述光线路径以及所述游戏场景中与所述光线路径对应对象的材质信息,确定所述发射光线相对于该对象的间接光照结果;
基于所述游戏场景对应的间接光照结果对所述游戏场景进行渲染,并展示渲染结果。
25.根据权利要求24所述的方法,其特征在于,所述方法还包括:
根据该对象的材质信息,确定所述发射光线从所述对象上直接返回至所述空间场景中的光源生成的直接光照结果;
根据所述直接光照结果以及所述间接光照结果,得到全局光照结果,以基于所述空间场景对应的全局光照结果,对所述空间场景进行渲染以及展示。
26.一种物体的渲染方法,其特征在于,包括:
针对当前待渲染的空间场景,确定所述空间场景的发射光线;
根据所述发射光线第一次相交于所述空间场景中的物体,确定以该物体为起点,所述发射光线在所述空间场景中形成的光线路径;
根据所述光线路径以及所述空间场景中与所述光线路径对应物体的材质信息,确定所述发射光线相对于该物体的间接光照结果;
基于所述该物体对应的间接光照结果对所述物体进行渲染,并展示渲染结果。
27.根据权利要求26所述的方法,其特征在于,所述方法还包括:
根据该物体的材质信息,确定所述发射光线从所述物体上直接返回至所述空间场景中的光源生成的直接光照结果;
根据所述直接光照结果以及所述间接光照结果,得到全局光照结果,以基于该物体对应的全局光照结果,对该物体进行渲染以及展示。
28.一种计算设备,包括:存储器以及处理器;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述计算机程序,以用于:
针对当前待渲染的空间场景,确定所述空间场景的发射光线;
根据所述发射光线第一次相交于所述空间场景中的物体,确定以该物体为起点,所述发射光线在所述空间场景中形成的光线路径;
根据所述光线路径以及所述空间场景中与所述光线路径对应物体的材质信息,确定所述发射光线相对于该物体的间接光照结果;
基于所述空间场景对应的间接光照结果对所述空间场景进行渲染,并展示渲染结果。
29.一种计算设备,包括:存储器以及处理器;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述计算机程序,以用于:
针对当前待渲染的室内空间场景,确定所述室内空间场景的发射光线;
根据所述发射光线第一次相交于所述室内空间场景中的物体,以该物体为起点,确定所述发射光线在所述室内空间场景中形成的光线路径;
根据所述光线路径以及所述室内空间场景中与所述光线路径对应物体的材质信息,确定所述发射光线相对于该物体的间接光照结果;
基于所述室内空间场景对应的间接光照结果对所述室内空间场景进行渲染,并展示渲染结果。
30.一种计算设备,包括:存储器以及处理器;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述计算机程序,以用于:
基于查看操作,确定对应的待渲染的购物空间场景;
针对当前待渲染的购物空间场景,确定所述购物空间场景的发射光线;
根据所述发射光线第一次相交于所述购物空间场景中的物体,确定以该物体为起点,所述发射光线在所述购物空间场景中形成的光线路径;
根据所述光线路径以及所述购物空间场景中与所述光线路径对应物体的材质信息,确定所述发射光线相对于所述该物体的间接光照结果;
基于所述购物空间场景对应的间接光照结果对所述购物空间场景进行渲染,并展示渲染结果。
31.一种计算设备,包括:存储器以及处理器;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述计算机程序,以用于:
基于查看操作,确定对应的待渲染的游戏场景;
针对当前待渲染的游戏场景,确定所述游戏场景的发射光线;
根据所述发射光线第一次相交于所述游戏场景中的对象,确定以该物体为起点,所述发射光线在所述游戏场景中形成的光线路径;
根据所述光线路径以及所述游戏场景中与所述光线路径对应对象的材质信息,确定所述发射光线相对于该对象的间接光照结果;
基于所述游戏场景对应的间接光照结果对所述游戏场景进行渲染,并展示渲染结果。
32.一种计算设备,包括:存储器以及处理器;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述计算机程序,以用于:
针对当前待渲染的空间场景,确定所述空间场景的发射光线;
根据所述发射光线第一次相交于所述空间场景中的物体,确定以该物体为起点,所述发射光线在所述空间场景中形成的光线路径;
根据所述光线路径以及所述空间场景中与所述光线路径对应物体的材质信息,确定所述发射光线相对于该物体的间接光照结果;
基于所述该物体对应的间接光照结果对所述物体进行渲染,并展示渲染结果。
33.一种存储有计算机程序的计算机可读存储介质,其特征在于,计算机程序被一个或多个处理器执行时,致使所述一个或多个处理器实现权利要求1-27任一项所述方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010889632.3A CN113298924A (zh) | 2020-08-28 | 2020-08-28 | 一种场景的渲染方法、计算设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010889632.3A CN113298924A (zh) | 2020-08-28 | 2020-08-28 | 一种场景的渲染方法、计算设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113298924A true CN113298924A (zh) | 2021-08-24 |
Family
ID=77318617
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010889632.3A Pending CN113298924A (zh) | 2020-08-28 | 2020-08-28 | 一种场景的渲染方法、计算设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113298924A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113674389A (zh) * | 2021-10-25 | 2021-11-19 | 深圳须弥云图空间科技有限公司 | 场景渲染方法、装置、电子设备及存储介质 |
CN114708378A (zh) * | 2022-06-08 | 2022-07-05 | 中汽数据(天津)有限公司 | 汽车相机仿真模拟方法、电子设备和存储介质 |
CN116129058A (zh) * | 2023-04-13 | 2023-05-16 | 图林科技(深圳)有限公司 | 一种基于人工智能的云端展会三维建模与渲染方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110073164A (ko) * | 2009-12-21 | 2011-06-29 | 한국전자통신연구원 | 복잡한 재질감 정보 처리 장치 및 방법 |
CN103279974A (zh) * | 2013-05-15 | 2013-09-04 | 中国科学院软件研究所 | 一种高精度高分辨率卫星成像模拟引擎及实现方法 |
US20130293547A1 (en) * | 2011-12-07 | 2013-11-07 | Yangzhou Du | Graphics rendering technique for autostereoscopic three dimensional display |
CN104200509A (zh) * | 2014-08-19 | 2014-12-10 | 山东大学 | 一种基于点缓存的光子映射加速方法 |
CN105261059A (zh) * | 2015-09-18 | 2016-01-20 | 浙江大学 | 一种基于在屏幕空间计算间接反射高光的渲染方法 |
CN105825544A (zh) * | 2015-11-25 | 2016-08-03 | 维沃移动通信有限公司 | 一种图像处理方法及移动终端 |
CN106662925A (zh) * | 2014-07-25 | 2017-05-10 | 微软技术许可有限责任公司 | 使用头戴式显示器设备的多用户注视投影 |
CN109448084A (zh) * | 2017-08-23 | 2019-03-08 | 当家移动绿色互联网技术集团有限公司 | 一种基于体素化全局光照算法进行光贴图烘培的算法 |
CN111340928A (zh) * | 2020-02-19 | 2020-06-26 | 杭州群核信息技术有限公司 | 一种结合光线跟踪的Web端实时混合渲染方法、装置及计算机设备 |
-
2020
- 2020-08-28 CN CN202010889632.3A patent/CN113298924A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110073164A (ko) * | 2009-12-21 | 2011-06-29 | 한국전자통신연구원 | 복잡한 재질감 정보 처리 장치 및 방법 |
US20130293547A1 (en) * | 2011-12-07 | 2013-11-07 | Yangzhou Du | Graphics rendering technique for autostereoscopic three dimensional display |
CN103279974A (zh) * | 2013-05-15 | 2013-09-04 | 中国科学院软件研究所 | 一种高精度高分辨率卫星成像模拟引擎及实现方法 |
CN106662925A (zh) * | 2014-07-25 | 2017-05-10 | 微软技术许可有限责任公司 | 使用头戴式显示器设备的多用户注视投影 |
CN104200509A (zh) * | 2014-08-19 | 2014-12-10 | 山东大学 | 一种基于点缓存的光子映射加速方法 |
CN105261059A (zh) * | 2015-09-18 | 2016-01-20 | 浙江大学 | 一种基于在屏幕空间计算间接反射高光的渲染方法 |
CN105825544A (zh) * | 2015-11-25 | 2016-08-03 | 维沃移动通信有限公司 | 一种图像处理方法及移动终端 |
CN109448084A (zh) * | 2017-08-23 | 2019-03-08 | 当家移动绿色互联网技术集团有限公司 | 一种基于体素化全局光照算法进行光贴图烘培的算法 |
CN111340928A (zh) * | 2020-02-19 | 2020-06-26 | 杭州群核信息技术有限公司 | 一种结合光线跟踪的Web端实时混合渲染方法、装置及计算机设备 |
Non-Patent Citations (2)
Title |
---|
刘成浩;: "路径追踪中出射光线方向的快速采样方法", 中国图象图形学报, no. 11, 16 November 2018 (2018-11-16), pages 95 - 107 * |
汪浩文;张捷;: "全局光照下古建筑场景的仿真渲染研究", 重庆理工大学学报(自然科学), no. 11, 15 November 2018 (2018-11-15), pages 146 - 152 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113674389A (zh) * | 2021-10-25 | 2021-11-19 | 深圳须弥云图空间科技有限公司 | 场景渲染方法、装置、电子设备及存储介质 |
CN113674389B (zh) * | 2021-10-25 | 2022-03-01 | 深圳须弥云图空间科技有限公司 | 场景渲染方法、装置、电子设备及存储介质 |
CN114708378A (zh) * | 2022-06-08 | 2022-07-05 | 中汽数据(天津)有限公司 | 汽车相机仿真模拟方法、电子设备和存储介质 |
CN114708378B (zh) * | 2022-06-08 | 2022-08-16 | 中汽数据(天津)有限公司 | 汽车相机仿真模拟方法、电子设备和存储介质 |
CN116129058A (zh) * | 2023-04-13 | 2023-05-16 | 图林科技(深圳)有限公司 | 一种基于人工智能的云端展会三维建模与渲染方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8692825B2 (en) | Parallelized streaming accelerated data structure generation | |
CN113298924A (zh) | 一种场景的渲染方法、计算设备及存储介质 | |
US8619078B2 (en) | Parallelized ray tracing | |
WO2021228031A1 (zh) | 渲染方法、设备以及系统 | |
CN113034656B (zh) | 游戏场景中光照信息的渲染方法、装置及设备 | |
CN111340928A (zh) | 一种结合光线跟踪的Web端实时混合渲染方法、装置及计算机设备 | |
US11049315B2 (en) | Methods and devices for bifurcating graphics rendering between a media player device and a multi-access edge compute server | |
US8533615B1 (en) | Systems and methods for order-independent rendering of graphical objects using operating system resources | |
CN113674389A (zh) | 场景渲染方法、装置、电子设备及存储介质 | |
US20230230311A1 (en) | Rendering Method and Apparatus, and Device | |
US20240029338A1 (en) | Ray-tracing with irradiance caches | |
CN112712582A (zh) | 动态全局光照方法、电子设备及计算机可读存储介质 | |
Yao et al. | Multi‐image based photon tracing for interactive global illumination of dynamic scenes | |
CN107492142B (zh) | 3d渲染的基于照明引导示例的风格化 | |
US9483873B2 (en) | Easy selection threshold | |
CN116758208A (zh) | 全局光照渲染方法、装置、存储介质及电子设备 | |
CN116485973A (zh) | 虚拟对象的材质生成方法、电子设备和存储介质 | |
Haefner et al. | Recovering real-world reflectance properties and shading from HDR imagery | |
CN114119834A (zh) | 渲染方法、装置、电子设备及可读存储介质 | |
US9626791B2 (en) | Method for representing a participating media in a scene and corresponding device | |
CN114596401A (zh) | 渲染方法、设备以及系统 | |
CN115761105A (zh) | 光照渲染方法、装置、电子设备及存储介质 | |
CN115359172A (zh) | 渲染方法及相关装置 | |
WO2024193219A1 (zh) | 虚拟场景的光照更新方法、装置、电子设备、计算机可读存储介质及计算机程序产品 | |
CN110832549A (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 |