func glInit() { var err error glimage.program, err = CreateProgram(vertexShader, fragmentShader) if err != nil { panic(err) } glimage.quadXY = gl.GenBuffer() glimage.quadUV = gl.GenBuffer() gl.BindBuffer(gl.ARRAY_BUFFER, glimage.quadXY) gl.BufferData(gl.ARRAY_BUFFER, gl.STATIC_DRAW, quadXYCoords) gl.BindBuffer(gl.ARRAY_BUFFER, glimage.quadUV) gl.BufferData(gl.ARRAY_BUFFER, gl.STATIC_DRAW, quadUVCoords) glimage.pos = gl.GetAttribLocation(glimage.program, "pos") glimage.mvp = gl.GetUniformLocation(glimage.program, "mvp") glimage.uvp = gl.GetUniformLocation(glimage.program, "uvp") glimage.inUV = gl.GetAttribLocation(glimage.program, "inUV") glimage.textureSample = gl.GetUniformLocation(glimage.program, "textureSample") }
func initGL() { var err error program, err = glutil.CreateProgram(vertexShader, fragmentShader) if err != nil { log.Printf("error creating GL program: %v", err) return } buf = gl.GenBuffer() gl.BindBuffer(gl.ARRAY_BUFFER, buf) gl.BufferData(gl.ARRAY_BUFFER, gl.STATIC_DRAW, triangleData) position = gl.GetAttribLocation(program, "position") color = gl.GetUniformLocation(program, "color") offset = gl.GetUniformLocation(program, "offset") touchLoc = geom.Point{geom.Width / 2, geom.Height / 2} }