本公开涉及图像渲染领域,具体涉及一种图像渲染方法、装置、电子设备及存储介质。
背景技术:
1、在计算机图形学领域中,之所以存在纹理共享这类技术,是因为每份egl环境是线程隔离的;而纹理共享技术,则保证了在不同egl渲染线程之间,访问纹理对象的可行性。纹理共享技术能够确保不同的egl渲染线程之间可以访问共享的纹理对象,从而实现在多个线程之间共享纹理的可行性。
2、目前业界普遍采用的纹理共享方案是通过共享eglcontext对象(egl上下文对象)的方式实现的。具体来说,子egl渲染线程的初始化过程很大程度上依赖于父egl渲染线程的eglcontext对象。因此,按照流程,必须先创建父egl渲染线程,然后才能创建子egl渲染线程。同时这种方案的纹理共享是单向的,也就是说子egl渲染线程可以访问父egl渲染线程创建的纹理对象,但反过来,则无法进行纹理共享。这是由于子线程初始化时依赖父线程的eglcontext,而父线程并没有意识到子线程的存在,所以无法直接访问子线程创建的纹理对象,最终导致无法实现双向纹理共享。
技术实现思路
1、有鉴于此,本公开实施例提供了一种图像渲染方法、装置、电子设备及存储介质,以解决现有纹理共享方案无法实现双向纹理共享的问题。
2、第一方面,本公开实施例提供了一种图像渲染方法,所述方法应用于渲染终端,所述方法包括:
3、从渲染终端中的多个渲染线程中确定第一渲染线程,并在所述第一渲染线程中生成共享纹理使用请求,其中,每个渲染线程对应一个共享窗口,所述共享窗口中设有句柄列表以及共享纹理列表,所述句柄列表用于存储所述渲染线程中共享纹理对应的句柄,所述共享纹理列表用于存储渲染线程中共享纹理,所述句柄列表中的句柄与所述共享纹理列表中的共享纹理一一对应;
4、通过所述第一渲染线程的第一共享窗口将所述共享纹理使用请求发送至第二渲染线程关联的第二共享窗口;
5、从所述第二共享窗口的句柄列表中获取与所述共享纹理使用请求相匹配的目标句柄,并将目标句柄传输至所述第一渲染线程;
6、根据所述目标句柄在第一共享窗口中切换相应的本地窗口,并在所述本地窗口内将所述第一渲染线程的渲染操作作用于所述目标句柄对应的共享纹理,得到目标渲染结果,其中,所述第一共享窗口为所述第一渲染线程关联的共享窗口。
7、本公开实施例提供的方法通过创建渲染线程对应的共享窗口,同时在共享窗口中设置句柄列表与共享纹理列表的对应关系,能够方便地在不同渲染线程之间传递共享纹理的引用。通过切换本地窗口将所有的渲染结果间接作用到共享纹理之上,实现了在不同的渲染线程之间进行纹理共享,提高图像的渲染效率。
8、第二方面,本公开实施例提供了一种图像渲染装置,所述装置包括:
9、确定模块,用于从渲染终端中的多个渲染线程中确定第一渲染线程,并在所述第一渲染线程中生成共享纹理使用请求,其中,每个渲染线程对应一个共享窗口,所述共享窗口中设有句柄列表以及共享纹理列表,所述句柄列表用于存储所述渲染线程中共享纹理对应的句柄,所述共享纹理列表用于存储渲染线程中共享纹理,所述句柄列表中的句柄与所述共享纹理列表中的共享纹理一一对应;
10、发送模块,用于通过所述第一渲染线程的第一共享窗口将所述共享纹理使用请求发送至第二渲染线程关联的第二共享窗口;
11、获取模块,用于从所述第二共享窗口的句柄列表中获取与所述共享纹理使用请求相匹配的目标句柄,并将目标句柄传输至所述第一渲染线程;
12、处理模块,用于根据所述目标句柄在第一共享窗口中切换相应的本地窗口,并在所述本地窗口内将所述第一渲染线程的渲染操作作用于所述目标句柄对应的共享纹理,得到目标渲染结果,其中,所述第一共享窗口为所述第一渲染线程关联的共享窗口。
13、第三方面,本公开实施例提供了一种电子设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的方法。
14、第四方面,本公开实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的方法。
1.一种图像渲染方法,其特征在于,所述方法应用于渲染终端,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,在创建第一渲染线程对应的第一句柄之前,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述基于所述共享窗口内利用所述原始共享纹理构建句柄列表以及共享纹理列表,包括:
4.根据权利要求1所述的方法,其特征在于,所述从所述第二共享窗口的句柄列表中获取与所述共享纹理使用请求相匹配的目标句柄,并将目标句柄传输至所述第一渲染线程,包括:
5.根据权利要求1所述的方法,其特征在于,所述根据所述目标句柄在第一共享窗口中切换相应的本地窗口,并在所述本地窗口内将所述第一渲染线程的渲染操作作用于所述目标句柄对应的共享纹理,得到目标渲染结果,包括:
6.根据权利要求5所述的方法,其特征在于,在将所述第一渲染线程的渲染操作作用于所述目标句柄对应的共享纹理,得到目标渲染结果之后,所述方法还包括:
7.根据权利要求6所述的方法,其特征在于,所述根据所述提示信息更新所述目标共享纹理,包括:
8.一种图像渲染装置,其特征在于,所述装置包括:
9.一种电子设备,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至7中任一项所述的方法。
