System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,特别涉及一种画面渲染方法、装置、设备及可读存储介质。
技术介绍
1、目前,同一三维场景中的三维元素可以从不同视口进行平面展示。为了在同一时刻从不同视口展示同一三维场景中的三维元素,需要设备cpu(central processing unit,中央处理器)在同一时刻从不同视口重复处理同一三维场景中的三维元素的相关信息,以供不同视口下的画面渲染使用。此方式针对不同视口分别各进行一套完整的渲染运算过程,对执行渲染运算过程的设备的性能要求较高。
2、因此,如何结合设备性能对三维场景进行不同视口的画面渲染,是本领域技术人员需要解决的问题。
技术实现思路
1、有鉴于此,本申请的目的在于提供一种画面渲染方法、装置、设备及可读存储介质,以结合设备性能对三维场景进行不同视口的画面渲染。其具体方案如下:
2、第一方面,本申请提供了一种画面渲染方法,包括:
3、获取目标三维场景;
4、确定当前的渲染时间戳以及为当前设备配置的至少两个视口;
5、计算所述目标三维场景中的各元素在所述渲染时间戳下的元素信息,并将所述元素信息和所述渲染时间戳缓存至预设缓存区;
6、基于所述预设缓存区中的所述元素信息,渲染得到所述至少两个视口在所述渲染时间戳下的画面。
7、可选地,所述确定当前的渲染时间戳以及为当前设备配置的至少两个视口,包括:
8、将当前的真实时间戳作为所述渲染时间戳;或按照预设的帧标记规则确定所
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、可见,本申请在确定当前的渲染时间戳以及为当前设备配置的至少两个视口后,先计算目标三维场景中的各元素在当前渲染时间戳下的元素信息,而后将元素信息和渲染时间戳缓存至预设缓存区,后续在渲染各个视口下的画面时,都基于预设缓存区中的元素信息进行渲染,由此实现了同一渲染时间戳下的元素信息在不同视口下的渲染复用,可避免设备cpu在同一时刻重复处理三维元素的相关信息,节约了设备cpu资源,并且可预留更多时间使设备gpu(graphics processing unit,图形处理器)进行不同视口的画面渲染,有利于实现多视口下的画面的同时呈现和渲染,整个过程还与设备性能相匹配,所需资源也相对较少,使得方案具有良好的普适性。
37、相应地,本申请提供的一种画面渲染装置、设备及可读存储介质,也同样具有上述技术效果。
本文档来自技高网...【技术保护点】
1.一种画面渲染方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述确定当前的渲染时间戳以及为当前设备配置的至少两个视口,包括:
3.根据权利要求1所述的方法,其特征在于,所述计算所述目标三维场景中的各元素在所述渲染时间戳下的元素信息,包括:
4.根据权利要求1所述的方法,其特征在于,所述将所述元素信息和所述渲染时间戳缓存至预设缓存区,包括:
5.根据权利要求4所述的方法,其特征在于,所述根据当前设备的空闲资源量和所述预设缓存区的剩余空间将所述数据对缓存至所述预设缓存区,包括:
6.根据权利要求1至5任意一项所述的方法,其特征在于,任意视口在所述渲染时间戳下的画面的渲染过程包括:
7.根据权利要求1至5任意一项所述的方法,其特征在于,所述基于所述预设缓存区中的所述元素信息,渲染得到所述至少两个视口在所述渲染时间戳下的画面,包括:
8.一种画面渲染装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括:
10.一种可读存储介质,其特征在于,用于保存计
...【技术特征摘要】
1.一种画面渲染方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述确定当前的渲染时间戳以及为当前设备配置的至少两个视口,包括:
3.根据权利要求1所述的方法,其特征在于,所述计算所述目标三维场景中的各元素在所述渲染时间戳下的元素信息,包括:
4.根据权利要求1所述的方法,其特征在于,所述将所述元素信息和所述渲染时间戳缓存至预设缓存区,包括:
5.根据权利要求4所述的方法,其特征在于,所述根据当前设备的空闲资源量和所述预设缓存区的剩余空间将所述数据对缓存至所述预设缓...
【专利技术属性】
技术研发人员:张经纬,周粤琦,李心悦,王乐乐,张璐,陶明,
申请(专利权)人:上海任意门科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。