一种图像渲染方法、装置、设备及存储介质制造方法及图纸

技术编号:19345950 阅读:18 留言:0更新日期:2018-11-07 15:19
本发明专利技术实施例公开了一种图像渲染方法、装置、设备及存储介质。该方法包括:获取当前终端设备的显卡信息,并依据所述显卡信息确定与所述当前终端设备对应的适配图形库,所述适配图形库包括开放图形库OpenGL或嵌入式开放图形库OpenGLES;依据所述适配图形库的图形库标识,确定与所述适配图形库对应的预设着色器脚本源代码,并依据待渲染数据,调用所述预设着色器脚本源代码,获得目标渲染图像;基于所述适配图形库,输出所述目标渲染图像,以完成图像渲染。通过上述技术方案,实现了更加准确且流畅地进行图像渲染,从而使得应用程序可以适用于更多的非移动终端,提升应用程序的用户体验。

Image rendering method, device, device and storage medium

The embodiment of the invention discloses an image rendering method, device, device and storage medium. The method includes: acquiring the graphics card information of the current terminal device, and determining the adapted graphics library corresponding to the current terminal device according to the graphics card information. The adapted graphics library includes an open graphics library OpenGL or an embedded open graphics library OpenGLES; and determining the adapted graphics library according to the graphic library identification of the adapted graphics library. According to the data to be rendered, the source code of the preset shader script corresponding to the graphics library is invoked to obtain the target rendering image. Based on the adapted graphics library, the target rendering image is output to complete the image rendering. Through the above technical scheme, more accurate and smooth image rendering can be achieved, so that the application can be applied to more non-mobile terminals and enhance the user experience of the application.

【技术实现步骤摘要】
一种图像渲染方法、装置、设备及存储介质
本专利技术实施例涉及图像处理技术,尤其涉及一种图像渲染方法、装置、设备及存储介质。
技术介绍
为非移动终端(如PC终端或服务器等)的应用程序开发图形交互界面时,通常使用开放图形库(OpenGraphicsLibrary,OpenGL)作为视频图像的渲染工具。利用OpenGL进行视频图像渲染,需要基于OpenGL着色器语言GLSL(OpenGLShadingLanguage)编写相关的着色器脚本源代码,并且通过运行该着色器脚本源代码来调用OpenGL的相关应用编程接口(ApplicationProgrammingInterface,API)来创建相应的纹理,以及将视频图像渲染在非移动终端的应用程序上。但是,对于一些配置了老旧显卡的非移动终端而言,受限于显卡性能,OpenGL的运行性能欠佳,使得OpenGL的图像渲染效果不佳,或者渲染程序直接崩溃,从而直接影响应用程序的正常使用,降低用户使用体验。
技术实现思路
本专利技术实施例提供一种图像渲染方法、装置、设备及存储介质,以实现更加准确且流畅地进行图像渲染,从而使得应用程序可以适用于更多的非移动终端,提升应用程序的用户体验。第一方面,本专利技术实施例提供了一种图像渲染方法,包括:获取当前终端设备的显卡信息,并依据所述显卡信息确定与所述当前终端设备对应的适配图形库,所述适配图形库包括开放图形库OpenGL或嵌入式开放图形库OpenGLES;依据所述适配图形库的图形库标识,确定与所述适配图形库对应的预设着色器脚本源代码,并依据待渲染数据,调用所述预设着色器脚本源代码,获得目标渲染图像;基于所述适配图形库,输出所述目标渲染图像,以完成图像渲染。可选地,所述获取当前终端设备的显卡信息,并依据所述显卡信息确定与所述当前终端设备对应的适配图形库包括:获取所述当前终端设备的显卡名称及显卡驱动版本;依据所述显卡名称和所述显卡驱动版本,遍历显卡与图形库之间的映射关系表,确定所述当前终端设备对应的适配图形库。可选地,在所述嵌入式开放图形库OpenGLES对应的预设着色器脚本源代码中的起始位置包括数据类型精度限定语句,以使所述预设着色器脚本源代码被正确编译。可选地,在所述依据所述适配图形库的图形库标识,确定与所述适配图形库对应的预设着色器脚本源代码之前,还包括:以嵌入式开放图形库标识AA_UseOpenGLES为函数输入参数,调用跨平台C++图形用户界面应用程序开发框架QT中应用程序类QApplication的属性检测静态函数testAttribute,获得函数返回值;依据所述函数返回值,确定所述适配图形库的图形库标识。可选地,所述依据待渲染数据,调用所述预设着色器脚本源代码,获得目标渲染图像包括:依据所述待渲染数据,调用所述预设着色器脚本源代码中的纹理创建函数,创建所述待渲染数据对应的纹理;基于所述纹理,调用所述预设着色器脚本源代码中的纹理采样函数,获得所述目标渲染图像。进一步地,所述依据所述待渲染数据,调用所述预设着色器脚本源代码中的纹理创建函数,创建所述待渲染数据对应的纹理包括:依据所述待渲染数据,以GL_LUMIANCE像素格式为函数输入参数,调用所述预设着色器脚本源代码中的纹理创建函数,创建所述待渲染数据对应的纹理。进一步地,所述基于所述纹理,调用所述预设着色器脚本源代码中的纹理采样函数,获得所述目标渲染图像包括:调用所述适配图形库中的索引号获取函数,获取所述纹理的纹理索引号;调用所述适配图形库中的纹理绑定函数,将所述纹理绑定至显卡中与所述纹理索引号对应的纹理单元;以所述纹理单元为函数输入参数,调用所述纹理采样函数,获得所述目标渲染图像。第二方面,本专利技术实施例还提供了一种图像渲染装置,该装置包括:适配图形库确定模块,用于获取当前终端设备的显卡信息,并依据所述显卡信息确定与所述当前终端设备对应的适配图形库,所述适配图形库包括开放图形库OpenGL或嵌入式开放图形库OpenGLES;目标渲染图像获取模块,用于依据所述适配图形库的图形库标识,确定与所述适配图形库对应的预设着色器脚本源代码,并依据待渲染数据,调用所述预设着色器脚本源代码,获得目标渲染图像;图像渲染模块,基于所述适配图形库,输出所述目标渲染图像,以完成图像渲染。可选地,所述适配图形库确定模块具体用于:获取所述当前终端设备的显卡名称及显卡驱动版本;依据所述显卡名称和所述显卡驱动版本,遍历显卡与图形库之间的映射关系表,确定所述当前终端设备对应的适配图形库。可选地,在所述嵌入式开放图形库OpenGLES对应的预设着色器脚本源代码中的起始位置包括数据类型精度限定语句,以使所述预设着色器脚本源代码被正确编译。可选地,在上述装置的基础上,该装置还包括:图形库标识确定模块,用于在所述依据所述适配图形库的图形库标识,确定与所述适配图形库对应的预设着色器脚本源代码之前,以嵌入式开放图形库标识AA_UseOpenGLES为函数输入参数,调用跨平台C++图形用户界面应用程序开发框架QT中应用程序类QApplication的属性检测静态函数testAttribute,获得函数返回值;依据所述函数返回值,确定所述适配图形库的图形库标识。可选地,所述目标渲染图像获取模块包括:纹理创建子模块,用于依据所述待渲染数据,调用所述预设着色器脚本源代码中的纹理创建函数,创建所述待渲染数据对应的纹理;目标渲染图像获取子模块,用于基于所述纹理,调用所述预设着色器脚本源代码中的纹理采样函数,获得所述目标渲染图像。进一步地,所述纹理创建子模块具体用于:依据所述待渲染数据,以GL_LUMIANCE像素格式为函数输入参数,调用所述预设着色器脚本源代码中的纹理创建函数,创建所述待渲染数据对应的纹理。进一步地,所述目标渲染图像获取子模块具体用于:调用所述适配图形库中的索引号获取函数,获取所述纹理的纹理索引号;调用所述适配图形库中的纹理绑定函数,将所述纹理绑定至显卡中与所述纹理索引号对应的纹理单元;以所述纹理单元为函数输入参数,调用所述纹理采样函数,获得所述目标渲染图像。第三方面,本专利技术实施例还提供了一种设备,该设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本专利技术任意实施例所提供的图像渲染方法。第四方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本专利技术任意实施例所提供的图像渲染方法。本专利技术实施例通过依据当前终端设备的显卡信息确定当前终端设备对应的适配图形库为开放图形库OpenGL或嵌入式开放图形库OpenGLES,解决了老旧显卡对OpenGL的支持性差而导致的图像渲染应用程序运行错误的问题,能够为当前终端设备提供合适的图形渲染工具,从而使得图像渲染应用程序在配置有老旧显卡的非移动终端上正常运行,扩大了应用程序可运行平台的范围。通过依据所述适配图形库的图形库标识,确定与所述适配图形库对应的预设着色器脚本源代码,并依据待渲染数据,调用所述预设着色器脚本源代码,获得目标渲染图像,能够为应用程序的运行提供合适的着色器脚本源代码,使得应用程序正确运行,进而获得更加准确的目标渲染图像。通过基于所述本文档来自技高网...

【技术保护点】
1.一种图像渲染方法,其特征在于,包括:获取当前终端设备的显卡信息,并依据所述显卡信息确定与所述当前终端设备对应的适配图形库,所述适配图形库包括开放图形库OpenGL或嵌入式开放图形库OpenGLES;依据所述适配图形库的图形库标识,确定与所述适配图形库对应的预设着色器脚本源代码,并依据待渲染数据,调用所述预设着色器脚本源代码,获得目标渲染图像;基于所述适配图形库,输出所述目标渲染图像,以完成图像渲染。

【技术特征摘要】
1.一种图像渲染方法,其特征在于,包括:获取当前终端设备的显卡信息,并依据所述显卡信息确定与所述当前终端设备对应的适配图形库,所述适配图形库包括开放图形库OpenGL或嵌入式开放图形库OpenGLES;依据所述适配图形库的图形库标识,确定与所述适配图形库对应的预设着色器脚本源代码,并依据待渲染数据,调用所述预设着色器脚本源代码,获得目标渲染图像;基于所述适配图形库,输出所述目标渲染图像,以完成图像渲染。2.根据权利要求1所述的方法,其特征在于,所述获取当前终端设备的显卡信息,并依据所述显卡信息确定与所述当前终端设备对应的适配图形库包括:获取所述当前终端设备的显卡名称及显卡驱动版本;依据所述显卡名称和所述显卡驱动版本,遍历显卡与图形库之间的映射关系表,确定所述当前终端设备对应的适配图形库。3.根据权利要求1所述的方法,其特征在于,在所述嵌入式开放图形库OpenGLES对应的预设着色器脚本源代码中的起始位置包括数据类型精度限定语句,以使所述预设着色器脚本源代码被正确编译。4.根据权利要求1所述的方法,其特征在于,在所述依据所述适配图形库的图形库标识,确定与所述适配图形库对应的预设着色器脚本源代码之前,还包括:以嵌入式开放图形库标识AA_UseOpenGLES为函数输入参数,调用跨平台C++图形用户界面应用程序开发框架QT中应用程序类QApplication的属性检测静态函数testAttribute,获得函数返回值;依据所述函数返回值,确定所述适配图形库的图形库标识。5.根据权利要求1所述的方法,其特征在于,所述依据待渲染数据,调用所述预设着色器脚本源代码,获得目标渲染图像包括:依据所述待渲染数据,调用所述预设着色器脚本源代码中的纹理创建函数,创建所述待渲染数据对应的纹理;基于所述纹理,调用所述预设着...

【专利技术属性】
技术研发人员:杨亮张文明陈少杰
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1