initShaders()//对字符串形式的着色器进行初始化
| initShaders(gl,vshader,fshader) | ||
| 在WebGL系统内部建立和初始化着色器 | ||
| 参数 | gl | 指定渲染上下文 | 
| vshader | 指定顶点着色器程序代码(字符串) | |
| fshader | 指定片原着色器程序代码(字符串) | |
| 返回值 | true | 初始化着色器成功 | 
| false | 初始化着色器失败 | |
gl.drawArrays()是一个强大的函数,他可以用来描绘各种图形
| gl.drawArrays(mode,first,count) | ||
| 执行顶点着色器,按照mode参数指定的方式描绘图形 | ||
| 参数 | mode | 指定的绘制的方式,可以接收以下常量符号:gl.POINTS,gl.LINES,gl.LINE_STRIP,gl.LINE_LOOP,gl.TRIANGLES,gl.TRIANGLE_STRIP,gl.TRIANGLE_FAN | 
| first | 指定从哪个顶点开始绘制(整型数) | |
| count | 指定绘制需要用到多少个顶点(整型数) | |
| 返回值 | 无 | |
| 错误 | INVALID_ENUM | 传入的mode参数不是前述参数之一 | 
| INVALID_VALUE | 参数first或count是负值 | |
gl.getAttribLocation()//获取attribute变量的储存位置
| gl.getAttribLocation(program,name) | ||
| 获取由name参数指定的attribute变量的储存地址 | ||
| 参数 | program | 指定包含顶点着色器和片原着色器的色器程序对象 | 
| name | 指定想要获取其储存地址的attribute变量的名称 | |
| 返回值 | 大于等于0 | attribute变量的储存地址 | 
| -1 | 指定的attribute变量不存在,或者其命名具有gl_或webgl_前缀 | |
| 错误 | INVALID_OPERATION | 程序对象未能成功连接 | 
| INVALID_VALUE | name参数的长度大于attribute变量名的最大长度(默认256字节) | |
gl.vertexAttrib3f()//向attribute变量赋值
| gl.vertexAttrib3f(location,v0,v1,v2) | ||
| 将数据(v0,v1,v2)传给由location参数指定的attribute变量 | ||
| 参数 | location | 指定将要修改的attribute变量的储存位置 | 
| v0 | 指定填充attribute变量第一个分量的值 | |
| v1 | 指定填充attribute变量第二个分量的值 | |
| v2 | 指定填充attribute变量第三个分量的值 | |
| 返回值 | 无 | |
| 错误 | INVALID_OPERATION | 没有当前的program对象 | 
| INVALID_VALUE | location大于等于attribute变量的最大数目(默认为8) | |
 
                    
                     
                    
                 
                    
                 
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号