webgl-sketch
Advanced tools
Comparing version 0.1.0 to 0.2.0
{ | ||
"name": "webgl-sketch", | ||
"version": "0.1.0", | ||
"version": "0.2.0", | ||
"description": "A WebGL canvas—shader wrapper library", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
@@ -1,31 +0,4 @@ | ||
const positions = new Float32Array([ | ||
-1.0, | ||
-1.0, | ||
1.0, | ||
-1.0, | ||
-1.0, | ||
1.0, | ||
-1.0, | ||
1.0, | ||
1.0, | ||
-1.0, | ||
1.0, | ||
1.0 | ||
]); | ||
const positions = new Float32Array([-1, -1, 1, -1, -1, 1, -1, 1, 1, -1, 1, 1]); | ||
const texcoords = new Float32Array([0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1]); | ||
const texcoords = new Float32Array([ | ||
0.0, | ||
0.0, | ||
1.0, | ||
0.0, | ||
0.0, | ||
1.0, | ||
0.0, | ||
1.0, | ||
1.0, | ||
0.0, | ||
1.0, | ||
1.0 | ||
]); | ||
function attachArrayBuffer(gl, program, key, data) { | ||
@@ -95,13 +68,18 @@ const location = gl.getAttribLocation(program, key); | ||
function render() { | ||
if (isDynamic) setUniform('time', (Date.now() - start) * 0.001); | ||
gl.drawArrays(gl.TRIANGLES, 0, 6); | ||
if (isDynamic) { | ||
window.requestAnimationFrame(render); | ||
} | ||
} | ||
const render = isDynamic | ||
? () => { | ||
setUniform('time', (Date.now() - start) * 0.001); | ||
gl.drawArrays(gl.TRIANGLES, 0, 6); | ||
window.requestAnimationFrame(render); | ||
} | ||
: () => { | ||
gl.drawArrays(gl.TRIANGLES, 0, 6); | ||
}; | ||
window.requestAnimationFrame(render); | ||
const rendered = new Promise(resolve => { | ||
window.requestAnimationFrame(render); | ||
resolve(); | ||
}); | ||
return { canvas, gl, program, render, setUniform }; | ||
return { canvas, gl, program, render, rendered, setUniform }; | ||
} | ||
@@ -108,0 +86,0 @@ |
5335
98