     gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0);
   }
   """
-
+  
+  # Daftar Attribute dan Uniform
   attributes = ['position']
   uniforms   = ['modelViewMatrix','projectionMatrix']
-
+  
+  # Buat Shader Program
   shaderProgram = createShaderProgram gl, vert, frag, attributes, uniforms
   
+  # Aktifkan program
   gl.useProgram shaderProgram.program
-
+  
+  # Fungsi animate () untuk mengupdate scene
   animate = () ->
     timeNow = new Date().getTime()
     if animate.lastTime? and animate.lastTime != 0
       elapsed = timeNow - animate.lastTime
     animate.lastTime = timeNow
-
+  
+  # Render mesh
   render  = (program, vertbuf, indexbuf, gl) ->
     gl.clear gl.COLOR_BUFFER_BIT
     gl.viewport 0, 0, gl.viewportWidth, gl.viewportHeight

    gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
  }  
  """

  frag = """
  precision mediump float;
  

    window.alert "Shader Error!"
    return null
  
  # Buat Map berisi program, lokasi attribute, dan lokasi uniform
  rMap = {}
  rMap.program    = program
  rMap.attributes = {}
