WebGL中的函数及内置属性介绍

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变量的名称
返回值大于等于0attribute变量的储存地址
-1指定的attribute变量不存在,或者其命名具有gl_或webgl_前缀
错误INVALID_OPERATION程序对象未能成功连接
 INVALID_VALUEname参数的长度大于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_VALUElocation大于等于attribute变量的最大数目(默认为8)

转载于:https://www.cnblogs.com/luoshang/p/7802588.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值