说明:收录90万 73个行业的国家标准 支持批量下载
(19)国家知识产权局 (12)发明 专利 (10)授权公告 号 (45)授权公告日 (21)申请 号 202211095506.6 (22)申请日 2022.09.08 (65)同一申请的已公布的文献号 申请公布号 CN 115167949 A (43)申请公布日 2022.10.11 (73)专利权人 西安芯瞳半导体技 术有限公司 地址 710065 陕西省西安市高新区唐延南 路8号泰维智链中心T1 3 01室 (72)发明人 杜文华 李彪 刘伟 曹伟  (74)专利代理 机构 西安维英 格知识产权代理事 务所(普通 合伙) 6125 3 专利代理师 沈寒酉 王哲 (51)Int.Cl. G06F 9/445(2018.01)(56)对比文件 CN 113485773 A,2021.10.08 CN 110659024 A,2020.01.07 CN 113838180 A,2021.12.24 CN 112764797 A,2021.0 5.07 US 10074206 B1,2018.09.1 1 US 2016011890 A1,2016.01.14 王有禄等.Andro id系统下基 于NDK方式的图 形开发. 《计算机系统应用》 .2012,(第12期), 审查员 辛小霞 (54)发明名称 高版本OpenGL函数适配低版本应用程序的 方法、 装置及 介质 (57)摘要 本发明实施例公开了一种 高版本OpenGL函 数适配低版本应用程序的方法、 装置及介质, 该 方法可以包括: 在应用程序启动前预加载动态库 文件; 其中, 所述动态库文件包括由高版本 OpenGL函数模拟所得到的在高版本OpenGL函数 中已被摒弃的低版本OpenGL函数; 在所述应用程 序运行过程中, 相应于被执行的Open GL函数在高 版本OpenGL函数库中不存在, 则调用所述动态库 文件中所模拟的且与所述被执行的OpenGL函数 同名的低版本Open GL函数; 相应于 所述被执行的 OpenGL函数在所述高版本Open GL函数库中存在, 则直接调用高版本OpenGL函数库中与所述被执 行的OpenGL 函数同名的OpenGL 函数。 权利要求书2页 说明书13页 附图7页 CN 115167949 B 2022.12.06 CN 115167949 B 1.一种高版本OpenGL 函数适配低版本应用程序的方法, 其特 征在于, 所述方法包括: 在应用程序启动前预加载动态库文件; 其中, 所述动态库文件包括由高版本OpenGL函 数模拟所 得到的在高版本OpenGL 函数中已被 摒弃的低版本OpenGL 函数; 在所述应用程序 运行过程中, 相应于被执行的Op enGL函数在高版本Op enGL函数库中不 存在, 则调用所述动态库文件中所模拟的且与所述被执行的OpenGL函数同名的低版本 OpenGL函数; 相应于所述被执行的Op enGL函数在 所述高版本Op enGL函数库中存在, 则直接调用高版 本OpenGL 函数库中与所述被执 行的OpenGL 函数同名的OpenGL 函数; 其中, 所述方法还 包括: 根据应用程序与本地的高版本OpenGL函数库筛选获得需要由高版本OpenGL函数模拟 的低版本OpenGL 函数列表; 利用高版本Op enGL函数库中的函数, 对所述函数列表中的每个低版本Op enGL函数进行 模拟, 并将模拟得到的低版本OpenGL 函数封装为动态库文件; 其中, 所述利用高版本OpenGL函数库中的函数, 对所述函数列表中的每个低版本 OpenGL函数进行模拟, 并将模拟得到的低版本OpenGL 函数封装为动态库文件, 包括: 使用高版本OpenGL函数模拟低版本OpenGL函数前引入默认的顶点着色器和片段着色 器的Shader以及其对应的输入、 输出参数; 根据OpenGL函数所定义的功能, 利用高版本OpenGL函数库 中的一个或多个函数, 对所 述函数列表中的每个低版本OpenGL函数进行模拟并使用全局上下文记录模拟过程中高版 本OpenGL函数所使用的函数信息; 所述函数信息至少包括: 函数调用次序、 函数调用参数次 序; 将使用高版本OpenGL 函数模拟完成的低版本OpenGL 函数列表封装为动态库文件。 2.根据权利 要求1所述方法, 其特征在于, 所述根据应用程序与本地的高版本OpenGL函 数库筛选获得需要由高版本OpenGL 函数模拟的低版本OpenGL 函数列表, 包括: 对比应用程序与高版本Op enGL函数库中的函数, 将处于应用程序中且高版本Op enGL函 数库中不存在的低版本OpenGL 函数添加至所述 函数列表; 或者, 预先执行应用程序以通过图形API接口调用高版本OpenGL函数库, 将报错信息中的低 版本OpenGL 函数添加至所述 函数列表。 3.根据权利要求1所述方法, 其特征在于, 所述在应用程序启动前预加载动态库文件, 包括: 在应用程序启动前采用LD_PRELOAD方式预加载 所述动态库文件; 或者, 在应用程序启动前采用ELF  PLT HOOK方式预加载 所述动态库文件; 或者, 在应用程序启动前采用M HOOK方式预加载 所述动态库文件。 4.一种高版本OpenGL函数适配低版本应用程序的装置, 其特征在于, 所述装置包括: 预 加载部分、 第一调用部分和第二调用部分; 其中, 所述预加载部分, 经配置为在应用程序启动前预加载动态库文件; 其中, 所述动态库文 件包括由高版本OpenGL函数模拟所得到的在高版本OpenGL函数中已被摒弃的低版本 OpenGL函数; 所述第一调用部分, 经配置为在所述应用程序运行过程中, 相应于被执行的OpenGL函权 利 要 求 书 1/2 页 2 CN 115167949 B 2数在高版本 OpenGL函数库中不存在, 则调用所述动态库文件中所模拟的且与所述被执行的 OpenGL函数同名的低版本OpenGL 函数; 所述第二调用部分, 经配置为相应于所述被执行的Op enGL函数在 所述高版本Op enGL函 数库中存在, 则直接调用高版本OpenGL函数库中与所述被执行的OpenGL函数同名的OpenGL 函数; 其中, 所述装置还 包括: 筛选部分和模拟部分; 所述筛选部分, 经配置为根据应用程序与本地的高版本OpenGL函数库筛选获得需要由 高版本OpenGL 函数模拟的低版本OpenGL 函数列表; 所述模拟部分, 经配置为利用高版本OpenGL函数库中的函数, 对所述函数列表中的每 个低版本OpenGL 函数进行模拟, 并将模拟得到的低版本OpenGL 函数封装为动态库文件; 其中, 所述模拟部分, 还经配置为: 使用高版本OpenGL函数模拟低版本OpenGL函数前引入默认的顶点着色器和片段着色 器的Shader以及其对应的输入、 输出参数; 根据OpenGL函数所定义的功能, 利用高版本OpenGL函数库 中的一个或多个函数, 对所 述函数列表中的每个低版本OpenGL函数进行模拟并使用全局上下文记录模拟过程中高版 本OpenGL函数所使用的函数信息; 所述函数信息至少包括: 函数调用次序、 函数调用参数次 序; 将使用高版本OpenGL 函数模拟完成的低版本OpenGL 函数列表封装为动态库文件。 5.根据权利要求 4所述的装置, 其特 征在于, 所述预加载部分, 经配置为: 在应用程序启动前采用LD_PRELOAD方式预加载 所述动态库文件; 或者, 在应用程序启动前采用ELF  PLT HOOK方式预加载 所述动态库文件; 或者, 在应用程序启动前采用M HOOK方式预加载 所述动态库文件。 6.一种计算设备, 其特征在于, 所述计算设备包括: 通信接口, 处理器, 存储器; 各个组 件通过总线系统耦合在一 起; 其中, 所述通信接口, 用于在与其 他外部网元之间进行收发信息过程中, 信号的接收和发送; 所述存储器, 用于存 储能够在所述处 理器上运行的计算机程序; 所述处理器, 用于在运行所述计算机程序时, 执行权利要求1至3任一项所述高版本 OpenGL函数适配低版本应用程序的方法的步骤。 7.一种计算机存储介质, 其特征在于, 所述计算机存储介质存储有高版本OpenGL函数 适配低版本应用程序的程序, 所述程序被至少一个处理器执行时实现权利要求1 ‑3任一项 所述高版本OpenGL 函数适配低版本应用程序的方法的步骤。权 利 要 求 书 2/2 页 3 CN 115167949 B 3

.PDF文档 专利 高版本OpenGL函数适配低版本应用程序的方法、装置及介质

文档预览
中文文档 23 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共23页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 高版本OpenGL函数适配低版本应用程序的方法、装置及介质 第 1 页 专利 高版本OpenGL函数适配低版本应用程序的方法、装置及介质 第 2 页 专利 高版本OpenGL函数适配低版本应用程序的方法、装置及介质 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 16:38:21上传分享
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。