【技术实现步骤摘要】
一种图像渲染方法和电子设备
[0001]本申请实施例涉及图像处理领域,尤其涉及一种图像渲染方法和电子设备。
技术介绍
[0002]随着电子设备的发展,显示图像的内容也越来越丰富。在一些图像中,可以包括半透明粒子。而对于连续多个帧图像中半透明粒子的渲染,会对电子设备产生较大的渲染开销,表现为电子设备算力消耗大、发热严重等,影响用户体验。
技术实现思路
[0003]本申请实施例提供一种图像渲染方法和电子设备,能够实现对半透明粒子渲染结果的合理复用,从而有效降低多帧图像渲染过程中,针对半透明粒子渲染的重复开销,进而减少由此导致的功耗、算力的浪费。示例性的,基于本申请实施例提供的方案,能够实现对与主场景无关的半透明粒子的复用,而对于需要结合主场景进行渲染的半透明粒子则不进行复用,由此避免所有半透明粒子复用导致的渲染结果不准确的问题。
[0004]为了达到上述目的,本申请实施例采用如下技术方案:
[0005]第一方面,提供一种图像渲染方法,应用于电子设备,该电子设备中安装有应用程序,该方法包括:应用程序 ...
【技术保护点】
【技术特征摘要】
1.一种图像渲染方法,其特征在于,应用于电子设备,所述电子设备中安装有应用程序,所述方法包括:应用程序下发第一指令流,所述第一指令流用于指示所述电子设备执行第一帧图像的渲染操作,所述第一帧图像中包括第一主场景,第一半透明粒子以及第二半透明粒子,所述第一半透明粒子的渲染过程与所述第一主场景无关,所述第二半透明粒子的渲染过程与所述第一主场景相关;所述电子设备合成第一渲染结果以及第二渲染结果以得到所述第一帧图像;所述第一渲染结果包括所述第一主场景以及所述第二半透明粒子的渲染结果,所述第二渲染结果包括所述第一半透明粒子的渲染结果;所述第二渲染结果存储在所述电子设备的第一帧缓冲中。2.根据权利要求1所述的方法,其特征在于,所述第一指令流中包括第一指令段和第二指令段,所述第一指令段用于指示所述电子设备对所述第一主场景进行渲染,所述第二指令段包括第三指令段和第四指令段,所述第三指令段用于指示所述电子设备对所述第一半透明粒子进行渲染;所述第四指令段用于指示所述电子设备对所述第二半透明粒子进行渲染;在所述电子设备合成第一渲染结果以及第二渲染结果之前,所述方法还包括:所述电子设备根据所述第一指令段进行渲染获取所述第一主场景;所述电子设备根据所述第三指令段和所述第一主场景,渲染获取所述第一渲染结果;所述电子设备从所述第一帧缓冲中获取所述第二渲染结果。3.根据权利要求1或2所述的方法,其特征在于,所述第二渲染结果是所述电子设备对第二帧图像进行渲染后,存储在所述第一帧缓冲中的,所述第二帧图像的渲染早于所述第一帧图像的渲染。4.根据权利要求1所述的方法,其特征在于,在所述应用程序下发所述第一指令流之前,所述方法还包括:所述应用程序下发第二指令流,所述第二指令流用于指示所述电子设备执行第二帧图像的渲染操作,所述第二帧图像中包括第二主场景,所述第一半透明粒子以及第二半透明粒子。5.根据权利要求4所述的方法,其特征在于,所述第二指令流中包括第五指令段和第六指令段,所述第五指令段用于指示所述电子设备对所述第二主场景进行渲染,所述第六指令段包括第七指令段和第八指令段,所述第七指令段用于指示所述电子设备对所述第一半透明粒子进行渲染;所述第八指令段用于指示所述电子设备对所述第二半透明粒子进行渲染;所述方法还包括:所述电子设备根据所述第五指令段进行渲染获取所述第二主场景;所述电子设备根据所述第八指令段和所述第二主场景,渲染获取第三渲染结果;所述第三渲染结果包括所述第二主场景以及所述第二帧图像中的第二半透明粒子;所述电子设备根据所述第七指令段,渲染获取所述第二渲染结果。6.根据权利要求5所述的方法,其特征在于,在所述电子设备根据所述第七指令段,渲染获取所述第二渲染结果之前,所述方法还包括:所述电子设备创建所述第一帧缓冲;
所述电子设备根据所述第七指令段,渲染获取所述第二渲染结果,包括:所述电子设备将所述第七指令段指示的帧缓冲替换为所述第一帧缓冲,以获取第九指令段;所述电子设备执行所述第九指令段的渲染操作,以获取所述第一半透明粒子对应的第二渲染结果,并将所述第二渲染结果存储在所述第一帧缓冲中。7.根据权利要求2所述的方法,其特征在于,所述电子设备根据所述第一指令流中,预设的开头指令以及结尾指令,确定所述第二指令段。8.根据权利要求7所述的方法,其特征在于,所述电子设备根据第一标识,识别所述第二指令段中的第三指令段;所述电子设备根据第二标识,识别所述第二指令段中的第四指令段。9.根据权利要求5所述的方法,其特征在于,所述电子设备根据所述第二指令流中,预设的开头指令以及结尾指令,确定所述第六指令段。10.根据权利要求9所述的方法,其特征在于,所述电子设备根据第一标识,识别所述第六指令段中的第七指令段;所述电子设备根据第二标识,识别所述第六指令段中的第八指令段。11.根据权利要求7或9所述的方法,其特征在于,所述预设的开头指令包括以下中的至少一项:glEnable指令,glEnablei指令;所述预设的结尾指令包括以下中的至少一项:glDisable指令,glDisablei指令,glDiscardFramebufferEXT()指令。12.根据权利要求8或10所述的方法,其特征在于,所述第一标识包括在混合方程中,所述第一标识用于指示srcRGB为GL_ONE和/或srcRGB为GL_SRC_ALPHA;所述第二标识用于指示srcRGB为GL_DST_COLOR。13.根据权利要求2或5所述的方法,其特征在于,所述电子设备中设置有拦截模块、创建模块以及替换模块,在所述电子设备根据第二指令流进行第二帧图像的渲染时,所述还方法包括:所述拦截模块根...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。