The embodiment of the invention provides a method and system for drawing entity based on OpenGL es2.0, wherein the method includes: constructing a shader management class, in which a variety of preset shader source code strings are stored, and each preset's shader source code string has a corresponding shader ID; based on the corresponding shader ID of the shader, the shader management class has a corresponding shader ID Initialize; encapsulate the method of using the shader according to the shader ID and the corresponding shader source code string; draw and display the entity. By setting up the shader management class which stores a variety of preset shader source code strings, the process of drawing primitives with OpenGL es2.0 is simplified. At the same time, it solves the problem that the required shaders can be customized without frequently modifying the shader source code strings, and the customized drawing can be easily carried out.
【技术实现步骤摘要】
一种基于OpenGLES2.0绘制图元的方法及系统
本专利技术涉及计算机
,更具体地,涉及一种基于OpenGLES2.0绘制图元的方法及系统。
技术介绍
传统的OpenGLES2.0绘制图元(包括点、线、面)的步骤一般包括创建着色器(包括顶点着色器和片元着色器)、指定着色器源代码字符串、编译着色器、创建着色器可执行程序、向可执行程序中添加着色器、链接可执行程序、使用可执行程序、绘制并显示图元。其中,在指定着色器源代码字符串时,一般使用GLSL语言,要么在程序中直接写好使用,要么使用GLSL文件的方式进行加载,而且着色器源代码字符串的编写是否成功直接影响到着色器可执行程序是否能创建成功,最终影响到图元能否显示。综合以上情况,OpenGLES2.0绘制一个图元的传统方法很复杂,而且要进行定制化绘制的时候需要修改着色器源代码字符串,很不方便且容易失败。
技术实现思路
本专利技术实施例提供一种克服上述问题或者至少部分地解决上述问题的基于OpenGLES2.0绘制图元的方法及系统。第一方面,本专利技术实施例提供一种基于OpenGLES2.0绘制图元的方法,包括:构建着色器管理类,所述着色器管理类中存储有多种预设的着色器源代码字符串,且每种预设的着色器源代码字符串都有对应的着色器标识;基于着色器对应的着色器标识,对所述着色器进行初始化;根据着色器标识和对应着色器源代码字符串封装使用着色器的方法;绘制并显示图元。可选地,所述着色器管理类中存储有顶点着色器和片 ...
【技术保护点】
1.一种基于OpenGL ES2.0绘制图元的方法,其特征在于,包括:/n构建着色器管理类,所述着色器管理类中存储有多种预设的着色器源代码字符串,且每种预设的着色器源代码字符串都有对应的着色器标识;/n基于着色器对应的着色器标识,对所述着色器进行初始化;/n根据着色器标识和对应着色器源代码字符串封装使用着色器的方法;/n绘制并显示图元。/n
【技术特征摘要】
1.一种基于OpenGLES2.0绘制图元的方法,其特征在于,包括:
构建着色器管理类,所述着色器管理类中存储有多种预设的着色器源代码字符串,且每种预设的着色器源代码字符串都有对应的着色器标识;
基于着色器对应的着色器标识,对所述着色器进行初始化;
根据着色器标识和对应着色器源代码字符串封装使用着色器的方法;
绘制并显示图元。
2.根据权利要求1所述的方法,其特征在于,所述着色器管理类中存储有顶点着色器和片元着色器的对中预设的着色器源代码字符串。
3.根据权利要求1所述的方法,其特征在于,基于着色器对应的着色器标识,对所述着色器进行初始化,具体包括:
基于所述着色器对应的着色器标识,从所述着色器管理类中选取对应的预设的着色器源代码字符串;
利用所述对应的预设的着色器源代码字符串对所述着色器进行初始化。
4.根据权利要求3所述的方法,其特征在于,所述利用所述对应的预设的着色器源代码字符串对所述着色器进行初始化,具体包括:
利用所述对应的预设的着色器源代码字符串依次编译着色器、创建着色器可执行程序、向可执行程序中添加...
【专利技术属性】
技术研发人员:林云齐,甘霖,郑武贞,尚忠亮,罗跃军,
申请(专利权)人:武汉中海庭数据技术有限公司,
类型:发明
国别省市:湖北;42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。