webgl着色器的原理
注意:着色器使用类似于C的OpenGL ES 着色器语言(GLSL ES)来编写的。因为着色器程序代码必须预先处理成单个字符串的形式,所以我们用+号将多行字符串连城一个长字符串。每一行以\n结束,这是由于当着色器内部出错时,就能获取出错的行号,这对于检查源代码中的错误很有帮助。但是,\n并不是必须的,你自己编写着色器时,也可以不用它。
初始化着色器的执行流程
- 获取元素
- 获取WebGL绘图上下文
- 初始化着色器 -initShaders(gl,vshader,fshader)
- 设置背景色
- 清除
绘图
注意:initShaders(gl,vshader,fshader) gl指定渲染上下文,vshader 指定顶点着色器程序代码(字符串),fshader指定片元着色器(像素)程序代码(字符串)返回值true,false 初始化成功、失败。
注意:webgl程序包括运行在浏览器中的js和运行在webgl系统的着色器这两个部分。