Different Results when drawing shapes on buffer or direct

Questions about the LÖVE API, installing LÖVE and other support related questions go here.
Forum rules
Before you make a thread asking for help, read this.
Post Reply
User avatar
zaher
Prole
Posts: 6
Joined: Sat Nov 05, 2016 10:28 pm
Location: Syria, Damascus
Contact:

Different Results when drawing shapes on buffer or direct

Post by zaher »

I draw rectangle/circle in buffer(canvas) and directly, I haven't the same results

Code: Select all

function love.load()

    buffer = love.graphics.newCanvas()
--    buffer:setFilter("nearest")
    love.graphics.setCanvas(buffer)
	love.graphics.circle("line", 100, 100, 50)
    love.graphics.rectangle("line",  100, 100, 100, 100)
--    love.graphics.setBlendMode("replace")
--	love.graphics.setColor(255,255,255)
    love.graphics.setCanvas()
end

function love.draw()
    --love.graphics.setColor(255,255,255)
    love.graphics.draw(buffer)
    love.graphics.circle("line", 300, 100, 50)
    love.graphics.rectangle("line",  300, 100, 100, 100)
end
love2d.png
love2d.png (5.84 KiB) Viewed 2399 times
How can I have the same quality as like direct drawing?
User avatar
slime
Solid Snayke
Posts: 3132
Joined: Mon Aug 23, 2010 6:45 am
Location: Nova Scotia, Canada
Contact:

Re: Different Results when drawing shapes on buffer or direct

Post by slime »

You'll want to use premultiplied alpha blending (instead of regular alpha blending) when drawing a Canvas to the screen:

Code: Select all

function love.load()
    buffer = love.graphics.newCanvas()
    love.graphics.setCanvas(buffer)
    love.graphics.circle("line", 100, 100, 50)
    love.graphics.rectangle("line",  100, 100, 100, 100)
    love.graphics.setCanvas()
end

function love.draw()
    love.graphics.push("all")
    love.graphics.setBlendMode("alpha", "premultiplied")
    love.graphics.draw(buffer)
    love.graphics.pop()
    love.graphics.circle("line", 300, 100, 50)
    love.graphics.rectangle("line",  300, 100, 100, 100)
end
User avatar
zaher
Prole
Posts: 6
Joined: Sat Nov 05, 2016 10:28 pm
Location: Syria, Damascus
Contact:

Re: Different Results when drawing shapes on buffer or direct

Post by zaher »

That is works fine, thank you
Post Reply

Who is online

Users browsing this forum: No registered users and 24 guests