本技术涉及图像处理,特别是涉及一种图像渲染方法、装置、电子设备及存储介质。
背景技术:
1、随着计算机技术的发展,图像渲染已经成为多个领域的关键技术之一。例如,在地图的使用场景中,通常基于网格数据来渲染出地图界面进行显示。相关技术中,在进行精度较高的图像渲染时,由于待渲染的元素的数量较多,相应地网格的数量也会较多,同时网格的数量会随着业务开发而成倍地增长,使得在图像渲染时会出现卡顿,降低了图像渲染的流畅性。
技术实现思路
1、以下是对本技术详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
2、本技术实施例提供了一种图像渲染方法、装置、电子设备及存储介质,能够提高图像渲染的流畅性。
3、一方面,本技术实施例提供了一种图像渲染方法,包括:
4、获取多个待渲染网格以及各个所述待渲染网格关联的渲染样式信息;
5、生成所述渲染样式信息对应的顶点标识,将所述顶点标识添加至所述渲染样式信息中,以及添加至所关联的所述待渲染网格的顶点属性中;
6、将多个所述待渲染网格进行合并,得到至少一个目标网格,将所述目标网格配置为被对应的所述渲染样式信息共同引用的网格;
7、将所述目标网格与各个所述渲染样式信息发送至图形处理器,以供所述图形处理器根据所述顶点标识筛选出各个所述渲染样式信息对应的目标像素片段进行渲染,其中,所述目标像素片段基于所述目标网格中的目标顶点转换得到,所述目标顶点与所述渲染样式信息具备相同的所述顶点标识。
8、另一方面,本技术实施例提供了一种图像渲染方法,包括:
9、获取目标网格和多个渲染样式信息,其中,所述目标网格由各个所述渲染样式信息关联的待渲染网格合并得到,所述待渲染网格的顶点属性以及所述渲染样式信息均包括顶点标识,所述目标网格被配置为被所述渲染样式信息共同引用的网格;
10、根据所述顶点标识筛选出各个所述渲染样式信息对应的目标像素片段进行渲染,其中,所述目标像素片段由所述目标网格中的目标顶点转换得到,所述目标顶点与所述渲染样式信息具备相同的所述顶点标识。
11、另一方面,本技术实施例还提供了一种图像渲染装置,包括:
12、信息获取模块:用于获取多个待渲染网格以及各个待渲染网格关联的渲染样式信息;
13、顶点标识获取模块:用于生成渲染样式信息对应的顶点标识,将顶点标识添加至渲染样式信息中,以及添加至所关联的待渲染网格的顶点属性中;
14、网格合并模块:用于将多个待渲染网格进行合并,得到至少一个目标网格,将目标网格配置为被对应的渲染样式信息共同引用的网格;
15、渲染信息发送模块:用于将目标网格与各个渲染样式信息发送至图形处理器,以供图形处理器根据顶点标识筛选出各个渲染样式信息对应的目标像素片段进行渲染,其中,目标像素片段基于目标网格中的目标顶点转换得到,目标顶点与渲染样式信息具备相同的顶点标识。
16、进一步,上述网格合并模块具体用于:
17、生成目标网格的第一网格标识,其中,第一网格标识用于标记不同的目标网格;
18、将各个目标网格分别作为一个渲染批次,在当前的渲染批次中,对于目标网格对应的各个渲染样式信息,分别根据第一网格标识从网格缓存区中读取目标网格,将读取到的目标网格配置为被渲染样式信息共同引用的网格。
19、进一步,渲染样式信息被配置为样式对象,上述网格合并模块1703还用于:
20、将对应同一个目标网格的多个样式对象合并为样式对象列表;
21、根据第一网格标识、目标网格和样式对象列表,构建目标网格所在的渲染批次的批次对象。
22、进一步,上述网格合并模块还用于:
23、遍历批次对象中的样式对象列表,获取样式对象列表中当前的样式对象;
24、为当前的样式对象创建场景节点对象,根据样式对象创建材质对象,将材质对象与场景节点对象进行绑定,将样式对象中的顶点标识添加至材质对象;
25、根据第一网格标识从网格缓存区中读取目标网格,将读取到的目标网格配置为被场景节点对象共同引用的网格
26、进一步,目标网格由多个网格类型相同的待渲染网格合并得到,网格类型用于指示待渲染网格所建模的元素的类型,上述网格合并模块还用于:
27、获取待渲染网格的网格类型以及渲染样式信息的样式类型;
28、将网格类型与样式类型进行拼接,得到目标网格的第一网格标识。
29、进一步,上述网格合并模块还用于:
30、当根据第一网格标识无法从网格缓存区中读取目标网格时,将第一网格标识以及目标网格关联写入至网格缓存区中。
31、进一步,上述顶点标识获取模块还用于:
32、当同一个待渲染网格分别关联不同的渲染样式信息时,获取当前的待渲染网格的第二网格标识,根据第二网格标识得到所关联的各个渲染样式信息对应的顶点标识,其中,第二网格标识用于标记不同的待渲染网格;
33、当同一个渲染样式信息分别关联不同的待渲染网格时,获取渲染样式信息的样式标识,将样式标识作为渲染样式信息对应的顶点标识,其中,样式标识用于标记不同的渲染样式信息;
34、当不同的待渲染网格分别关联不同的渲染样式信息时,获取第二网格标识,根据第二网格标识得到所关联的渲染样式信息对应的顶点标识,或者,获取样式标识,将样式标识作为渲染样式信息对应的顶点标识。
35、进一步,待渲染网格被划分为多个子网格,各个子网格分别关联不同的渲染样式信息,上述顶点标识获取模块还用于:
36、获取用于标记子网格的子网格标识;
37、将第二网格标识和子网格标识进行拼接,得到所关联的各个渲染样式信息对应的顶点标识。
38、另一方面,本技术实施例还提供了一种图像渲染装置,包括:
39、渲染信息接收模块:用于获取目标网格和多个渲染样式信息,其中,目标网格由各个渲染样式信息关联的待渲染网格合并得到,待渲染网格的顶点属性以及渲染样式信息均包括顶点标识,目标网格被配置为被渲染样式信息共同引用的网格;
40、渲染模块:用于根据顶点标识筛选出各个渲染样式信息对应的目标像素片段进行渲染,其中,目标像素片段由目标网格中的目标顶点转换得到,目标顶点与渲染样式信息具备相同的顶点标识。
41、进一步,渲染模块具体用于:
42、对目标网格中的各个顶点进行光栅化,得到多个候选像素片段,其中,候选像素片段的片段属性包括片段标识,片段标识由对应的顶点中顶点标识插值得到;
43、将片段标识与当前的渲染样式信息中的顶点标识进行一致性匹配,当匹配结果为相一致时,将候选像素片段确定为目标像素片段,将目标像素片段进行渲染。
44、进一步,渲染模块还用于:
45、在渲染管线中创建全局变量,从当前的渲染样式信息中获取顶点标识,将全局变量赋值为顶点标识;
46、遍历多个候选像素片段,将当前的候选像素片段的片段标识与全局变量进行一致性匹配。
47、进一步,渲染模块还用于:
48、当匹配结果为不一致时,调用片元着色器中的丢弃函数,基于丢弃函数将候选像素片段进行裁剪;
49、或者,当匹配结果为不一致时,将候选像素片段的透明度设置为预设值。
50、另一方面,本技术实施例还提供了一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的图像渲染方法。
51、另一方面,本技术实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行实现上述的图像渲染方法。
52、另一方面,本技术实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行实现上述的图像渲染方法。
53、本技术实施例至少包括以下有益效果:通过获取多个待渲染网格以及各个待渲染网格关联的渲染样式信息,生成渲染样式信息对应的顶点标识,将顶点标识添加至渲染样式信息以及所关联的待渲染网格的顶点属性中,能够通过顶点标识来标记渲染样式信息对应的顶点,然后,将多个待渲染网格进行合并,得到至少一个目标网格,将目标网格配置为被对应的渲染样式信息共同引用的网格,从而有效地减少了网格的数量,再将目标网格与各个渲染样式信息发送至图形处理器,以供图形处理器根据顶点标识筛选出各个渲染样式信息对应的目标像素片段进行渲染,可见,即便将多个待渲染网格合并为目标网格,图形处理器也能够在渲染时通过顶点标识来对目标网格进行拆分,筛选出各个渲染样式信息对应的目标像素片段进行渲染,从而在实现独立渲染各个待渲染网格的基础上,有效地减少了网格的数量,降低了与图形处理器之间的交互频率,优化了图像渲染的卡顿现象,提高了图像渲染的流畅性。
54、本技术的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术而了解。