[发明专利]一种基于OpenGL ES2.0绘制图元的方法及系统在审
申请号: | 201910829623.2 | 申请日: | 2019-09-03 |
公开(公告)号: | CN110543620A | 公开(公告)日: | 2019-12-06 |
发明(设计)人: | 林云齐;甘霖;郑武贞;尚忠亮;罗跃军 | 申请(专利权)人: | 武汉中海庭数据技术有限公司 |
主分类号: | G06F17/21 | 分类号: | G06F17/21;G06F3/14 |
代理公司: | 42242 武汉蓝宝石专利代理事务所(特殊普通合伙) | 代理人: | 王振宇<国际申请>=<国际公布>=<进入 |
地址: | 430000 湖北省武汉市*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 着色器 源代码 字符串 管理类 绘制 图元 预设 定制化 设置存储 初始化 构建 封装 存储 创建 | ||
本发明实施例提供一种基于OpenGL ES2.0绘制图元的方法及系统,其中方法包括:构建着色器管理类,所述着色器管理类中存储有多种预设的着色器源代码字符串,且每种预设的着色器源代码字符串都有对应的着色器标识;基于着色器对应的着色器标识,对所述着色器进行初始化;根据着色器标识和对应着色器源代码字符串封装使用着色器的方法;绘制并显示图元。通过设置存储有多种预设的着色器源代码字符串的着色器管理类,简化了使用OpenGL ES2.0绘制图元的过程,同时解决了不用频繁修改着色器源代码字符串就可以定制化创建所需的着色器,可以方便地进行定制化绘制。
技术领域
本发明涉及计算机技术领域,更具体地,涉及一种基于OpenGL ES2.0绘制图元的方法及系统。
背景技术
传统的OpenGL ES2.0绘制图元(包括点、线、面)的步骤一般包括创建着色器(包括顶点着色器和片元着色器)、指定着色器源代码字符串、编译着色器、创建着色器可执行程序、向可执行程序中添加着色器、链接可执行程序、使用可执行程序、绘制并显示图元。其中,在指定着色器源代码字符串时,一般使用GLSL语言,要么在程序中直接写好使用,要么使用GLSL文件的方式进行加载,而且着色器源代码字符串的编写是否成功直接影响到着色器可执行程序是否能创建成功,最终影响到图元能否显示。综合以上情况,OpenGL ES2.0绘制一个图元的传统方法很复杂,而且要进行定制化绘制的时候需要修改着色器源代码字符串,很不方便且容易失败。
发明内容
本发明实施例提供一种克服上述问题或者至少部分地解决上述问题的基于OpenGL ES2.0绘制图元的方法及系统。
第一方面,本发明实施例提供一种基于OpenGL ES2.0绘制图元的方法,包括:
构建着色器管理类,所述着色器管理类中存储有多种预设的着色器源代码字符串,且每种预设的着色器源代码字符串都有对应的着色器标识;
基于着色器对应的着色器标识,对所述着色器进行初始化;
根据着色器标识和对应着色器源代码字符串封装使用着色器的方法;
绘制并显示图元。
可选地,所述着色器管理类中存储有顶点着色器和片元着色器的对中预设的着色器源代码字符串。
可选地,基于着色器对应的着色器标识,对所述着色器进行初始化,具体包括:
基于所述着色器对应的着色器标识,从所述着色器管理类中选取对应的预设的着色器源代码字符串;
利用所述对应的预设的着色器源代码字符串对所述着色器进行初始化。
可选地,所述利用所述对应的预设的着色器源代码字符串对所述着色器进行初始化,具体包括:
利用所述对应的预设的着色器源代码字符串依次编译着色器、创建着色器可执行程序、向可执行程序中添加着色器、链接可执行程序、使用可执行程序。
可选地,还包括:
增加额外种类的预设的着色器源代码字符串至所述着色器管理类中。
第二方面,本发明实施例提供一种基于OpenGL ES2.0绘制图元的系统,包括:
构建模块,用于构建着色器管理类,所述着色器管理类中存储有多种预设的着色器源代码字符串,且每种预设的着色器源代码字符串都有对应的着色器标识;
初始化模块,用于基于着色器对应的着色器标识,对所述着色器进行初始化;
封装模块,用于根据着色器标识和对应着色器源代码字符串封装使用着色器的方法;
绘制模块,用于绘制并显示图元。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉中海庭数据技术有限公司,未经武汉中海庭数据技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910829623.2/2.html,转载请声明来源钻瓜专利网。