summaryrefslogtreecommitdiff
path: root/demo
diff options
context:
space:
mode:
authorsanine <sanine.not@pm.me>2022-08-22 11:38:26 -0500
committersanine <sanine.not@pm.me>2022-08-22 11:38:26 -0500
commit249833947ff691dd79453c4d817387a6922236d6 (patch)
tree9fb1666f6ad443e13c5c6376ea949fbce6e58cfd /demo
parenta2c162f12337142c054c2e1f01ad508ee56963d2 (diff)
add element buffers
Diffstat (limited to 'demo')
-rw-r--r--demo/honey.lua20
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()