diff options
author | sanine <sanine.not@pm.me> | 2022-08-22 11:38:26 -0500 |
---|---|---|
committer | sanine <sanine.not@pm.me> | 2022-08-22 11:38:26 -0500 |
commit | 249833947ff691dd79453c4d817387a6922236d6 (patch) | |
tree | 9fb1666f6ad443e13c5c6376ea949fbce6e58cfd /demo/honey.lua | |
parent | a2c162f12337142c054c2e1f01ad508ee56963d2 (diff) |
add element buffers
Diffstat (limited to 'demo/honey.lua')
-rw-r--r-- | demo/honey.lua | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/demo/honey.lua b/demo/honey.lua index 5e14461..2b1759f 100644 --- a/demo/honey.lua +++ b/demo/honey.lua @@ -62,14 +62,20 @@ gl.shader.delete(fragmentShader) local vertices = { - -0.5, -0.5, 0.0, - 0.5, -0.5, 0.0, - 0.0, 0.5, 0.0 -} + 0.5, 0.5, 0.0, + 0.5, -0.5, 0.0, + -0.5, -0.5, 0.0, + -0.5, 0.5, 0.0 +} +local indices = { + 0, 1, 3, + 1, 2, 3 +} local vertexArray = gl.data.createVertexArray() local vertexBuffer = gl.data.createBuffer() +local elementBuffer = gl.data.createBuffer() gl.data.bindVertexArray(vertexArray) gl.data.bindBuffer(gl.data.bufferTarget.arrayBuffer, vertexBuffer) @@ -78,6 +84,9 @@ if err ~= gl.errorType.noError then error(gl.errorName(err)) end gl.data.bufferData(gl.data.bufferTarget.arrayBuffer, gl.dataType.float, vertices, gl.data.bufferUsage.staticDraw) if gl.getError() ~= gl.errorType.noError then error(gl.getError()) end +gl.data.bindBuffer(gl.data.bufferTarget.elementArrayBuffer, elementBuffer) +gl.data.bufferData(gl.data.bufferTarget.elementArrayBuffer, gl.dataType.uint, indices, gl.data.bufferUsage.staticDraw) + gl.data.vertexAttribPointer(0, 3, false, 3, 0) if gl.getError() ~= gl.errorType.noError then error(gl.getError()) end gl.data.vertexArrayEnableAttrib(0) @@ -92,7 +101,8 @@ while not window.shouldClose(w) do gl.shader.use(shader) gl.data.bindVertexArray(vertexArray) - gl.draw.drawArrays(gl.draw.primitiveType.triangles, 0, 3) + --gl.draw.drawArrays(gl.draw.primitiveType.triangles, 0, 3) + gl.draw.drawElements(gl.draw.primitiveType.triangles, 6, gl.dataType.uint, 0) window.swapBuffers(w) window.pollEvents() |