     gl.bindBuffer gl.ARRAY_BUFFER, @_vertexBuffer
     gl.bufferData gl.ARRAY_BUFFER, vertices, gl.STATIC_DRAW
 
-    gl.vertexAttribPointer VERTEX_INDEX_LOCATION, 1, gl.FLOAT, false, 0, 0
-    gl.enableVertexAttribArray VERTEX_INDEX_LOCATION
+    gl.vertexAttribPointer VERTEX_INDEX_ATTRIBUTE_LOCATION, 1, gl.FLOAT, false, 0, 0
+    gl.enableVertexAttribArray VERTEX_INDEX_ATTRIBUTE_LOCATION
+
+
+  _setData: ->
+
+
+
+  _render: ->
+
+
+    width = @canvas.offsetWidth * (window.devicePixelRatio || 1)
+    height = @canvas.offsetHeight * (window.devicePixelRatio || 1)
+
+    unless width is @_width and height is @_height
+
+      @_width = @canvas.width = width
+      @_height = @canvas.height = height
+
+      @gl.viewport 0, 0, width, height
+
+
+
+    @gl.clearColor 0, 0, 0, 1
+    @gl.clear @gl.COLOR_BUFFER_BIT
+    @gl.drawArrays @gl.POINTS, 0, @vertexCount
+
+
 
 
 

    gl.attachShader @_program, @_vertexShader
    gl.attachShader @_program, @_fragmentShader

    gl.bindAttribLocation(@_program, VERTEX_INDEX_LOCATION, "a_VertexIndex")
    # Link the program object
    gl.linkProgram @_program
    # Check the result of linking


    @_linkProgram()

    @_setData()

    @_render()



  ##
  ## Functions for each step in the resource management graph (see diagram on class comment)
  ##

  _createContext: ->
