| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- local g = love.graphics
- local DeathBlur = {}
- function DeathBlur:init()
- self:resize()
- self.amount = 0.1
- end
- function DeathBlur:update()
- self.active = ctx.ded
- if self.active then
- self.amount = math.lerp(self.amount, 2, .25 * ls.tickrate)
- end
- end
- function DeathBlur:applyEffect(source, target)
- self.hblur:send('amount', self.amount / source:getWidth())
- self.vblur:send('amount', self.amount / source:getHeight())
- g.setColor(255, 255, 255)
- for i = 1, 6 do
- g.setShader(self.hblur)
- target:renderTo(function()
- g.draw(source)
- end)
- g.setShader(self.vblur)
- source:renderTo(function()
- g.draw(target)
- end)
- end
- end
- function DeathBlur:resize()
- self.canvas = love.graphics.newCanvas()
- self.hblur = data.media.shaders.horizontalBlur
- self.vblur = data.media.shaders.verticalBlur
- end
- return DeathBlur
|