设备
技术领域
背景技术
[0002] 目前webgl需要绘制对象的线框时,需要先绘制出实体对象,然后再通过gl.LINES(每一对
顶点被解释为一条直线)的模式再绘制一遍模型,需要绘制两次,性能消耗大。且当使用gl.LINES绘制对象的线宽时,线宽只能设置为1。
发明内容
[0004] 鉴于上述现有技术的不足,本发明的目的在于提供一种基于教育操作系统的WebGL独立进程渲染方法及电子设备,旨在解决现有技术中,绘制实体对象效率低的问题。
[0005] 本发明的技术方案如下:
[0006] 一种基于教育操作系统的WebGL独立进程渲染方法,其中,包括步骤:
[0008] B.根据绘制界面的任意分量的值判断当前面是否绘制完成;
[0009] C.当所有面绘制完成时,根据屏幕
像素逆推设置线条宽度。
[0010] 所述的基于教育操作系统的WebGL独立进程渲染方法,其中,所述步骤A中包括:
[0011] 在绘制界面定义一个三
角形的
重心坐标;
[0012] 定义绘制界面中绘制对象的顶点的重心坐标;
[0014] 对片元着色器设置属性。
[0015] 所述的基于教育操作系统的WebGL独立进程渲染方法,其中,所述步骤B中,使用片元着色器判断绘制界面的任意分量值是否小于
指定阈值,当是时,判断所述绘制对象的一面绘制完成,进入下一面的绘制。
[0016] 所述的基于教育操作系统的WebGL独立进程渲染方法,其中,所述步骤C包括:
[0017] 获取webgl的扩展OES_standard_derivatives;
[0018] 在shader中开启所述扩展;
[0019] 使用扩展的功能将线宽的值缩放到屏幕变化的范围之内;
[0020] 获取屏幕像素空间的重心坐标,使用该变量进行逆推,得到可设置的线条宽度。
[0021] 所述的基于教育操作系统的WebGL独立进程渲染方法,其中,使用扩展的功能将线宽的值缩放到屏幕变化的范围之内的步骤中,通过减少锯齿,确定宽度阈值,对线宽的值进行缩放。
[0022] 一种电子设备,其中,包括:
[0023] 包括处理器,适于实现各指令,以及
[0024] 存储设备,适于存储多条指令,所述指令适于由处理器加载并执行:
[0025] 在绘制界面获取着色器属性;
[0026] 根据绘制界面的任意分量的值判断当前面是否绘制完成;
[0027] 当所有面绘制完成时,根据屏幕像素逆推设置线条宽度。
[0028] 所述的电子设备,其中,所述处理器还用于加载并执行:
[0029] 在绘制界面定义一个三角形的重心坐标;
[0030] 定义绘制界面中绘制对象的顶点的重心坐标;
[0031] 对顶点着色器设置属性;
[0032] 对片元着色器设置属性。
[0033] 所述的电子设备,其中,所述处理器还用于加载并执行:
[0034] 使用片元着色器判断绘制界面的任意分量值是否小于指定阈值,当是时,判断所述绘制对象的一面绘制完成,进入下一面的绘制。
[0035] 所述的电子设备,其中,所述处理器还用于加载并执行:
[0036] 获取webgl的扩展OES_standard_derivatives;
[0037] 在shader中开启所述扩展;
[0038] 使用扩展的功能将线宽的值缩放到屏幕变化的范围之内;
[0039] 获取屏幕像素空间的重心坐标,使用该变量进行逆推,得到可设置的线条宽度。
[0040] 所述的电子设备,其中,所述处理器还用于加载并执行:减少锯齿,确定宽度阈值,对线宽的值进行缩放。
[0041] 有益效果:本发明公开了一种基于教育操作系统的WebGL独立进程渲染方法及电子设备,其中,所述方法包括步骤:A.在绘制界面获取着色器属性;B.根据绘制界面的任意分量的值判断当前面是否绘制完成;C.当所有面绘制完成时,根据逆推设置线条宽度,通过本发明所述方案,减少绘制时间和步骤,提高了绘制效率。
附图说明
[0042] 下面将结合附图及
实施例对本发明作进一步说明,附图中:
[0043] 图1为本发明所述基于教育操作系统的WebGL独立进程渲染方法的步骤
流程图。
[0044] 图2为本发明所述电子设备的结构示意图。
具体实施方式
[0045] 本发明提供一种基于教育操作系统的WebGL独立进程渲染方法及电子设备,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0046] 请参阅图1,为本发明所述方法的步骤流程图,本发明公开了一种基于教育操作系统的WebGL独立进程渲染方法,其中,包括步骤:
[0047] S1.在绘制界面获取着色器属性;
[0048] S2.根据绘制界面的任意分量的值判断当前面是否绘制完成;
[0049] S3.当所有面绘制完成时,根据屏幕像素逆推设置线条宽度。
[0050] 进一步的,所述的基于教育操作系统的WebGL独立进程渲染方法,其中,所述步骤A中包括:
[0051] 在绘制界面定义一个三角形的重心坐标;
[0052] 定义绘制界面中绘制对象的顶点的重心坐标;
[0053] 对顶点着色器设置属性;
[0054] 对片元着色器设置属性。
[0055] 进一步的,所述的基于教育操作系统的WebGL独立进程渲染方法,其中,所述步骤B中,使用片元着色器判断绘制界面的任意分量值是否小于指定阈值,当是时,判断所述绘制对象的一面绘制完成,进入下一面的绘制。
[0056] 进一步的,所述的基于教育操作系统的WebGL独立进程渲染方法,其中,所述步骤C包括:
[0057] 获取webgl的扩展OES_standard_derivatives;
[0058] 在shader中开启所述扩展;
[0059] 使用扩展的功能将线宽的值缩放到屏幕变化的范围之内;
[0060] 获取屏幕像素空间的重心坐标,使用该变量进行逆推,得到可设置的线条宽度。
[0061] 进一步的,所述的基于教育操作系统的WebGL独立进程渲染方法,其中,使用扩展的功能将线宽的值缩放到屏幕变化的范围之内的步骤中,通过减少锯齿,确定宽度阈值,对线宽的值进行缩放。
[0062] 本发明具体实施方式,首先定义三角形的中心坐标,再定义顶点的重心坐标,比如(1.0.0)、(0.1.0)、(0.0.1)可以组成一个三角形;对顶点着色器设置属性;为片元着色器设置属性;使用片元着色器判断任意分量的值是否小鱼指定的阈值,当是时,判定已开始绘制另一面,此时需要更改着色器配置,即改变
颜色,绘制的线宽对象为多面体,当否时,继续当前绘制。
[0063] 等待绘制完成,不同的多面体对象有不同数量的显示面,需要所有显示面绘制完成,获取webgl的扩展OES_standard_derivatives,在shader中开启该扩展,使用扩张的功能将线宽的值缩放到屏幕变化的范围之内,通过减少锯齿,确定宽度阈值,获取屏幕像素空间的重心坐标,使用该变量进行逆推,得到可设置的线条宽度,实现线宽的设置。
[0064] 本发明较佳实施例,解决效果:
[0065] 1、对象可以由三角形组成,确定每个三角形的重心
坐标系后,利用重心坐标确定三角形的边,再由三角形组成对象,去除三角形的斜边或多余边后,得到对象的线
框图。
[0066] 2、引入webgl提供的一个扩展(OES_standard_derivatives),然后根据屏幕像素重心坐标轴的变化,绘制出指定宽度的线宽。
[0067] 进一步的,本发明还公开了一种电子设备10,如图2所示,为所述电子设备的结构示意图,其中,包括:
[0068] 包括处理器110,适于实现各指令,以及
[0069] 存储设备120,适于存储多条指令,所述指令适于由处理器110加载并执行:
[0070] 在绘制界面获取着色器属性;
[0071] 根据绘制界面的任意分量的值判断当前面是否绘制完成;
[0072] 当所有面绘制完成时,根据屏幕像素逆推设置线条宽度。
[0073] 所述处理器110可以为通用处理器、数字
信号处理器(DSP)、专用集成
电路(ASIC)、现场可编程
门阵列(FPGA)、
单片机、ARM(AcornRISCMachine)或其它
可编程逻辑器件、分立门或晶体管逻辑、分立的
硬件组件或者这些部件的任何组合。还有,处理器还可以是任何传统处理器、
微处理器或状态机。处理器也可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP核、任何其它这种配置。
[0074] 存储设备120作为一种非易失性计算机可读存储介质,可用于存储非易失性
软件程序、非易失性计算机可执行程序以及模
块,如本发明实施例中的教育互动方法对应的程序指令。处理器通过运行存储在存储设备中的非易失性软件程序、指令以及单元,从而执行教育互动方法的各种功能应用以及
数据处理,即实现上述方法实施例。
[0075] 进一步的,所述的电子设备,其中,所述处理器110还用于加载并执行:
[0076] 在绘制界面定义一个三角形的重心坐标;
[0077] 定义绘制界面中绘制对象的顶点的重心坐标;
[0078] 对顶点着色器设置属性;
[0079] 对片元着色器设置属性。
[0080] 进一步的,所述的电子设备,其中,所述处理器110还用于加载并执行:
[0081] 使用片元着色器判断绘制界面的任意分量值是否小于指定阈值,当是时,判断所述绘制对象的一面绘制完成,进入下一面的绘制。
[0082] 进一步的,所述的电子设备,其中,所述处理器110还用于加载并执行:
[0083] 获取webgl的扩展OES_standard_derivatives;
[0084] 在shader中开启所述扩展;
[0085] 使用扩展的功能将线宽的值缩放到屏幕变化的范围之内;
[0086] 获取屏幕像素空间的重心坐标,使用该变量进行逆推,得到可设置的线条宽度。
[0087] 进一步的,所述的电子设备,其中,所述处理器110还用于加载并执行:减少锯齿,确定宽度阈值,对线宽的值进行缩放。
[0088] 本发明具体实施方式,首先定义三角形的中心坐标,再定义顶点的重心坐标,比如(1.0.0)、(0.1.0)、(0.0.1)可以组成一个三角形;对顶点着色器设置属性;为片元着色器设置属性;使用片元着色器判断任意分量的值是否小鱼指定的阈值,当是时,判定已开始绘制另一面,此时需要更改着色器配置,即改变颜色,绘制的线宽对象为多面体,当否时,继续当前绘制。
[0089] 等待绘制完成,不同的多面体对象有不同数量的显示面,需要所有显示面绘制完成,获取webgl的扩展OES_standard_derivatives,在shader中开启该扩展,使用扩张的功能将线宽的值缩放到屏幕变化的范围之内,通过减少锯齿,确定宽度阈值,获取屏幕像素空间的重心坐标,使用该变量进行逆推,得到可设置的线条宽度,实现线宽的设置。
[0090] 综上所述,本发明公开了一种基于教育操作系统的WebGL独立进程渲染方法及电子设备,其中,所述方法包括步骤:A.在绘制界面获取着色器属性;B.根据绘制界面的任意分量的值判断当前面是否绘制完成;C.当所有面绘制完成时,根据逆推设置线条宽度,通过本发明所述方案,减少绘制时间和步骤,提高了绘制效率。
[0091] 应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附
权利要求的保护范围。