【技术实现步骤摘要】
一种基于WebGL的图形绘制方法、装置及系统
本申请涉及计算机图形绘制
,尤其涉及一种基于WebGL的图形绘制方法、装置及系统。
技术介绍
在网络游戏、动画展现等应用场景中,需要进行大量的多维图形(比如2D图形或3D图形)的绘制工作。图形绘制的快慢在较大程度上决定各种应用、程序对用户相应操作的响应速度,进而影响到该应用或程序的用户使用量。为提高图形绘制效率,在不依赖于浏览器为载体的情况下,一般使用专门开发的运行器(RunTime)如图1a,运行器的核心组成部分包括JS解析引擎和C++引擎框架,前者用于对JS项目中的指令集进行识别、解析,后者用于调用封装的C语言函数对指令进行执行操作。参见图1b,在运行器内运行JS代码编写的JS项目时,由运行器的JS解析引擎对JS代码项目中的指令集进行解析,然后将解析后的各条指令(如图中第一压栈中的A、B、C等)以“压栈”方式推送到C++引擎框架中执行,再通过OpenGLES进行渲染,最终完成预定图形的绘制工作。按照上述方式进行的图形绘制,指令集中的每条指令将按照“压栈”的顺序逐条执行,这种方式能够满足一些简单的应用场景,对于一些复杂的应用场景却“爱莫能助”。在现实应用中,指令集中的指令并非均是按序执行。比如,可能大量存在指令跳转(IF语句)的情形,即在满足预设条件时,由本条指令跳转到另一条指令执行(比如图1b中C执行后,在一定条件下执行D,在另一条件下执行F),而不是执行紧随本条指令之后的那条指令;再比如,可能大量存在指令循环(WHILE语句)的情形,即在满足预设循环条 ...
【技术保护点】
1.一种基于WebGL的图形绘制方法,其特征在于,包括:/n运行器接收对目标图形的绘制请求,所述绘制请求中包含基于WebGL的图形绘制规则指令集,所述图形绘制规则指令集至少包含一条对寄存器进行操作的指令,所述寄存器为内存中的临时存储区域;/n运行器根据所述图形绘制规则指令集对所述目标图形进行绘制。/n
【技术特征摘要】
1.一种基于WebGL的图形绘制方法,其特征在于,包括:
运行器接收对目标图形的绘制请求,所述绘制请求中包含基于WebGL的图形绘制规则指令集,所述图形绘制规则指令集至少包含一条对寄存器进行操作的指令,所述寄存器为内存中的临时存储区域;
运行器根据所述图形绘制规则指令集对所述目标图形进行绘制。
2.根据权利要求1所述的方法,其特征在于,所述图形绘制请求中包含所述图形绘制规则指令以及作为所述图形绘制规则指令的参数的预定操作类型和操作对象;
所述运行器根据所述图形绘制规则指令集对所述目标对象进行绘制,具体包括:
运行器根据所述图形绘制规则指令以及所述预定操作类型对所述操作对象进行操作,以对所述目标图形进行绘制。
3.根据权利要求2所述的方法,其特征在于,当所述图形绘制规则指令为对寄存器进行操作的指令以外的指令时,所述操作对象为操作对象索引,则运行器根据所述图形绘制规则指令以及所述预定操作类型对所述操作对象进行操作,包括:
运行器根据所述操作对象索引从数据区中获取所述操作对象索引对应的操作数据;
运行器根据所述图形绘制规则指令按照所述预定操作类型对所述操作数据进行操作。
4.根据权利要求3所述的方法,其特征在于,所述数据区包括全局数据区和局部数据区,所述操作对象索引包括全局数据区内第一操作数据的全局索引和局部数据区内第二操作数据的局部索引,则运行器根据所述图形绘制规则指令以及所述预定操作类型对所述操作对象进行操作,包括:
运行器根据所述全局索引从全局数据区获取第一操作数据,根据所述局部索引从局部数据区内获取第二操作数据;
运行器根据所述图形绘制规则指令按照所述预定操作类型对第一操作数据和第二操作数据进行操作。
5.根据权利要求4所述的方法,其特征在于,所述全局数据区由Web引擎设置,在图形绘制之前或之时由Web引擎端同步到运行器的数据区。
6.根据权利要求2所述的方法,其特征在于,当所述图形规则指令为对寄存器进行操作的指令时,
所述操作对象包括操作对象索引和寄存器索引,则运行器根据所述图形绘制规则指令以及所述预定操作类型对所述操作对象进行操作,包括:
运行器根据所述操作对象索引从数据区中获取所述操作对象索引对应的操作数据,并写入到所述寄存器索引对应的寄存器内;
运行器根据所述图形规则指令按照所述预定操作类型对所述寄存器内的操作数据进行操作;
或者,所述操作对象包括寄存器索引,则运行器根据所述图形绘制规则指令以及所述预定操作类型对所述操作对象进行操作,包括:
运行器将预定数据写入所述寄存器索引对应的寄存器内,或者,在运行器根据所述图形绘制规则指令以及所述预定操作类型对所述操作对象进行操作之前,将预定数据写入所述寄存器索引对应的寄存器内;
运行器根据所述图形绘制规则指令按照所述预定操作类型对所述寄存器内的操作数据进行操作。
7.根据权利要求6所述的方法,其特征在于,所述预定操作类型为判断型操作,则所述运行器根据所述图形规则指令按照所述预定操作类型对所述寄存器内的操作数据进行操作,包括:
运行器判断所述寄存器内的操作数据是否满足预定条件;如果满足,则跳转到预设的图形绘制规则指令,以便运行器执行所述预设的图形绘制规则指令对目标图形进行绘制。
8.根据权利要求6所述的方法,其特征在于,所述预定操作类型为运算型操作,则所述运行器根据所述图形规则指令按照所述预定操作类型对所述寄存器内的操作数据进行操作,包括:
运行器根据所述图形规则指令对所述寄存器内的操作数据进行运算操作。
9.根据权利要求8所述的方法,其特征在于,所述寄存器索引包括第一寄存器索引和第二寄存器索引,则运行器根据所述...
【专利技术属性】
技术研发人员:谢成鸿,
申请(专利权)人:搜游网络科技北京有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。