diff --git a/pixelgl/canvas.go b/pixelgl/canvas.go index 5bc8437952b959e5c5c17a79d72ecef5e26caf33..ff60479d3fa55d8a7edbf73e5011476382970df8 100644 --- a/pixelgl/canvas.go +++ b/pixelgl/canvas.go @@ -315,6 +315,10 @@ func (ct *canvasTriangles) draw(tex *glhf.Texture, bounds pixel.Rect) { ct.dst.shader.s.SetUniformAttr(loc, u.Value()) } + if clip, has := ct.ClipRect(); has { + gl.Scissor(int32(clip.Min.X), int32(clip.Min.Y), int32(clip.W()), int32(clip.H())) + } + if tex == nil { ct.vs.Begin() ct.vs.Draw() @@ -327,9 +331,6 @@ func (ct *canvasTriangles) draw(tex *glhf.Texture, bounds pixel.Rect) { } ct.vs.Begin() - if clip, has := ct.ClipRect(); has { - gl.Scissor(int32(clip.Min.X), int32(clip.Min.Y), int32(clip.W()), int32(clip.H())) - } ct.vs.Draw() ct.vs.End()