Hi. I'm trying to port the GIMP divide blend filter code to GLSL. I've been able to do this for various other blend modes, but for some reason this is just not working. I know this is offtopic but since I've been fighting with this for a while I hoped you might point me in the right direction. This is the C based GIMP code I'm using: if (layA == 0.0 || inCa / layCa > inA / layA) outCa = layA * inA + layCa * (1 - inA) + inCa * (1 - layA); else outCa = inCa * layA * layA / layCa + layCa * (1 - inA) + inCa * (1 - layA)); (from gimpoperationpointlayermode.c) and this is the ported code, I do this for each channel and then merge the result: mediump float r; if (overlay.a == 0.0 || base.r / overlay.r > base.a / overlay.a) r = overlay.a * base.a + overlay.r * (1.0 - base.a) + base.r * (1.0 - overlay.a); else r = base.r * overlay.a * overlay.a / overlay.r + overlay.r * (1.0 - base.a) + base.r * (1.0 - overlay.a); How it looks like: http://i.imgur.com/EjPhz.jpg How it should look like: http://i.imgur.com/bqbFT.png In GLSL the color values are between 0 and 1. -M. _______________________________________________ gimp-developer-list mailing list gimp-developer-list@xxxxxxxxx https://mail.gnome.org/mailman/listinfo/gimp-developer-list