webgl是一种3D绘图协议,衍生于 OpenGL ES2.0,可以结合HtmI5和JavaScript 在网页上绘制和渲染二/三维图形
demo案例:
Title
封装的initShader方法:
function initShader(gl, VERTEX_SHADER_SOURCE, FRAGMENT_SHADER_SOURCE) {const vertexShader = gl.createShader(gl.VERTEX_SHADER);const fragmentShader = gl.createShader(gl.FRAGMENT_SHADER);gl.shaderSource(vertexShader, VERTEX_SHADER_SOURCE) // 指定顶点着色器的源码gl.shaderSource(fragmentShader, FRAGMENT_SHADER_SOURCE) // 指定片元着色器的源码// 编译着色器gl.compileShader(vertexShader)gl.compileShader(fragmentShader)// 创建一个程序对象const program = gl.createProgram();gl.attachShader(program, vertexShader)gl.attachShader(program, fragmentShader)gl.linkProgram(program)gl.useProgram(program)return program;
}