Skip to content

Instantly share code, notes, and snippets.

@PhilipWitte
Last active August 29, 2015 13:57
Show Gist options
  • Save PhilipWitte/9402516 to your computer and use it in GitHub Desktop.
Save PhilipWitte/9402516 to your computer and use it in GitHub Desktop.
var
vertArrayObject: GLuint
vertBufferObject: GLuint
proc init =
var verts = [
0f32, 0f32, 0f32,
4f32, 0f32, 0f32,
0f32, 4f32, 0f32,
0f32, 4f32, 0f32,
4f32, 0f32, 0f32,
4f32, 4f32, 0f32 ]
glGenVertexArrays(1, addr vertArrayObject)
glBindVertexArray(vertArrayObject)
glGenBuffers(1, addr vertBufferObject)
glBindBuffer(GL_ArrayBuffer, vertBufferObject)
glBufferData(GL_ArrayBuffer, verts.sizeof.GL_SizeIPtr, addr verts, GL_StaticDraw)
glVertexAttribPointer(0, 3, CGL_Float, false, 0, nil)
glEnableVertexAttribArray(0)
glBindVertexArray(0)
proc render =
# clear..
glClearColor(0.2, 0.5, 0.5, 1)
glClear(GL_ColorBufferBit)
# bind to your VAO handle
glBindVertexArray(vertArrayObject)
# draw
glDrawArrays(GL_Triangles, 0, 6) # draw 6 verts
# unbind it
glBindVertexArray(0)
# present...
SDL.glSwapWindow(...)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment