diff options
Diffstat (limited to 'blockgame/shaders.js')
-rw-r--r-- | blockgame/shaders.js | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/blockgame/shaders.js b/blockgame/shaders.js deleted file mode 100644 index 6a6e9af..0000000 --- a/blockgame/shaders.js +++ /dev/null @@ -1,67 +0,0 @@ - -const vs_src = ` - attribute vec4 aVertexPosition; - - uniform mat4 uModelViewMatrix; - uniform mat4 uProjectionMatrix; - - void main() { - gl_Position = uProjectionMatrix * uModelViewMatrix * aVertexPosition; - } -`; - -// Fragment shader program - -const fs_src = ` - void main() { - gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0); - } -`; - -export class ShaderInfo { - constructor(gl, program) { - this.program = program; - - this.attribs = { - position: gl.getAttribLocation(program, 'aVertexPosition') - }; - - this.uniforms = { - projectionMatrix: gl.getUniformLocation(program, 'uProjectionMatrix'), - modelViewMatrix: gl.getUniformLocation(program, 'uModelViewMatrix') - }; - } -} - -export function init(gl) { - const vshader = loadShader(gl, gl.VERTEX_SHADER, vs_src); - const fshader = loadShader(gl, gl.FRAGMENT_SHADER, fs_src); - - let program = gl.createProgram(); - gl.attachShader(program, vshader); - gl.attachShader(program, fshader); - - gl.linkProgram(program); - - if(!gl.getProgramParameter(program, gl.LINK_STATUS)) { - alert("Unable to initialize shader program: " + gl.getProgramInfoLog(program)); - return null; - } - - return new ShaderInfo(gl, program); -} - -export function loadShader(gl, type, src){ - const shader = gl.createShader(type) - - gl.shaderSource(shader, src); - gl.compileShader(shader); - - if(!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) { - alert('Failed to compile shader : ' + gl.getShaderInfoLog(shader)); - gl.deleteShader(shader); - return null; - } - - return shader; -} |