本申请涉及计算机,更具体地,涉及一种特效渲染方法、装置、电子设备及计算机可读存储介质。
背景技术:
1、在计算机图形学中,简单来说,一个批次是cpu(central processing unit,中央处理器)向gpu(graphics processing unit,图形处理器)提交绘制所需的数据以及调用图形api(application programming interface,应用程序接口)的操作。
2、在游戏场景中,很多情况下,每帧游戏画面都会涉及多种特效,在进行特效渲染时,每个特效会进行多个批次的提交,而每一个批次都需要进行数据提交,设置shader着色器,切换渲染状态等操作,这些操作都是比较消耗性能的,因此,若一帧游戏画面的特效渲染的处理批次过多,则会降低特效渲染的效率,并导致设备性能的下降。
技术实现思路
1、鉴于上述问题,本申请实施例提出了一种特效渲染方法、装置、电子设备及计算机可读存储介质,以解决相关技术中因特效渲染的处理批次过多导致的特效渲染的效率低和影响设备性能的问题。
2、根据本申请实施例的一个方面,提供了一种特效渲染方法,包括:
3、获取待渲染特效的特效组件以及特效组件的特效参数;
4、根据所述特效参数,对所述待渲染特效的特效组件进行分组,得到特效分组,每个所述特效分组包括的特效组件的特效参数匹配;
5、确定所述特效分组中各个特效组件的展示时刻以及在所述展示时刻的渲染数据;
6、根据所述特效分组的特效参数以及所述特效分组中各个特效组件在所述展示时刻的渲染数据,对所述特效分组中的各个特效组件进行批量渲染。
7、根据本申请实施例的一个方面,提供了一种特效渲染装置,包括:
8、参数模块,用于获取待渲染特效的特效组件以及特效组件的特效参数;
9、模型分组模块,根据所述特效参数,对所述待渲染特效的特效组件进行分组,得到特效分组,每个所述特效分组包括的特效组件的特效参数匹配;
10、特效引擎模块,确定所述特效分组中各个特效组件的展示时刻以及在所述展示时刻的渲染数据;
11、渲染模块,用于根据所述特效分组的特效参数以及所述特效分组中各个特效组件在所述展示时刻的渲染数据,对所述特效分组中的各个特效组件进行批量渲染。
12、根据本申请实施例的一个方面,提供了一种电子设备,包括:处理器;存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现如上所述特效渲染方法。
13、根据本申请实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被处理器执行时,实现如上所述特效渲染方法。
14、在本申请所提供的方案中,基于各特效组件的特效参数将待渲染特效的特效组件进行分组,如此,减少待渲染特效的层数,降低渲染的性能消耗,提高渲染效率;并对于每个特效分组,基于该特效分组的特效参数以及该特效分组中各特效组件在各个展示时刻的渲染数据,对该特效分组中各特效组件进行批量渲染,可实现相同特效参数但渲染数据不同的渲染组件的合批渲染,降低合批次数以及drawcall的压力。
1.一种特效渲染方法,其特征在于,所述方法包括:
2.根据权利要求1所述的特效渲染方法,其特征在于,所述确定所述特效分组中各个特效组件的展示时刻以及在所述展示时刻的渲染数据,包括:
3.根据权利要求1所述的特效渲染方法,其特征在于,所述根据所述特效分组的特效参数以及所述特效分组中各个特效组件在所述展示时刻的渲染数据,对所述特效分组中的各个特效组件进行批量渲染,包括:
4.根据权利要求3所述的特效渲染方法,其特征在于,所述对所述特效分组中各个特效组件的图层进行合并,得到所述特效分组中各个特效组件的合并图层,包括:
5.根据权利要求1所述的特效渲染方法,其特征在于,所述特效参数包括网格;
6.根据权利要求1或者5所述的特效渲染方法,其特征在于,所述特效参数包括纹理参数和材质参数;
7.根据权利要求1所述的特效渲染方法,其特征在于,所述根据所述特效分组的特效参数以及所述特效分组中各个特效组件在所述展示时刻的渲染数据,对所述特效分组中的各个特效组件进行批量渲染,包括:
8.根据权利要求7所述的特效渲染方法,其特征在于,所述预设存储区包括共有参数区以及多个组件参数区;所述将所述特效分组的特效参数以及所述特效分组中各个特效组件在所述展示时刻的渲染数据写入预设存储区,包括:
9.根据权利要求1所述的特效渲染方法,其特征在于,所述获取待渲染特效的特效组件,包括:
10.一种特效渲染装置,其特征在于,所述装置包括:
11.一种电子设备,其特征在于,包括:
12.一种计算机可读存储介质,其上存储有计算机可读指令,其特征在于,当所述计算机可读指令被处理器执行时,实现如权利要求1至9中任一项所述的方法。