summaryrefslogtreecommitdiffstats
path: root/blockgame/mesh.js
diff options
context:
space:
mode:
authorJon Santmyer <jon@jonsantmyer.com>2021-04-25 02:46:43 +0000
committerJon Santmyer <jon@jonsantmyer.com>2021-04-25 02:46:43 +0000
commit9acfb6bfffc31e39dfb273f870a2235e5968ffc9 (patch)
tree150d4426c9a059c7224b5d73ea57cce54fee28fe /blockgame/mesh.js
parenta5f4d66313bb1a455bbc344a671dd16d315a0fdc (diff)
downloadwebsite-9acfb6bfffc31e39dfb273f870a2235e5968ffc9.tar.gz
website-9acfb6bfffc31e39dfb273f870a2235e5968ffc9.tar.bz2
website-9acfb6bfffc31e39dfb273f870a2235e5968ffc9.zip
add 2D rendering to blockgame
Diffstat (limited to 'blockgame/mesh.js')
-rw-r--r--blockgame/mesh.js24
1 files changed, 24 insertions, 0 deletions
diff --git a/blockgame/mesh.js b/blockgame/mesh.js
new file mode 100644
index 0000000..0e39fd0
--- /dev/null
+++ b/blockgame/mesh.js
@@ -0,0 +1,24 @@
+
+export class Mesh {
+ constructor(gl, dims) {
+ this.posbuffer = gl.createBuffer();
+ this.dimensions = dims;
+ }
+
+ add_positions(gl, positions) {
+ gl.bindBuffer(gl.ARRAY_BUFFER, this.posbuffer);
+ gl.bufferData(gl.ARRAY_BUFFER, new Float32Array(positions), gl.STATIC_DRAW);
+ }
+
+ addattrib(gl, shader, buffer, components, type, normalized, stride, offset) {
+ gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
+ gl.vertexAttribPointer(
+ shader.attribs.position,
+ components,
+ type,
+ normalized,
+ stride,
+ offset);
+ gl.enableVertexAttribArray(shader.attribs.position);
+ }
+}