Skybase
![]() |
So I was thinking to myself... how should I teach blend modes to people? And I came up with the idea to use FilterForge since its all visual and easier to follow (*ahem* maybe) than deciphering a text-based formula.
I'm starting to run into my technical abilities here... totally starting to lose it for some of the operations and plus I haven't bothered with the dodge modes at all (overlay, soft/hard light, pin... etc etc.) And I could use a bit of assistance / help there. I don't even know if I'm producing some of the material right. Probably need serious checking on that, but most of it (as long as I'm follow stuff right) it should be fine. There are a couple odd ball / uncommon operations just purely for the sake of entertainment purposes. ![]() So hopefully once I get some fixes and additional blend modes down, I can present it to people ![]() Blending Mode Explanation 1.1.ffxml |
|||
Posted: June 22, 2012 9:21 am | ||||
SpaceRay
![]() |
I have seen this and it seems to be interesting and well done BUT I do not know really how to use it or what this is for, sorry for my ignorance or not understanding it.
|
|||
Posted: June 22, 2012 10:18 pm | ||||
Skybase
![]() |
Image blending is a key component of layering in many programs. The purpose of this is not the usage of blend modes but to display in detail how each blend mode works and why some of them are set up as such.
For example the commonly known blend mode "screen" is utilizes a formula that takes two images: A and B... and does some math that looks like this: Result = 1 - (1-A) * (1-B). Another example simpler example such as linear dodge is basically adding two images together: Result = A+B. Basically the stuff inside the filter displays each and every mathematical step taken to blend two images A and B together. So it's really not about how you use it or what you do with it. Just shows you what the common (and some odd ball) blend modes do in a typical image editing program. Most people don't understand or care about how blend modes work, a lot of it goes out the window when I explain it so I thought why not make it easier to understand for some people. I mean, if you're using any image editing tool, you engage with the math everyday, you just don't know about it. |
|||
Posted: June 23, 2012 3:08 am | ||||
inujima
![]() |
||||
Posted: June 23, 2012 10:21 am | ||||
Skybase
![]() |
I love you... so much.
|
|||
Posted: June 23, 2012 10:55 am | ||||
Skybase
![]() |
Wait, I don't get it. How does doing that work? (my brain just poped)
|
|||
Posted: June 23, 2012 11:00 am | ||||
inujima
![]() |
||||
Posted: June 23, 2012 11:41 am | ||||
SpaceRay
![]() |
Thanks Skybase for the explanation, I now understand it what you want to do, and is very well and interesting.
|
|||
Posted: June 23, 2012 11:55 am | ||||
Morgantao
![]() |
Heh, I knew from the start what this filter is supoosed to show, but I still fainted when I saw the inside of it
![]() See, I have this acute allergy to anything math like. While I find it fascinating, my brain just can't handle it and starts to shut down. And to think I was 2 semesters shy of finishing a computer and math science degree! ![]() ![]() |
|||
Posted: June 23, 2012 4:08 pm | ||||
Sphinx.
![]() |
Let top left be 0,0 and you don't need the inverts. To "extract" a blendmode map from the Blend component, use a horizontal gradient as foreground and a vertical gradient as background and set opacity to 100%.
The "visual" display of the formula can help understanding what is going on.. the foreground intensity maps to the horizontal axis (x) and the background intensity maps to the vertical axis (y). Each blendmap (or blendmode) has 8 possible modes or orientations, which can be controlled with inverts on inputs and output. Here are some modes I made long ago: http://www.pegtop.net/delphi/articles...dratic.htm |
|||
Posted: June 24, 2012 10:20 am | ||||
Skybase
![]() |
Sphinx... this is awesome. I didn't even know you wrote those. Guess what, I used that resource ahaha ~ woo.
And alright, that makes sense as an explanation. I just need to clean up that entire lot so badly. I get confused with which is A and which is B a lot. So some of the results were coming out weird and I couldn't tell what was happening. And yup, the look up now makes better sense. ![]() |
|||
Posted: June 24, 2012 12:03 pm | ||||
Morgantao
![]() |
Skybase, I do hope to see the end result, after you've finished cleaning it and it's all nice and polished
![]() |
|||
Posted: June 24, 2012 2:58 pm | ||||
Sphinx.
![]() |
Here are some new modes I made during the last few years, and some of those from PS missing in FF and some not so known modes from other apps
Blend Modes.ffxml |
|||
Posted: June 25, 2012 3:51 pm | ||||
Morgantao
![]() |
But... Will they blend?
![]() ![]() |
|||
Posted: June 25, 2012 5:40 pm | ||||
SpaceRay
![]() |
Will it blend? ---- The official website and the real history of who is Tom Dickson
Are any of this not so known blend modes shown below included in your great and well done filter? ![]() ![]() ![]() ![]() |
|||
Posted: June 25, 2012 9:16 pm | ||||
Skybase
![]() |
Some of those modes look incredibly handy on their own.
Hm... I'll have to dig through it all. In the mean time, I need to produce the contrast blend modes: aka overlay and stuff. That'll finish off the entire lot. |
|||
Posted: June 25, 2012 9:19 pm | ||||
Ghislaine
![]() |
SR, is this your food market list ?
visit https://gisoft.ca |
|||
Posted: June 25, 2012 10:25 pm | ||||
Skybase
![]() |
Update!
+ Did epic clean up so it doesn't look like a mess + Fix several issues (more to fix) + Added more stuff! (Thanks people) + Added credits Blending Mode Explanation 0.2.ffxml |
|||
Posted: June 25, 2012 10:41 pm | ||||
lipebianc
![]() |
Absolutely great stuff you guys did here!
Exactly what I was looking for!! Thanks to Skybase, Sphinx & inujima!!! ![]() ![]() ![]() "From the moment we are born, we start being filtered..." |
|||
Posted: June 26, 2012 1:33 am | ||||
SpaceRay
![]() |
Thanks Skybase for the update and optimization and of course also to Sphinx and Inujima!!
These are the preset blend modes ![]() |
|||
Posted: June 26, 2012 1:44 am | ||||
Skybase
![]() |
![]() Next couple versions will introduce more clean up error checks and other stuff. Pretty sure most of the bits and pieces are fine... I just need to go through and verify the structures so it follows PEMDAS *ahem* There are a couple more blend modes I want to put in... and probably several experimental ones just because I have a couple in mind. |
|||
Posted: June 26, 2012 2:23 am | ||||
Morgantao
![]() |
Thanks for all the great stuff, Skybase, Sphinx and Inujima!
3 masters in one filter! WOW! |
|||
Posted: June 26, 2012 5:20 am | ||||
SpaceRay
![]() |
What does PEMDAS stand for? Parentheses Exponents Multiplication Division Addition and Subtraction Purple Elephants Made Dinner And Supper (mnemonic for order of operations for evaluating math expressions) P parenthesis E exponents M multiply D divide A add S subtract This is the order of operations! Some people memorize this with the sentence "Please Excuse My Dear Aunt Sally." |
|||
Posted: June 26, 2012 5:32 am | ||||
inujima
![]() |
I point out some problems.
Some combinations of components are different from the formula in checkbox component. ("Interpolation", "I have NO idea", "Freeze" and "Color Dodge") Your formula of Color-Dodge is wrong. The right formula is as follows. b / (1 - a) , a:=foreground, b:=background Your "Overlay Mode" is not Overlay, but Hard-light. When replace the horizontal gradient and the vertical gradient, it will become Overlay. Zero divide exception and LDR clipping are not optimized. If it is not optimized well, output value becomes discontinuous and appearance will be incorrect. ![]() |
|||
Posted: June 26, 2012 5:59 am | ||||
Morgantao
![]() |
Good finds Inujima. I saw them too, but didn't wanna say anything
![]() ![]() |
|||
Posted: June 26, 2012 6:57 am | ||||
Skybase
![]() |
俺ãŒãƒ€ãƒ©ãƒ€ãƒ©ã—ã¦ã‚‹ã‹ã‚‰ã“ã†ãªã£ã¡ã‚ƒã†ã‚“ã よ。
Yeah see, this is what happens when I'm lazy. ![]() "I have no idea" needs a name as well. I just made that because... no reason. It'll be a while before I get to fixing stuff but if in any case, we need to keep looking through all of it and get every problem. Don't want to teach wrong things to people then correct them later. By the way, how would I best fix the divide by zero error in Filter Forge? ã•ãーã“ã“ã‹ã‚‰ãŒé•·ã„ãžã€‚一ã¤ä¸€ã¤å†åº¦ãƒã‚§ãƒƒã‚¯ã—ãªãã¡ã‚ƒã€œ (It's going to be long, I'd have to go over the entire thing one by one and check each one once again.) I also think this is the first time somebody wrote Japanese here ![]() |
|||
Posted: June 26, 2012 7:19 am | ||||
inujima
![]() |
It is necessary to set that an output value become continuous at the point of a zero divide.
In many cases, input a white value to Error of Divide component, and set a LDR clipping component like Invert component to the last of combination of components, it will work good. ã‚ã¨ã‚‚ã†ã°ã‚Œã¦ã„ã‚‹ã‹ã‚‚ã—れã¾ã›ã‚“ãŒã€ç§ã¯ã‚‚ã®ã™ã”ã英語ãŒä¸‹æ‰‹ã§ã™ã€‚ ![]() ![]() |
|||
Posted: June 26, 2012 9:46 am | ||||
Morgantao
![]() |
ç§ã®æ—¥æœ¬èªžã‚ˆã‚Šã‚‚良ã„!
![]() |
|||
Posted: June 26, 2012 10:57 am | ||||
Skybase
![]() |
ã‚„ã£ã±ã‚Šã€œ I had a feeling. ahaha
Well, I'll tone down the Japanese a bit because ![]() ![]() |
|||
Posted: June 26, 2012 11:03 am | ||||
Skybase
![]() |
... for some reason my brain doesn't wrap around soft light
Copy paste from http://www.pegtop.net/delphi/articles...tlight.htm f(a,b) = 2 * a * b + a2 * (1 - 2 * b) (for b < ½) sqrt(a) * (2 * b - 1) + (2 * a) * (1 - b) (else) Dun Paul writes... if (Blend > ½) R = 1 - (1-Base) × (1-(Blend-½)) if (Blend <= ½) R = Base × (Blend+½) And the nodes go mad on me. Part because I'm probably not getting the order of operations right. ![]() ![]() |
|||
Posted: July 12, 2012 11:12 pm |
Filter Forge has a thriving, vibrant, knowledgeable user community. Feel free to join us and have fun!
33,713 Registered Users
+19 new in 30 days!
153,537 Posts
+6 new in 7 days!
15,348 Topics
+72 new in year!
27 unregistered users.