temporary enshittification of the rendering
This commit is contained in:
parent
0c1332afb3
commit
24cda32e81
@ -56,6 +56,27 @@ function sprite:draw()
|
||||
function(map)
|
||||
local ppm = Tree.level.camera.pixelsPerMeter
|
||||
local position = map.displayedPosition + Vec3 { 0.5, 0.5 }
|
||||
|
||||
Tree.level.camera:detach()
|
||||
|
||||
love.graphics.push()
|
||||
love.graphics.scale(ppm)
|
||||
love.graphics.setCanvas(Tree.level.render.shadowLayer)
|
||||
love.graphics.setColor(0, 0, 0, 0.5)
|
||||
love.graphics.translate(position.x, position.y)
|
||||
love.graphics.ellipse("fill", 0, 0, 0.2, 0.2 * math.cos(math.pi / 4))
|
||||
|
||||
love.graphics.rotate(math.pi / 4)
|
||||
|
||||
self.animationTable[self.state]:draw(Tree.assets.files.sprites.character[self.state],
|
||||
0,
|
||||
0, nil, 1 / ppm * self.side, 1.2 / ppm, 38, 47)
|
||||
love.graphics.pop()
|
||||
|
||||
Tree.level.camera:attach()
|
||||
|
||||
love.graphics.setCanvas(Tree.level.render.spriteLayer)
|
||||
love.graphics.setColor(1, 1, 1)
|
||||
if Tree.level.selector.id == self.owner.id then
|
||||
local texW, texH = Tree.assets.files.sprites.character[self.state]:getWidth(),
|
||||
Tree.assets.files.sprites.character[self.state]:getHeight()
|
||||
@ -64,21 +85,6 @@ function sprite:draw()
|
||||
shader:send("time", love.timer:getTime())
|
||||
love.graphics.setShader(shader)
|
||||
end
|
||||
|
||||
|
||||
love.graphics.setCanvas(Tree.level.render.shadowLayer)
|
||||
love.graphics.setColor(0, 0, 0, 0.5)
|
||||
love.graphics.ellipse("fill", position.x, position.y, 0.2, 0.2 * math.cos(math.pi / 4))
|
||||
local mesh = makeGradientMesh(0.4, 1.5, { 0, 0, 0, 0.5 }, { 0, 0, 0, 0 })
|
||||
love.graphics.push()
|
||||
love.graphics.translate(position.x, position.y)
|
||||
love.graphics.rotate(love.timer.getTime())
|
||||
love.graphics.translate(-0.2, 0)
|
||||
love.graphics.draw(mesh)
|
||||
love.graphics.pop()
|
||||
|
||||
love.graphics.setCanvas(Tree.level.render.spriteLayer)
|
||||
love.graphics.setColor(1, 1, 1)
|
||||
self.animationTable[self.state]:draw(Tree.assets.files.sprites.character[self.state],
|
||||
position.x,
|
||||
position.y, nil, 1 / ppm * self.side, 1 / ppm, 38, 47)
|
||||
|
||||
@ -48,6 +48,8 @@ function level:draw()
|
||||
self.characterGrid.yOrderQueue:pop():draw()
|
||||
end
|
||||
self.camera:detach()
|
||||
--self.render.shadowLayer:newImageData():encode("png", "shadowLayer.png")
|
||||
-- os.exit(0)
|
||||
|
||||
self.render:draw()
|
||||
end
|
||||
|
||||
@ -19,33 +19,45 @@ end
|
||||
|
||||
local function applyBlur(input, radius)
|
||||
local blurShader = Tree.assets.files.shaders.blur
|
||||
local tmp = love.graphics.newCanvas(1280, 720)
|
||||
local tmp1 = love.graphics.newCanvas(1280, 720)
|
||||
local tmp2 = love.graphics.newCanvas(1280, 720)
|
||||
|
||||
-- Горизонтальный проход
|
||||
blurShader:send("direction", { 1.0, 0.0 })
|
||||
blurShader:send("radius", radius)
|
||||
|
||||
tmp:renderTo(function()
|
||||
tmp1:renderTo(function()
|
||||
love.graphics.setShader(blurShader)
|
||||
love.graphics.draw(input)
|
||||
love.graphics.setShader()
|
||||
end)
|
||||
|
||||
-- Вертикальный проход
|
||||
love.graphics.setShader(blurShader)
|
||||
blurShader:send("direction", { 0.0, 1.0 })
|
||||
love.graphics.draw(tmp)
|
||||
love.graphics.setShader()
|
||||
tmp2:renderTo(
|
||||
function()
|
||||
love.graphics.setShader(blurShader)
|
||||
blurShader:send("direction", { 0.0, 1.0 })
|
||||
love.graphics.draw(tmp1)
|
||||
love.graphics.setShader()
|
||||
end
|
||||
)
|
||||
return tmp2
|
||||
end
|
||||
|
||||
function render:draw()
|
||||
-- пол -> тени -> спрайты -> оверлей
|
||||
love.graphics.draw(self.floorLayer)
|
||||
love.graphics.push()
|
||||
|
||||
applyBlur(self.shadowLayer, 10)
|
||||
-- love.graphics.draw(self.shadowLayer)
|
||||
love.graphics.setShader()
|
||||
local blurred = applyBlur(self.shadowLayer, 2)
|
||||
local wc, hc = love.graphics.getWidth() / 2, love.graphics.getHeight() / 2
|
||||
love.graphics.translate(wc, hc)
|
||||
|
||||
love.graphics.scale(Tree.level.camera.scale, Tree.level.camera.scale)
|
||||
love.graphics.translate(-Tree.level.camera.position.x * Tree.level.camera.pixelsPerMeter,
|
||||
-Tree.level.camera.position.y * Tree.level.camera.pixelsPerMeter)
|
||||
love.graphics.draw(blurred)
|
||||
love.graphics.pop()
|
||||
love.graphics.draw(self.spriteLayer)
|
||||
|
||||
love.graphics.draw(self.overlayLayer)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user