一种场景渲染方法与流程

文档序号:37557759发布日期:2024-04-09 17:49阅读:8来源:国知局
一种场景渲染方法与流程

本发明涉及计算机,尤其涉及一种场景渲染方法。


背景技术:

1、在将三维模型渲染到屏幕的过程中,为了栅格化的方便,一般采样多边形面片的形式进行三维模型的组织。

2、然而,在大规模场景的渲染中,由于场景数据的庞大,如果加载所有模型的面片则需要巨量的计算资源开销。


技术实现思路

1、(一)要解决的技术问题

2、鉴于现有技术的上述缺点、不足,本发明提供一种场景渲染方法,其解决了现有技术中存在着的需要巨量的计算资源开销的技术问题。

3、(二)技术方案

4、为了达到上述目的,本发明采用的主要技术方案包括:

5、第一方面,本发明实施例提供一种场景渲染方法,包括:获取在当前观察视角下当前场景中的至少一个待渲染模型;基于至少一个待渲染模型中每个待渲染模型的参数,计算每个待渲染模型的评价系数,并将每个待渲染模型的评价系数作为森林数据结构中的每棵树的根节点值;其中,森林数据结构中的每棵树和每个待渲染模型一一对应;基于每棵树的根节点的根节点值和预设阈值的比值,确定每个待渲染模型的分裂数量,并基于分裂数量对分裂数量为非零的待渲染模型对应的树的节点进行更新,以得到更新后的森林数据结构;对更新后的森林数据结构中的每棵树的叶子节点对应的模型部分进行渲染。

6、在一个可能的实施例中,每个待渲染模型的参数均包括模型面积s、模型移动速度v和模型中心与当前观察视角对应的观察点之间的视距l。

7、在一个可能的实施例中,模型面积s的计算公式为:

8、

9、其中,m表示对应的待渲染模型在观察视角下的轮廓点数;(xi,yi)表示按逆时针或顺时针排序的第i个轮廓点的像素坐标;(xi+1,yi+1)表示按逆时针或顺时针排序的第i+1个轮廓点的像素坐标。

10、在一个可能的实施例中,模型移动速度v的计算公式为:

11、

12、其中,表示t1时刻时的模型中心的坐标;(x0,y0,z0)表示t0时刻时的模型中心的坐标。

13、在一个可能的实施例中,视距l的计算公式为:

14、

15、其中,(x1,y1,z1)表示当前观察视角对应的观察点的坐标;(x0,y0,z0)表示模型中心的坐标。

16、在一个可能的实施例中,评价系数的计算公式为:

17、

18、其中,γ表示评价系数。

19、在一个可能的实施例中,基于每棵树的根节点的根节点值和预设阈值的比值,确定每个待渲染模型的分裂数量,包括:对当前树的根节点值和预设阈值的比值以四舍五入的方式取整,得到取整后的值;在取整后的值大于1的情况下,则将比值作为当前树对应的当前渲染模型的第一分裂数量,并基于第一分裂数量对当前渲染模型进行分裂,以得到多个分裂后的子模型,以及还计算每个分裂后的子模型的评价系数;基于每个分裂后的子模型的评价系数和预设阈值的比值,确定每个分裂后的子模型的第二分裂数量。

20、在一个可能的实施例中,基于分裂数量对分裂数量为非零的待渲染模型对应的树的节点进行更新,包括:基于第一分裂数量,在当前树的第一层子节点中添加与第一分裂数量相同的子节点;基于第二分裂数量,对第一层子节点中对应的子节点的下层节点进行更新。

21、在一个可能的实施例中,基于每棵树的根节点的根节点值和预设阈值的比值,确定每个待渲染模型的分裂数量,进一步包括:在取整后的值小于等于1的情况下,则确定当前树的分裂数量为零。

22、在一个可能的实施例中,对更新后的森林数据结构中的每棵树的叶子节点对应的模型部分进行渲染,包括:确定更新后的森林数据结构中的每棵树的叶子节点的节点值;基于更新后的森林数据结构中的每棵树的叶子节点的节点值,确定更新后的森林数据结构中的每棵树的叶子节点对应的模型部分的渲染精度;基于更新后的森林数据结构中的每棵树的叶子节点对应的模型部分的渲染精度,对其对应的模型部分进行渲染。

23、第二方面,本申请实施例提供了一种存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行第一方面或第一方面的任一可选的实现方式所述的方法。

24、第三方面,本申请实施例提供了一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当所述电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行第一方面或第一方面的任一可选的实现方式所述的方法。

25、第四方面,本申请提供一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行第一方面或第一方面的任意可能的实现方式中的方法。

26、(三)有益效果

27、本发明的有益效果是:

28、本申请实施例提供了一种场景渲染方法,通过获取在当前观察视角下当前场景中的至少一个待渲染模型;基于至少一个待渲染模型中每个待渲染模型的参数,通过计算每个待渲染模型的评价系数,随后将每个待渲染模型的评价系数作为森林数据结构中的每棵树的根节点值,以及森林数据结构中的每棵树和每个待渲染模型一一对应,随后基于每棵树的根节点的根节点值和预设阈值的比值,确定每个待渲染模型的分裂数量,并基于分裂数量对分裂数量为非零的待渲染模型对应的树的节点进行更新,以得到更新后的森林数据结构,最后对更新后的森林数据结构中的每棵树的叶子节点对应的模型部分进行渲染,从而本申请实施例可通过每个待渲染模型的参数来分配模型的渲染资源,避免不必要的计算开销,更好地适应不同场景和渲染设备的要求。

29、为使本申请实施例所要实现的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。



技术特征:

1.一种场景渲染方法,其特征在于,包括:

2.根据权利要求1所述的场景渲染方法,其特征在于,所述每个待渲染模型的参数均包括模型面积s、模型移动速度v和模型中心与所述当前观察视角对应的观察点之间的视距l。

3.根据权利要求2所述的场景渲染方法,其特征在于,所述模型面积s的计算公式为:

4.根据权利要求2所述的场景渲染方法,其特征在于,所述模型移动速度v的计算公式为:

5.根据权利要求2所述的场景渲染方法,其特征在于,所述视距l的计算公式为:

6.根据权利要求2所述的场景渲染方法,其特征在于,所述评价系数的计算公式为:

7.根据权利要求1所述的场景渲染方法,其特征在于,所述基于所述每棵树的根节点的根节点值和预设阈值的比值,确定所述每个待渲染模型的分裂数量,包括:

8.根据权利要求7所述的场景渲染方法,其特征在于,所述基于所述分裂数量对所述分裂数量为非零的待渲染模型对应的树的节点进行更新,包括:

9.根据权利要求7所述的场景渲染方法,其特征在于,所述基于所述每棵树的根节点的根节点值和预设阈值的比值,确定所述每个待渲染模型的分裂数量,进一步包括:

10.根据权利要求1所述的场景渲染方法,其特征在于,所述对所述更新后的森林数据结构中的每棵树的叶子节点对应的模型部分进行渲染,包括:


技术总结
本发明涉及一种场景渲染方法,包括:获取在当前观察视角下当前场景中的至少一个待渲染模型;基于至少一个待渲染模型中每个待渲染模型的参数,计算每个待渲染模型的评价系数,并将每个待渲染模型的评价系数作为森林数据结构中的每棵树的根节点值;其中,森林数据结构中的每棵树和每个待渲染模型一一对应;基于每棵树的根节点的根节点值和预设阈值的比值,确定每个待渲染模型的分裂数量,并基于分裂数量对分裂数量为非零的待渲染模型对应的树的节点进行更新,以得到更新后的森林数据结构;对更新后的森林数据结构中的每棵树的叶子节点对应的模型部分进行渲染,从而能够避免不必要的计算开销,更好地适应不同场景和渲染设备的要求。

技术研发人员:邵斌,肖同发,姜铭敏,乔彬,王宁,王帅伟,邱先庆
受保护的技术使用者:中数科技(青岛)有限公司
技术研发日:
技术公布日:2024/4/8
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1