MCPcopy Create free account
hub / github.com/Ice-Hazymoon/MikuTools / createProgram

Function createProgram

utils/anime4k.js:15–45  ·  view source on GitHub ↗
(gl, vertexSource, fragmentSource)

Source from the content-addressed store, hash-verified

13}
14
15function createProgram(gl, vertexSource, fragmentSource) {
16 var program = gl.createProgram();
17
18 var vertexShader = createShader(gl, gl.VERTEX_SHADER, vertexSource);
19 var fragmentShader = createShader(gl, gl.FRAGMENT_SHADER, fragmentSource);
20
21 gl.attachShader(program, vertexShader);
22 gl.attachShader(program, fragmentShader);
23
24 gl.linkProgram(program);
25 if (!gl.getProgramParameter(program, gl.LINK_STATUS)) {
26 throw new Error(gl.getProgramInfoLog(program));
27 }
28
29 var wrapper = {
30 program: program
31 };
32
33 var numAttributes = gl.getProgramParameter(program, gl.ACTIVE_ATTRIBUTES);
34 for (var i = 0; i < numAttributes; i++) {
35 var attribute = gl.getActiveAttrib(program, i);
36 wrapper[attribute.name] = gl.getAttribLocation(program, attribute.name);
37 }
38 var numUniforms = gl.getProgramParameter(program, gl.ACTIVE_UNIFORMS);
39 for (var i$1 = 0; i$1 < numUniforms; i$1++) {
40 var uniform = gl.getActiveUniform(program, i$1);
41 wrapper[uniform.name] = gl.getUniformLocation(program, uniform.name);
42 }
43
44 return wrapper;
45}
46
47function createTexture(gl, filter, data, width, height) {
48 var texture = gl.createTexture();

Callers 1

ScalerFunction · 0.85

Calls 1

createShaderFunction · 0.85

Tested by

no test coverage detected