diff --git a/pixelgl/canvas.go b/pixelgl/canvas.go
index 53b2b0ea86ce0f0c10beaa8ddfab4e4b4d9b7a97..758a5b5abb1c64e8dbd92233e9e1c5ff3d39d4bb 100644
--- a/pixelgl/canvas.go
+++ b/pixelgl/canvas.go
@@ -188,6 +188,7 @@ func (ct *canvasTriangles) draw(tex *glhf.Texture, bounds pixel.Rect) {
 
 	mainthread.CallNonBlock(func() {
 		ct.dst.setGlhfBounds()
+		glhf.BlendFunc(glhf.One, glhf.OneMinusSrcAlpha)
 
 		frame := ct.dst.gf.Frame()
 		shader := ct.dst.shader