diff --git a/push.lua b/push.lua index b22f698..531f21a 100644 --- a/push.lua +++ b/push.lua @@ -150,6 +150,8 @@ end function push:applyShaders(canvas, shaders) local _shader = love.graphics.getShader() + local _blendMode, _alphaMode = love.graphics.getBlendMode() + love.graphics.setBlendMode("alpha", "premultiplied") if #shaders <= 1 then love.graphics.setShader(shaders[1]) love.graphics.draw(canvas) @@ -180,6 +182,7 @@ function push:applyShaders(canvas, shaders) love.graphics.draw(outputCanvas) end love.graphics.setShader(_shader) + love.graphics.setBlendMode(_blendMode, _alphaMode) end function push:finish(shader)