CN115994974A - 场景渲染方法、装置、电子设备及存储介质 - Google Patents
场景渲染方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115994974A CN115994974A CN202310003052.3A CN202310003052A CN115994974A CN 115994974 A CN115994974 A CN 115994974A CN 202310003052 A CN202310003052 A CN 202310003052A CN 115994974 A CN115994974 A CN 115994974A
- Authority
- CN
- China
- Prior art keywords
- scene
- rendered
- ray
- visible
- position coordinate
- 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
Images
Landscapes
- Image Generation (AREA)
Abstract
本公开关于一种场景渲染方法、装置、电子设备及存储介质,该方法包括:获取待渲染场景,以及获取进行场景渲染时虚拟目标所在的位置坐标;从所述待渲染场景的预计算结果中,获取所述位置坐标对应的可见的物体,一个物体对应一个位置坐标可见表征该位置坐标发出的光线与该物体相交,和/或该位置坐标发出的光线经过投射后与该物体相交;对所述可见的物体进行渲染,得到所述位置坐标对应的渲染后的场景。本公开中,可见的物体包括与光线和/或该光线经过投射后的光线相交的物体,实现了将本身可见的物体和/或阴影可见的物体,都确定为可见的物体,避免了错误地将仅有阴影可见的物体进行剔除,导致渲染结果不真实的缺点。
Description
技术领域
本公开涉及计算机视觉技术领域,尤其涉及一种场景渲染方法、装置、电子设备及存储介质。
背景技术
随着场景规模越来越大,建模精度越来越高,场景渲染对算力和内存的要求越来越高。场景渲染过程中,视野中可见的物体占整个场景的数据比例通常不高,因此,可以通过剔除视野中不可见的物体,降低渲染过程中的数据量,从而优化算力和内存占用。
为了剔除视野中不可见的物体,相关技术采用光栅化算法,遍历场景中每一个物体,判断物体的可见性。然而,此种方法容易产生错误的剔除。
发明内容
为克服相关技术中存在的问题,本公开提供一种场景渲染方法、装置、电子设备及存储介质。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种场景渲染方法,包括:
获取待渲染场景,以及获取进行场景渲染时虚拟目标所在的位置坐标;
从所述待渲染场景的预计算结果中,获取所述位置坐标对应的可见的物体,一个物体对应一个位置坐标可见表征该位置坐标发出的光线与该物体相交,和/或该位置坐标发出的光线经过投射后与该物体相交;
对所述可见的物体进行渲染,得到所述位置坐标对应的渲染后的场景。
可选地,在所述从所述待渲染场景的预计算结果中,获取所述位置坐标对应的可见的物体之前,还包括:
获取所述待渲染场景,以及获取所述虚拟目标的多个候选位置坐标;
计算所述待渲染场景中,与从每一所述候选位置坐标发出的光线发生相交的物体;
计算所述待渲染场景中,与所述光线的多段投射光线发生相交的物体;
将与每一所述候选位置坐标发出的所述光线和/或所述光线的多段投射光线相交的物体,作为该候选位置坐标对应的可见的物体,得到所述预计算结果。
可选地,所述计算所述待渲染场景中,与所述光线的多段投射光线发生相交的物体,包括:
获取从每一所述候选位置坐标发出的所述光线在与物体发生相交后,产生的第一投射光线;
计算所述待渲染场景中,与所述第一投射光线发生相交的物体;
获取所述第一投射光线在与物体发生相交后,产生的第二投射光线;
计算所述待渲染场景中,与所述第二投射光线发生相交的物体;
多次迭代产生投射光线,以及所述投射光线与物体相交的过程,得到所述待渲染场景中与所述光线的多段投射光线发生相交的物体。
可选地,所述计算所述待渲染场景中,与所述光线的多段投射光线发生相交的物体,包括:
获取渲染所述待渲染场景采用的光线投射次数N;
获取从每一所述候选位置坐标发出的光线经过N次投射,产生的N段投射光线;
计算所述待渲染场景中,与所述N段投射光线发生相交的物体。
可选地,所述计算所述待渲染场景中,与从每一所述候选位置坐标发出的光线发生相交的物体,包括:
在每一所述候选位置坐标,发出多条光线,所述多条光线的方向包括多个不同的方向;
计算所述待渲染场景中,与从每一所述候选位置坐标发出的所述多条光线发生相交的物体。
可选地,在所述获取所述虚拟目标的多个候选位置坐标之前,还包括:
获取所述虚拟目标的可移动区域;
将所述可移动区域划分为多个网格;
将每一所述网格所在的位置坐标,确定为所述虚拟目标的一个所述候选位置坐标;
所述获取进行场景渲染时虚拟目标所在的位置坐标,包括:
获取进行场景渲染时,所述虚拟目标所在的目标网格;
将所述目标网格的位置坐标,作为所述虚拟目标所在的位置坐标。
可选地,所述获取待渲染场景,包括:
获取所述待渲染场景的描述信息,所述描述信息至少包括以下任意一种或多种:几何、视点、纹理、材质和照明。
根据本公开实施例的第二方面,提供一种场景渲染装置,包括:
获取模块,被配置为获取待渲染场景,以及获取进行场景渲染时虚拟目标所在的位置坐标;
物体获取模块,被配置为从所述待渲染场景的预计算结果中,获取所述位置坐标对应的可见的物体,一个物体对应一个位置坐标可见表征该位置坐标发出的光线与该物体相交,和/或该位置坐标发出的光线经过投射后与该物体相交;
渲染模块,被配置为对所述可见的物体进行渲染,得到所述位置坐标对应的渲染后的场景。
根据本公开实施例的第三方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如第一方面所述的场景渲染方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如第一方面所述的场景渲染方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的场景渲染方法。
本公开的实施例提供的技术方案可以包括以下有益效果:
本公开中,一个物体对应一个位置坐标是否可见,不仅仅是根据该位置坐标发出的光线是否与该物体相交进行判断,还根据该位置坐标发出的光线经过投射后是否与该物体相交进行判断。一个位置坐标发出的光线与一个物体相交,证明该物体本身可见;一个位置坐标发出的光线经过投射后与一个物体相交,证明该物体的阴影可见。如此,确定的一个位置坐标对应的可见的物体,不仅仅是本身可见的物体,还可以是阴影可见的物体。从而避免了错误地将仅有阴影可见的物体进行剔除,导致渲染得到的结果不真实的缺点;实现了既降低了渲染过程的数据量,又能得到较为真实的渲染结果。
此外,位置坐标对应的可见物体是预计算得到的,在进行场景渲染时直接从预计算结果中进行获取即可,预计算过程与渲染过程分离,降低了渲染时的运算压力。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是两个物体的图像;
图2是根据一示例性实施例示出的一种场景渲染方法的流程图;
图3是本公开中看到阴影的光线示意图;
图4是本公开中投射光线发生相交的物体的图像;
图5是本公开中场景渲染方法的流程示意图;
图6是根据一示例性实施例示出的一种场景渲染装置的框图;
图7是根据一示例性实施例示出的一种用于场景渲染的装置的框图;
图8是根据一示例性实施例示出的一种用于场景渲染的装置的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是两个物体的图像,从图1可以看出,一共存在两个物体,但当从前面的物体的正面看时,只能看到前面的物体,后面的物体是不可见的,然而,后面的物体的阴影是可见的。相关技术中,会直接将后面的物体的判断为不可见,从而在进行渲染时不对后面的物体进行渲染。当不对后面的物体进行渲染时,自然也不会渲染出后面的物体的阴影,从而导致渲染结果和真实结果不符,导致渲染结果不真实。
图2是根据一示例性实施例示出的一种场景渲染方法的流程图,如图2所示,该场景渲染方法可以用于计算机、手机、平板电脑等电子设备中,包括以下步骤。
在步骤S11中,获取待渲染场景,以及获取进行场景渲染时虚拟目标所在的位置坐标。
待渲染场景可以为三维场景或虚拟场景等。获取待渲染场景,可以是获取输入的待渲染场景的描述信息。待渲染场景的描述信息应是数据结构进行严格定义的三维物体或虚拟场景的描述信息,待渲染场景的描述信息至少包括以下任意一种或多种:几何、视点、纹理、材质和照明。基于待渲染场景的描述信息,可以进行待渲染场景的渲染。
虚拟目标为“观察”渲染的场景的目标,也可以理解为提供视角的目标。例如,虚拟目标可以为相机;在待渲染场景为游戏场景时,虚拟目标可以为游戏中的人物。虚拟目标所在的位置坐标可以为待渲染场景中的位置坐标。
在进行场景渲染时,可以是输入待渲染场景的描述信息和虚拟目标的可移动区域,根据虚拟目标所在的位置坐标,为虚拟目标渲染该位置坐标可见的物体。随着虚拟目标所在的位置坐标的变化,可见的物体也存在不同,因此渲染的物体也不同。
在步骤S12中,从所述待渲染场景的预计算结果中,获取所述位置坐标对应的可见的物体,一个物体对应一个位置坐标可见表征该位置坐标发出的光线与该物体相交,和/或该位置坐标发出的光线经过投射后与该物体相交。
虚拟目标在一个位置坐标可见的物体为:该虚拟目标在该位置坐标时,从各个角度中的至少一个角度可见的物体。因此,一个物体对应一个位置坐标可见表征该位置坐标发出的各个方向的光线中的至少一条光线与该物体相交,和/或该位置坐标发出的各个方向的光线中的至少一条光线经过投射后与该物体相交。
待渲染场景的预计算结果是在进行场景渲染之前预先计算好的,预计算结果中包括了虚拟目标的各个位置坐标各自对应的可见的物体。不同位置坐标对应的可见的物体可能相同或不同。例如,一共有3个物体,分别为物体A、物体B和物体C,虚拟目标可以处于两个位置坐标,第一个位置坐标对应的可见物体为物体A和物体B,第二个位置坐标对应的可见物体为物体B和物体C。
一个物体对应一个位置坐标可见表征在该位置坐标可以看见该物体和/或看到该物体的阴影。在一个位置坐标可以看见一个物体,证明该物体发出的各个方向的光线中的至少一条光线可以进入到该位置坐标,根据光路可逆的原理,则该位置坐标发出的各个方向的光线中的至少一条光线可以与该物体相交。
在一个位置坐标可以看见一个物体的阴影,证明该物体的阴影发出的各个方向的光线中的至少一条光线可以进入到该位置坐标。图3是本公开中看到阴影的光线示意图,一个物体的阴影是光在传播过程中遇到该物体,在该物体后面光线无法到达的区域会形成的暗区,而看到阴影则是阴影的光线进入到人眼。因此,根据光路可逆的原理,在一个位置坐标看到一个物体的阴影,证明该位置坐标发出的光线经过投射后可以与该物体相交。其中,投射包括反射和漫反射。
在步骤S13中,对所述可见的物体进行渲染,得到所述位置坐标对应的渲染后的场景。
剔除待渲染场景中,在该位置坐标不可见的物体,对待渲染场景中在该位置坐标可见的物体进行渲染,得到该位置坐标对应的渲染后场景。其中,对可见的物体进行渲染可以是由渲染引擎实现的,也可以是利用相关技术中的渲染算法完成的,本发明对此不作限制。
采用本公开实施例的技术方案,一个物体对应一个位置坐标是否可见,不仅仅是根据该位置坐标发出的光线是否与该物体相交进行判断,还根据该位置坐标发出的光线经过投射后是否与该物体相交进行判断。一个位置坐标发出的光线与一个物体相交,证明该物体本身可见;一个位置坐标发出的光线经过投射后与一个物体相交,证明该物体的阴影可见。如此,确定的一个位置坐标对应的可见的物体,不仅仅是本身可见的物体,还可以是阴影可见的物体。从而避免了错误地将仅有阴影可见的物体进行剔除,导致渲染得到的结果不真实的缺点;实现了既降低了渲染过程的数据量,又能得到较为真实的渲染结果。
此外,位置坐标对应的可见物体是预计算得到的,在进行场景渲染时直接从预计算结果中进行获取即可,预计算过程与渲染过程分离,降低了渲染时的运算压力。
可选地,在上述技术方案的基础上,在从待渲染场景的预计算结果中,获取虚拟目标的位置坐标对应的可见的物体之前,需要先计算得到待渲染场景的预计算结果。
获取待渲染场景,以及获取虚拟目标的多个候选位置坐标。获取待渲染场景的方法可以参照前文。虚拟目标的多个候选位置坐标为虚拟目标的可移动区域中的位置坐标。因为虚拟目标可能位于可移动区域中的任意位置,因此,为了保证场景渲染过程中可以获取到任意位置对应的可见的物体,针对虚拟目标的每个候选位置坐标都计算出该候选位置坐标对应的可见的物体。
针对每一候选位置坐标,计算待渲染场景中,与该候选位置坐标发出的光线发生相交的物体,以及与该候选位置坐标发出的光线的多段投射光线发生相交的物体。光线的投射光线,是指该光线的光路在改变后的光线,例如,一段光线从A点出发,与物体B相交,并在相交后发生发射,转而指向物体C,从物体B到物体C的光线,为从A点到物体B的光线的投射光线。可以理解的是,投射光线在与物体相交后,还会再次进行投射。光线A发生投射后产生了光线B,光线B发生投射后产生了光线C,其中,光线C既是光线B的投射光线,也是光线A的投射光线。
针对每一候选位置坐标,根据光路可逆远离,将与该候选位置坐标发出的光线相交的物体,和/或将与该候选位置坐标发出的光线的投射光线相交的物体,作为该候选位置坐标可见的物体,从而得到预计算结果。
图4是本公开中投射光线发生相交的物体的图像,该光线与地面相交后产生投射光线,投射光线可以与后面的物体相交,因此,后面的物体的可见性判定应该为可见。
采用本公开实施例的技术方案,可以预先计算出虚拟目标在每个候选位置坐标对应的可见的物体,从而得到预计算结果。其中,每个候选位置坐标对应的可见的物体,包括与该候选位置坐标发出的光线相交的物体,以及与该候选位置坐标发出的光线的多段投射光线相交的物体,如此,一个物体可见包括该物体本身可见,和/或该物体的阴影可见。
可选地,在上述技术方案的基础上,计算待渲染场景中,与光线的多段投射光线发生相交的物体,可以包括:获取从每一候选位置坐标发出的光线在与物体发生相交后,产生的第一投射光线;计算待渲染场景中,与第一投射光线发生相交的物体;获取第一投射光线在与物体发生相交后,产生的第二投射光线;计算待渲染场景中,与第二投射光线发生相交的物体;多次迭代产生投射光线,以及投射光线与物体相交的过程,得到待渲染场景中与光线的多段投射光线发生相交的物体。
第一投射光线为候选位置坐标发出的光线在与物体发生相交后产生的投射光线,第二投射光线为第一投射光线在与物体发生相交后产生的投射光线,以此类推,第三投射光线为第二投射光线在与物体发生相交后产生的投射光线。
投射光线与物体发生相交后会产生新的投射光线,新的投射光线会与物体发生相交。多次迭代产生投射光线,以及投射光线与物体发生相交的过程,将与每段投射光线发生相交的物体确定为可见的物体,从而得到渲染场景中与光线的多段投射光线发生相交的物体。
可以理解的是,当一段光线或投射光线不与任何物体发生相交,则该光线对应的迭代过程自然终止。
如此,可以产生多段投射光线,并根据多段投射光线确定待渲染场景中的可见的物体。
可选地,在上述技术方案的基础上,光线会产生多少段投射光线,可以是根据设置的渲染场景采用的光线投射次数确定的。
可以获取渲染待渲染场景时将要采用的光线投射次数N,N为正整数,N的取值可以根据实际情况进行设置。N越大,渲染质量越高,但所需的算力也越高。
获取每一候选位置坐标发出光线经过N次投射,产生的N段投射光线;并计算待渲染场景中,与N段投射光线发生相交的物体。可以理解的是,当一段光线或投射光线不与任何物体发生相交,则不再该光线或该投射光线不再产生投射光线。
例如,若N为3,则对于一个候选位置坐标发出的一段光线,可以发生3次投射,可以获取到3段投射光线。在该光线与物体A相交产生第一段投射光线时,可以将物体A确定为相对于该候选位置坐标可见的物体;在该第一段投射光线与物体B相交产生第二段投射光线时,可以将物体B确定为相对于该候选位置坐标可见的物体;在该第二段投射光线与物体C相交产生第三段投射光线时,可以将物体C确定为相对于该候选位置坐标可见的物体。
若N为3,当对于一个候选位置坐标发出的一段光线,仅仅发生了2次投射,则可以获取到2段投射光线。在该光线与物体A相交产生第一段投射光线时,可以将物体A确定为相对于该候选位置坐标可见的物体;在该第一段投射光线与物体B相交产生第二段投射光线时,可以将物体B确定为相对于该候选位置坐标可见的物体;然而第二段投射光线不与任何物体相交,因此终止产生投射光线的过程。
如此,将预计算过程中光线的投射次数确定为渲染待渲染场景采用的光线投射次数,可以保证确定的预计算结果的精确度与渲染的精确度相同,避免了预计算过程中光线的投射次数过多或过少导致计算结果,与渲染时要求的结果不同的情况。
可选地,在上述技术方案的基础上,在每一候选位置坐标发出的光线,包括多条光线,且每条光线的方向不同。在计算待渲染场景中,与从每一候选位置坐标发出的光线发生相交的物体时,需要计算与从每一候选位置坐标发出的不同方向的多条光线发生相交的物体。
因为虚拟目标在一个位置坐标是可以转动的,而不同方向对应的可见的物体不同,因此,在确定可见的物体时,需要从该位置坐标发出多条不同方向的光线,并确定与多条不同方向的光线相交的物体。
相关技术中,为了确定在位置A是否能看到物体B,是直接从位置A发出指向物体B的光线,判断该光线是否与物体B相交,其中并不通过光线的投射光线是否与物体B相交来判断物体B是否可见。
本公开实施例中,因为物体B可见包括物体B的阴影可见,而物体B本身可能是不可见的,因此不能直接从位置A发出指向物体B的光线,判断该光线是否与物体B相交,而应该发出多个任意方向的光线,在计算该多个任意方向的光线是否与物体B相交之外,还应该计算该多个任意方向的光线的投射光线是否与物体B相交。
如此,考虑到物体可见包括物体本身可见和/或物体的阴影可见,因此,发出的光线包括多个不同方向的光线,且计算了多个不同方向的光线的投射光线是否与物体相交,以准确判断一个物体是否可见。
可选地,在上述技术方案的基础上,可以获取虚拟目标的可移动区域,并将虚拟目标的可移动区域划分为多个网格,将每一网格所在的位置坐标,确定为虚拟目标的一个候选位置坐标。其中,网格的划分方法可以采用自动规则划分、手动指定或自适应分割划分等方法,本公开对此不作限制。
网格的大小可以根据实际需求进行划分,网格越大得到的预计算结果的数据量越小,耗费的算力越小,但结果的精确度越低,网格越小得到的预计算结果的数据量越大,耗费的算力越大,但结果的精确度越高。
网格的位置坐标可以为网格的中心点的位置坐标,处于该网格内的虚拟目标的候选位置坐标或位置坐标,都为该网格的位置坐标。例如,两个虚拟目标相邻站立,但两个虚拟目标实际都处于同一网格内,则该两个虚拟目标的位置坐标相同。
在获取进行场景渲染时虚拟目标所在的位置坐标时,可以是获取进行场景渲染时,虚拟目标所在的目标网格,并将目标网格的位置坐标,作为虚拟目标所在的位置坐标。
从每一候选位置坐标发出光线,可以是从该候选位置坐标所处的网格的中心或边缘或其它位置发出的光线。
如此,将虚拟目标的可移动区域划分为多个网格,可以有效降低数据量,提升计算效率。
图5是本公开中场景渲染方法的流程示意图,其中,包括预计算过程和渲染过程。
在预计算过程,输入待渲染场景和系统配置,输入的待渲染场景应是数据结构进行严格定义的三维物体或虚拟场景的描述,包括几何、视点、纹理、材质、照明等信息;系统配置包括虚拟目标的可移动区域。对虚拟目标的可移动区域进行网格划分,划分方法可采用自动规则划分、手动指定或自适应分割划分等方法。然后进行可见性判定,从网格边缘随机位置,随机向待渲染场景射出光线,当光线与待渲染场景中任意物体第一次相交,即记录该物体可见,并从光线与物体的交点,继续投射下一段光线。将与下一段光线相交的物体记录为可见。该过程可多次迭代,即光线和物体相交后再次投射,投射光线和物体相交,并标记相交的物体可见。迭代次数应与渲染过程中光线追踪渲染所采用的光线弹射次数相同。从一个网格边缘随机位置不断随机发出光线,最终可确定待渲染场景中各物体相对于该网格的可见性。针对每个网格都确定各物体的可见性,按顺序将每个网格单元对应的物体的可见性排列储存。在每一个网格,都对应储存了从该网格出发,待渲染场景中所有物体的可见性。
在渲染过程中,输入待渲染场景和系统配置,并确定虚拟目标所在的网格。从存储的预计算结果中,获取虚拟目标所在的网格对应的待渲染场景中各个物体的可见性,剔除待渲染场景中不可见的物体,并对待渲染场景中可见的物体进行渲染。
如此,成功剔除渲染过程中在虚拟目标视野中不可见的物体,降低数据规模,降低了渲染的算力与内存压力。利用了光路可逆的物理特性,通过路径追踪渲染,正确预计算判断光线追踪渲染中物体的可见性。预计算过程与渲染过程分离,降低渲染时的运算压力。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
图6是根据一示例性实施例示出的一种场景渲染装置的框图,参照图6,该装置包括获取模块61、物体获取模块62和渲染模块63。
获取模块61,被配置为获取待渲染场景,以及获取进行场景渲染时虚拟目标所在的位置坐标;
物体获取模块62,被配置为从所述待渲染场景的预计算结果中,获取所述位置坐标对应的可见的物体,一个物体对应一个位置坐标可见表征该位置坐标发出的光线与该物体相交,和/或该位置坐标发出的光线经过投射后与该物体相交;
渲染模块63,被配置为对所述可见的物体进行渲染,得到所述位置坐标对应的渲染后的场景。
可选地,在所述从所述待渲染场景的预计算结果中,获取所述位置坐标对应的可见的物体之前,还包括:
候选获取模块,被配置为获取所述待渲染场景,以及获取所述虚拟目标的多个候选位置坐标;
第一计算模块,被配置为计算所述待渲染场景中,与从每一所述候选位置坐标发出的光线发生相交的物体;
第二计算模块,被配置为计算所述待渲染场景中,与所述光线的多段投射光线发生相交的物体;
确定模块,被配置为将与每一所述候选位置坐标发出的所述光线和/或所述光线的多段投射光线相交的物体,作为该候选位置坐标对应的可见的物体,得到所述预计算结果。
可选地,所述第二计算模块包括:
第一获取单元,被配置为获取从每一所述候选位置坐标发出的所述光线在与物体发生相交后,产生的第一投射光线;
第一计算单元,被配置为计算所述待渲染场景中,与所述第一投射光线发生相交的物体;
第二获取单元,被配置为获取所述第一投射光线在与物体发生相交后,产生的第二投射光线;
第二计算单元,被配置为计算所述待渲染场景中,与所述第二投射光线发生相交的物体;
迭代单元,被配置为多次迭代产生投射光线,以及所述投射光线与物体相交的过程,得到所述待渲染场景中与所述光线的多段投射光线发生相交的物体。
可选地,所述第二计算模块包括:
次数获取单元,被配置为获取渲染所述待渲染场景采用的光线投射次数N;
投射光线获取单元,被配置为获取从每一所述候选位置坐标发出的光线经过N次投射,产生的N段投射光线;
N段计算单元,被配置为计算所述待渲染场景中,与所述N段投射光线发生相交的物体。
可选地,所述第一计算模块包括:
发出单元,被配置为在每一所述候选位置坐标,发出多条光线,所述多条光线的方向包括多个不同的方向;
相交计算单元,被配置为计算所述待渲染场景中,与从每一所述候选位置坐标发出的所述多条光线发生相交的物体。
可选地,在所述获取所述虚拟目标的多个候选位置坐标之前,还包括:
可移动区域获取模块,被配置为获取所述虚拟目标的可移动区域;
划分模块,被配置为将所述可移动区域划分为多个网格;
坐标确定模块,被配置为将每一所述网格所在的位置坐标,确定为所述虚拟目标的一个所述候选位置坐标;
所述候选获取模块包括:
问个确定单元,被配置为获取进行场景渲染时,所述虚拟目标所在的目标网格;
坐标确定单元,被配置为将所述目标网格的位置坐标,作为所述虚拟目标所在的位置坐标。
可选地,所述获取模块61包括:
描述信息获取单元,被配置为获取所述待渲染场景的描述信息,所述描述信息至少包括以下任意一种或多种:几何、视点、纹理、材质和照明。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图7是根据一示例性实施例示出的一种用于场景渲染的装置700的框图。例如,装置700可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图7,装置700可以包括以下一个或多个组件:处理组件702,存储器704,电力组件706,多媒体组件708,音频组件710,输入/输出(I/O)的接口712,传感器组件714,以及通信组件716。
处理组件702通常控制装置700的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件702可以包括一个或多个处理器720来执行指令,以完成上述场景渲染方法的全部或部分步骤。此外,处理组件702可以包括一个或多个模块,便于处理组件702和其他组件之间的交互。例如,处理组件702可以包括多媒体模块,以方便多媒体组件708和处理组件702之间的交互。
存储器704被配置为存储各种类型的数据以支持在装置700的操作。这些数据的示例包括用于在装置700上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器704可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件706为装置700的各种组件提供电力。电源组件706可以包括电源管理系统,一个或多个电源,及其他与为装置700生成、管理和分配电力相关联的组件。
多媒体组件708包括在所述装置700和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件708包括一个前置摄像头和/或后置摄像头。当装置700处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件710被配置为输出和/或输入音频信号。例如,音频组件710包括一个麦克风(MIC),当装置700处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器704或经由通信组件716发送。在一些实施例中,音频组件710还包括一个扬声器,用于输出音频信号。
I/O接口712为处理组件702和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件714包括一个或多个传感器,用于为装置700提供各个方面的状态评估。例如,传感器组件714可以检测到装置700的打开/关闭状态,组件的相对定位,例如所述组件为装置700的显示器和小键盘,传感器组件714还可以检测装置700或装置700一个组件的位置改变,用户与装置700接触的存在或不存在,装置700方位或加速/减速和装置700的温度变化。传感器组件714可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件714还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件714还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件716被配置为便于装置700和其他设备之间有线或无线方式的通信。装置700可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、4G或5G),或它们的组合。在一个示例性实施例中,通信组件716经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件716还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置700可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述场景渲染方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器704,上述指令可由装置700的处理器720执行以完成上述场景渲染方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
图8是根据一示例性实施例示出的一种用于场景渲染的装置800的框图。例如,装置800可以被提供为一服务器。参照图8,装置800包括处理组件822,其进一步包括一个或多个处理器,以及由存储器832所代表的存储器资源,用于存储可由处理组件822的执行的指令,例如计算机程序产品。存储器832中存储的计算机程序产品可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件822被配置为执行指令,以执行上述场景渲染方法。
装置800还可以包括一个电源组件826被配置为执行装置800的电源管理,一个有线或无线网络接口850被配置为将装置800连接到网络,和一个输入输出(I/O)接口858。装置800可以操作基于存储在存储器832的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (10)
1.一种场景渲染方法,其特征在于,包括:
获取待渲染场景,以及获取进行场景渲染时虚拟目标所在的位置坐标;
从所述待渲染场景的预计算结果中,获取所述位置坐标对应的可见的物体,一个物体对应一个位置坐标可见表征该位置坐标发出的光线与该物体相交,和/或该位置坐标发出的光线经过投射后与该物体相交;
对所述可见的物体进行渲染,得到所述位置坐标对应的渲染后的场景。
2.根据权利要求1所述的方法,其特征在于,在所述从所述待渲染场景的预计算结果中,获取所述位置坐标对应的可见的物体之前,还包括:
获取所述待渲染场景,以及获取所述虚拟目标的多个候选位置坐标;
计算所述待渲染场景中,与从每一所述候选位置坐标发出的光线发生相交的物体;
计算所述待渲染场景中,与所述光线的多段投射光线发生相交的物体;
将与每一所述候选位置坐标发出的所述光线和/或所述光线的多段投射光线相交的物体,作为该候选位置坐标对应的可见的物体,得到所述预计算结果。
3.根据权利要求2所述的方法,其特征在于,所述计算所述待渲染场景中,与所述光线的多段投射光线发生相交的物体,包括:
获取从每一所述候选位置坐标发出的所述光线在与物体发生相交后,产生的第一投射光线;
计算所述待渲染场景中,与所述第一投射光线发生相交的物体;
获取所述第一投射光线在与物体发生相交后,产生的第二投射光线;
计算所述待渲染场景中,与所述第二投射光线发生相交的物体;
多次迭代产生投射光线,以及所述投射光线与物体相交的过程,得到所述待渲染场景中与所述光线的多段投射光线发生相交的物体。
4.根据权利要求2所述的方法,其特征在于,所述计算所述待渲染场景中,与所述光线的多段投射光线发生相交的物体,包括:
获取渲染所述待渲染场景采用的光线投射次数N;
获取从每一所述候选位置坐标发出的光线经过N次投射,产生的N段投射光线;
计算所述待渲染场景中,与所述N段投射光线发生相交的物体。
5.根据权利要求2所述的方法,其特征在于,所述计算所述待渲染场景中,与从每一所述候选位置坐标发出的光线发生相交的物体,包括:
在每一所述候选位置坐标,发出多条光线,所述多条光线的方向包括多个不同的方向;
计算所述待渲染场景中,与从每一所述候选位置坐标发出的所述多条光线发生相交的物体。
6.根据权利要求2所述的方法,其特征在于,在所述获取所述虚拟目标的多个候选位置坐标之前,还包括:
获取所述虚拟目标的可移动区域;
将所述可移动区域划分为多个网格;
将每一所述网格所在的位置坐标,确定为所述虚拟目标的一个所述候选位置坐标;
所述获取进行场景渲染时虚拟目标所在的位置坐标,包括:
获取进行场景渲染时,所述虚拟目标所在的目标网格;
将所述目标网格的位置坐标,作为所述虚拟目标所在的位置坐标。
7.根据权利要求1-6任一所述的方法,其特征在于,所述获取待渲染场景,包括:
获取所述待渲染场景的描述信息,所述描述信息至少包括以下任意一种或多种:几何、视点、纹理、材质和照明。
8.一种场景渲染装置,其特征在于,包括:
获取模块,被配置为获取待渲染场景,以及获取进行场景渲染时虚拟目标所在的位置坐标;
物体获取模块,被配置为从所述待渲染场景的预计算结果中,获取所述位置坐标对应的可见的物体,一个物体对应一个位置坐标可见表征该位置坐标发出的光线与该物体相交,和/或该位置坐标发出的光线经过投射后与该物体相交;
渲染模块,被配置为对所述可见的物体进行渲染,得到所述位置坐标对应的渲染后的场景。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至7中任一项所述的场景渲染方法。
10.一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至7中任一项所述的场景渲染方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310003052.3A CN115994974A (zh) | 2023-01-03 | 2023-01-03 | 场景渲染方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310003052.3A CN115994974A (zh) | 2023-01-03 | 2023-01-03 | 场景渲染方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115994974A true CN115994974A (zh) | 2023-04-21 |
Family
ID=85990003
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310003052.3A Pending CN115994974A (zh) | 2023-01-03 | 2023-01-03 | 场景渲染方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115994974A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117036577A (zh) * | 2023-07-05 | 2023-11-10 | 粒界(上海)信息科技有限公司 | 场景的渲染方法、装置、存储介质和电子设备 |
-
2023
- 2023-01-03 CN CN202310003052.3A patent/CN115994974A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117036577A (zh) * | 2023-07-05 | 2023-11-10 | 粒界(上海)信息科技有限公司 | 场景的渲染方法、装置、存储介质和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108986199B (zh) | 虚拟模型处理方法、装置、电子设备及存储介质 | |
EP3511864A1 (en) | Method and apparatus for synthesizing virtual and real objects | |
EP3163498A2 (en) | Alarming method and device | |
CN110689570B (zh) | 虚拟形象直播方法、装置、电子设备及存储介质 | |
CN110288716B (zh) | 图像处理方法、装置、电子设备及存储介质 | |
US20170364730A1 (en) | Fingerprint entry prompting method and device | |
CN111105454B (zh) | 一种获取定位信息的方法、装置及介质 | |
CN110674719A (zh) | 目标对象匹配方法及装置、电子设备和存储介质 | |
CN113643356B (zh) | 相机位姿确定、虚拟物体显示方法、装置及电子设备 | |
CN110989901B (zh) | 图像定位的交互显示方法及装置、电子设备和存储介质 | |
CN111091610B (zh) | 图像处理方法及装置、电子设备和存储介质 | |
US20200402321A1 (en) | Method, electronic device and storage medium for image generation | |
CN113888392A (zh) | 一种图像渲染方法、装置、电子设备及存储介质 | |
CN111860373B (zh) | 目标检测方法及装置、电子设备和存储介质 | |
CN111784844A (zh) | 观察虚拟对象的方法、装置、存储介质及电子设备 | |
CN112767288A (zh) | 图像处理方法及装置、电子设备和存储介质 | |
CN115994974A (zh) | 场景渲染方法、装置、电子设备及存储介质 | |
US9665925B2 (en) | Method and terminal device for retargeting images | |
CN112348841A (zh) | 虚拟对象的处理方法、装置、电子设备及存储介质 | |
CN109544698B (zh) | 图像展示方法、装置及电子设备 | |
CN114252886A (zh) | 障碍物的轮廓确定方法、装置、设备及存储介质 | |
CN113920083A (zh) | 基于图像的尺寸测量方法、装置、电子设备及存储介质 | |
CN112541875A (zh) | 深度图像处理方法及装置、电子设备和存储介质 | |
CN116934823A (zh) | 图像处理方法、装置、电子设备及可读储存介质 | |
CN113869295A (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 |