Page 4 of 5

Re: LÖVE 0.10.2 released

Posted: Fri Nov 11, 2016 8:02 pm
by D0NM
slime wrote:Shader:sendColor and shader:send call the exact same internal base function. The only differences are that sendColor divides input values by 255 (to match GLSL's [0-1] range for colors) whereas Shader:send doesn't so you should give color values that are already within [0-1] rather than [0-255] if you use Shader:send, and sendColor performs gamma correction if applicable, whereas send does not.
thank you :nyu:

Re: LÖVE 0.10.2 regression shader:sendColor

Posted: Wed Nov 16, 2016 4:08 pm
by D0NM
Hi guys!
Just made a test to show 0.10.2 shader:sendColor regression.
(I've checked Love sources and found no suspicious changes so far...)
Hope it is easy to fix ^__^
Created an issue: https://bitbucket.org/rude/love/issues/ ... last-color

I wonder if sendFloat was affected, too.

main.lua

Code: Select all

--Love2d 0.10.2 sendColor bug:
-- the last color value in the table is missing

function love.load()
    myShader = [[
extern vec4 colors[3];
vec4 effect( vec4 color, Image texture, vec2 texture_coords, vec2 screen_coords ){
  	if(screen_coords.x < 300)
    		return colors[0];
  	else if(screen_coords.x > 600)
		return colors[2];
	return colors[1];
}
]]
    shader = love.graphics.newShader(myShader)
    shader:sendColor("colors", { 255, 0, 0, 255 }, { 0, 255, 0, 255 }, { 0, 0, 255, 255 })

    shader2 = love.graphics.newShader(myShader)
    shader2:sendColor("colors", { 255, 0, 0, 255 }, { 0, 255, 0, 255 }, { 0, 0, 255, 255 },
        { 1, 1, 1, 1 })
end

function love.draw()
    love.graphics.clear()
    love.graphics.print("Send 3 colors into the shader. Get the 3rd wrong", 10, 0)
    love.graphics.print("We send 4 colors as a workaround. It works", 10, 190)

    love.graphics.setShader(shader) --draw something here
    love.graphics.rectangle("fill", 10, 20, 780, 120)

    love.graphics.setShader(shader2) --draw something here
    love.graphics.rectangle("fill", 10, 210, 780, 120)
    love.graphics.setShader()

    love.graphics.print("No shader", 10, 390)
    love.graphics.rectangle("fill", 10, 410, 780, 120)
end
Love2d 0.10.1 -> everything is fine
Image


Love2d 0.10.2 -> the last sent color is lost
Image

Re: LÖVE 0.10.2 released

Posted: Wed Nov 16, 2016 9:15 pm
by slime
Thanks for the debugging! Unfortunately the issue affects any use of Shader:send with multiple arguments (for an array) – but at least it can easily be worked around by adding an extra dummy argument.

Re: LÖVE 0.10.2 released

Posted: Thu Nov 17, 2016 5:14 am
by D0NM
slime wrote:Thanks for the debugging! Unfortunately the issue affects any use of Shader:send with multiple arguments (for an array) – but at least it can easily be worked around by adding an extra dummy argument.
Thank you. Yeah, we've got to the workaround already.

Re: LÖVE 0.10.2 released

Posted: Sat Mar 25, 2017 8:29 pm
by zell2002
Hi :)
Just upgraded (on windows 7).

Running love2d from sublimetext2 doenst give me the console anymore.
If i drag n drop folder onto love.exe or lovec.exe I get it.

Setting lovec.exe in my sublime-build prints to sublime text's console window, but I personally dont like that.

Is there a setting i'm missing to get the console window back?

Re: LÖVE 0.10.2 released

Posted: Sun Mar 26, 2017 12:47 pm
by zell2002
Also it appears the sublime console is only printed to after Love.exe is closed

Re: LÖVE 0.10.2 released

Posted: Sun Mar 26, 2017 1:50 pm
by Nixola
Put io.stdout:setvbuf("no") at the top of your main.lua file. I'm quite sure it's been covered plenty of times on the forum.

Re: LÖVE 0.10.2 released

Posted: Sun Mar 26, 2017 2:29 pm
by zell2002
Ah ok, that doe sound familiar cheers, but this helps only to print to sublime's console
I'm still curious how do I get back the separate console window?

Re: LÖVE 0.10.2 released

Posted: Sun Mar 26, 2017 2:41 pm
by pedrosgali
Did you enable the console in config.lua?
Add t.console = true if not.

Re: LÖVE 0.10.2 released

Posted: Sun Mar 26, 2017 2:44 pm
by zell2002
yeah, ive always had used this in previous Love versions, just 10.2 doesnt spawn the console window if I run from sublime. It does spawn if I drag my game folder onto love.exe