GS handles 'Multiply' blend mode incorrectly.
Socks
London, UK.Member Posts: 12,822
I'm struggling to work out a way around this one . . .
me: 8-X
Basically when using 'Multiply' (blend mode) GameSalad screws up the alpha channel and renders it as black:
What I am doing is fairly straightforward - I am trying to place an image with an alpha channel on top of another using the 'Multiply' blend mode, like this:
This is basically what you should get:
In Photoshop:
In AfterEffects:
In Sumopaint:
. . . . etc etc, basically whatever software you use they all handle multiply + alpha channel identically.
But this is what GameSalad does:
Usually there's some sort of way around these problems, but I'm completely stumped, can't work out how to get a multiplied image with an alpha channel to work in GameSalad.
Any input appreciated !
me: 8-X
Basically when using 'Multiply' (blend mode) GameSalad screws up the alpha channel and renders it as black:
What I am doing is fairly straightforward - I am trying to place an image with an alpha channel on top of another using the 'Multiply' blend mode, like this:
This is basically what you should get:
In Photoshop:
In AfterEffects:
In Sumopaint:
. . . . etc etc, basically whatever software you use they all handle multiply + alpha channel identically.
But this is what GameSalad does:
Usually there's some sort of way around these problems, but I'm completely stumped, can't work out how to get a multiplied image with an alpha channel to work in GameSalad.
Any input appreciated !
Comments
Yeah GS handle it in its own way, if your image background will be white instead of alpha channel i think youll get the desired result (from my testing few months ago with blending modes)
Also, sent them reports about this, and yet again, no respond..
Roy.
( Yep, there's a reason I posted this in tech support rather than sending in a bug report, posting it on the forums might generate a few ideas/workarounds from people - going through the bug reporting system is the same as writing out the issue on a piece of A4 paper, folding it up, placing it in the toilet and pulling the 'send' chain. 8-X )
Guru Video Channel | Lost Oasis Games | FRYING BACON STUDIOS
?
Guru Video Channel | Lost Oasis Games | FRYING BACON STUDIOS
Unfortunately the multiply is bust !
"Cf = (Cs * S) + (Cd * D)
Here, Cf is the final computed color, Cs is the source color, Cd is the destination color, and S and D are the source and destination blending factors. "
For GameSalad Multiply blending mode S= GL_ZERO (which is 0) and D = GL_SRC_COLOR (which is Cs)
For more info on OpenGL blending equations see link above
There is also a cookbook page describing the different blend modes
Hope this helps
Although granted you'd need a high patience threshold and thick skin to do it regularly.
multiply: multiplies the color values of the actor's pixels with the background. This tints or darkens the background image, and is useful for gradient overlays, tinted windows, shadow effects, or masking. Using transparency combined with multiply will have strange results, and should usually be avoided.
The way multiply is implemented differs from every other implementation of multiply out there, Shake, After Effects, Sumopaint, Cinema 4D, Photoshop, Lightwave . . . etc etc
The way it's implemented in GameSalad makes it enormously less useful than it could be, on first glance it appears to be a bug, but you say it's actually designed this way ?
From what I can see rendering the alpha channel as solid black offers no advantages over the way multiply is implemented everywhere else - and brings with it significant disadvantages.
Roy.
I have tested with a real device, and trying to make the same color of background and one actor. On all devices lower than iphone 5 works, but this last differs a little.
Apologyze about to use that thread, but i have see there is speaking too how GS use colours.
Honestly !?
Ideally multiply (and all the blend/transfer modes) would mirror the same functionality found on other applications like Photoshop.
Anyhow, cheers for the reply, appreciated.
Done ! (I took a picture in case you didn't believe me):
Hope this helps.