eglBindAPI(api = EGL_OPENGL_API) = EGL_TRUE glClearColor(red = 0.4, green = 0.4, blue = 0.4, alpha = 0) glCreateShader(type = GL_FRAGMENT_SHADER) = 1 glShaderSource(shader = 1, count = 1, string = &"varying vec4 v_color; void main() { gl_FragColor = v_color; } ", length = NULL) glCompileShader(shader = 1) glGetShaderiv(shader = 1, pname = GL_COMPILE_STATUS, params = &1) glCreateShader(type = GL_VERTEX_SHADER) = 2 glShaderSource(shader = 2, count = 1, string = &"uniform mat4 modelviewProjection; attribute vec4 pos; attribute vec4 color; varying vec4 v_color; void main() { gl_Position = modelviewProjection * pos; v_color = color; } ", length = NULL) glCompileShader(shader = 2) glGetShaderiv(shader = 2, pname = GL_COMPILE_STATUS, params = &1) glCreateProgram() = 3 glAttachShader(program = 3, shader = 1) glAttachShader(program = 3, shader = 2) glBindAttribLocation(program = 3, index = 0, name = "pos") glBindAttribLocation(program = 3, index = 1, name = "color") glLinkProgram(program = 3) glGetProgramiv(program = 3, pname = GL_LINK_STATUS, params = &1) glUseProgram(program = 3) glGetAttribLocation(program = 3, name = "pos") = 0 glGetAttribLocation(program = 3, name = "color") = 1 glGetUniformLocation(program = 3, name = "modelviewProjection") = 0 glViewport(x = 0, y = 0, width = 300, height = 300) glViewport(x = 0, y = 0, width = 300, height = 300) glViewport(x = 0, y = 0, width = 300, height = 300) glUniformMatrix4fv(location = 0, count = 1, transpose = GL_FALSE, value = {0.5, 0, 0, 0, 0, 0.5, 0, 0, 0, 0, 0.5, 0, 0, 0, 0, 1}) glClear(mask = GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT) glEnableVertexAttribArray(index = 0) glEnableVertexAttribArray(index = 1) glVertexAttribPointer(index = 0, size = 2, type = GL_FLOAT, normalized = GL_FALSE, stride = 0, pointer = blob(24)) glVertexAttribPointer(index = 1, size = 3, type = GL_FLOAT, normalized = GL_FALSE, stride = 0, pointer = blob(36)) glDrawArrays(mode = GL_TRIANGLES, first = 0, count = 3) glDisableVertexAttribArray(index = 0) glDisableVertexAttribArray(index = 1)