func onPaint(glctx gl.Context, sz size.Event) { glctx.ClearColor(0.5, 0.5, 0.5, 1) glctx.Clear(gl.COLOR_BUFFER_BIT) glctx.UseProgram(frameData.Program) glctx.Uniform4f(frameData.Color, 0.5, 0.5, 0.5, 1) // Put ourselves in the +x/+y quadrant (upper right quadrant) glctx.Uniform2f(frameData.Offset, 0.0, 1.0) glctx.EnableVertexAttribArray(frameData.Position) manager.PaintLayers(sz, frameData) // End drawing glctx.DisableVertexAttribArray(frameData.Position) }
func onPaint(glctx gl.Context, sz size.Event) { glctx.ClearColor(1, 0, 0, 1) glctx.Clear(gl.COLOR_BUFFER_BIT) glctx.UseProgram(program) green += 0.01 if green > 1 { green = 0 } glctx.Uniform4f(color, 0, green, 0, 1) glctx.Uniform2f(offset, touchX/float32(sz.WidthPx), touchY/float32(sz.HeightPx)) glctx.BindBuffer(gl.ARRAY_BUFFER, buf) glctx.EnableVertexAttribArray(position) glctx.VertexAttribPointer(position, coordsPerVertex, gl.FLOAT, false, 0, 0) glctx.DrawArrays(gl.TRIANGLES, 0, vertexCount) glctx.DisableVertexAttribArray(position) fps.Draw(sz) }
// This is the main rendering call that updates the current scene and all children in the scene func appPaint(glctx gl.Context, sz size.Event, delta float32) { glctx.ClearColor(currentScene.BGColor.R, currentScene.BGColor.G, currentScene.BGColor.B, currentScene.BGColor.A) glctx.Clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT) for _, child := range currentScene.Children { child.act(delta) child.draw(tempBatch, 1.0) if len(InputChannel) > 0 { for e := range InputChannel { if child.Input != nil { child.Input(child, e) } if len(InputChannel) == 0 { break } } } } glctx.UseProgram(program) green += 0.01 if green > 1 { green = 0 } glctx.Uniform4f(color, 0, green, 0, 1) glctx.Uniform2f(offset, touchX/float32(sz.WidthPx), touchY/float32(sz.HeightPx)) glctx.BindBuffer(gl.ARRAY_BUFFER, buf) glctx.EnableVertexAttribArray(position) glctx.VertexAttribPointer(position, coordsPerVertex, gl.FLOAT, false, 0, 0) glctx.DrawArrays(gl.TRIANGLES, 0, vertexCount) glctx.DisableVertexAttribArray(position) fps.Draw(sz) }
func (prg Program) U2f(ctx gl.Context, dst gl.Uniform, v0, v1 float32) { ctx.Uniform2f(dst, v0, v1) }