Skybase
![]() |
First off, this is a very simple overview and it’s intended to just demonstrate the idea of how FF’s RGB math works. In other words I’m not going over anything complicated, this is just to drop off the idea here. I’m making it a forum post so people can drop questions here and make sample files.
Since FilterForge 2.0 we’ve seen something called HDR values which RGB math can’t do without. Previously, we only had a limited set of values we could ever input into the program and the program could only work within those boundaries. Those boundaries basically vanished when HDR came into view. Now the program understands huge numbers or even negative numbers. With that in mind let’s just move to a simple thought: Think about it this way. RGB math is really just math. It’s nothing more than a set of components that does basic math operations you learned through elementary, middle school, and high school. Let’s take a very simple example. We’re going to do 1+1. The answer as we know it is 2. In FilterForge the number 1 is represented as pure white visually. Value wise it looks like (1.0, 1.0, 1.0) in order of red, green, and blue channels. What if we use the add component to add two white images up?
Since our monitors can’t generate brighter pixels than white, it looks like FilterForge just produced a white image. This is the visual limitation we have so unfortunately it’s hard to understand visually but it’s all stored in that image. To see that output value, use the eyedropper tool. Let’s take it a step further. Let’s try subtracting 1 fr om 2. This will give us the answer of -1. Put it in FilterForge terms:
This is represented as pure black. Again this is due to the limitation of how the program displays information. Meaning that you’ll need to use the eyedropper tool again to see for yourself. We can of course represent subtraction by adding a negative value to another value. For example: (-1) + 2 = 1 right?
You probably see the logic at this point how I’m simply adding and subtracting values within those parenthesis. So each color channel is operated on separately. Consider the simple fact that to FilterForge, unlike humans, the program sees numbers spread across the x and y axis. Let’s do one more interesting thing. How about add red minus blue. What would that make?
Therefore, we subtract from each channel.
So the answer is (1.0, 0.0, -1.0) which due to the limitations of what our monitors can show and how programs can display color, the visual representation is red. In summary: RGB math is just doing math on each channel. If you understand middle school math, you're already experts in the field. The question is wh ere do you use this stuff? The answer is: anywhere you find useful. Which is kinda tricky to really understand. But think about how you use math on a daily basis. When do you add, when do you subtract? It's like that, you use it when you have to. ------- I'll post this over to the Wiki. I just put it up here for discussions first. |
|||||||||||
Posted: February 17, 2016 1:27 am | ||||||||||||
Skybase
![]() |
Bump. I never got feedback on the subject and seen a mention of this thread once.
Is this too hard for people to understand when they're all words? RGB math isn't really that image-friendly, as in there are limits to how the numbers are represented so text is a lot more effective anyway. But that being said I can still try to make this as picturesque as possible. And also... I know this is a bit personal, but I kinda did this after seeing how there was some interest for RGB math related stuff. It seems like some of you really did want something like this but I never heard back from anybody. Either I'm being too technical and this information flies over your heads, or you just never could find use for it. Again, usage is something you guys have to find out on your own. Or uhhh... this forum thread is just invisible hehe. |
|||||||||||
Posted: March 29, 2016 12:38 am | ||||||||||||
SpaceRay
![]() |
I personally do not understand anything of what is on the first post, and it seems that is only for highly skilled, expert and technical people like you that know well about this topic and what is this for, because apart for not understanding, do not know what use this has, or where it can be used.
I feel that you are much higher in knowledge than many of the filter forge users that are not experts and FF gods. So I think that only other same expert filter forgers can understand and use it |
|||||||||||
Posted: March 29, 2016 4:50 am | ||||||||||||
Skybase
![]() |
SpaceRay, this is just really an introduction to the whole topic of RGB math. But you're over-shooting by saying "it seems that is only for highly skilled, expert and technical people". Like sure, it seems technical, but the first example is literally just 1+1=2. Then the next example follows suit with subtraction. 1-2 = -1.
The examples seen above are represented in what FilterForge understands so it might look a bit confusing. But again, the scope of what I'm discussing here is 1st grade level math. If you can somehow transition these two thoughts into 1 thing, you'll probably see that all of the examples above are just baby steps compared to what some people do here.
You're over stressing the point about "how do I use this". Listen, when you were a kid and you were just being taught how to do addition, subtraction, multiplication, and division, I don't think you asked the teacher "where do I use this?" You use it where you have to. You use addition to add money to your bank, you subtract when you take money out, you multiply so you don't have to count huge numbers, and divide to share a cake with your friends. Just like that, RGB math is used when you need it. It's not reserved for experts, it's reserved for when you need to do something that requires it. So to me, you're making it harder for yourself to learn the program! ![]() But that being said, I feel like I'm over-estimating people's abilities. We are all just different in terms of what we know. If anything, I'd wanna hear more fr om people specifically about wh ere you're having trouble more specifically. Last thing: SpaceRay Chuck Close (the painter) has a point:
You gotta make things for you to understand what's happening in FilterForge. You have to schedule a time to make something when possible. You gotta sometimes find answers yourself. I can only do so much. |
|||||||||||
Posted: March 29, 2016 10:47 am | ||||||||||||
Indigo Ray
![]() |
The benefit of a forum is that we can discuss things here really easily. The benefit of a wiki is that you can keep updating a single article to make it better. I can help add stuff to the wiki, too (more than just the feature wishlist). Can we maybe show some case studies of filters that use/rely on HDR and RGB Math? I know you say "use it when you need it", but I think a little inspiration and demonstration might help people understand. Some of Crapadilla's wiki articles have case study filters. Also, "let's try subtracting 1 from 2" should read "2 from 1". And there's a lot more than just addition and subtraction. |
|||||||||||
Posted: March 29, 2016 1:52 pm | ||||||||||||
Rachel Duim
![]() |
Another thought was a series on breaking down existing filters to explain what is going on (including HDR and RGB math). Last year I felt that more documentation was where I was going... but I think it's too much to take on, and perhaps only useful to a handful of people.
For some "explaining" how their filters work might be taboo. A lot of people don't want to discuss the "magic" that is going on inside their filters. And there is not a good way to put comments in the filter. So I suppose I'm offering to do a breakdown of one of my filters, preferably one of my new ones. Any thoughts? Math meets art meets psychedelia. |
|||||||||||
Posted: March 29, 2016 3:22 pm | ||||||||||||
Skybase
![]() |
I think I'll just copy it over to the wiki at this point and edit the article over time so we can all look at it more closely. heh, discussion on these forums I donno if it were even a good idea hah.
So ok, let's make a couple demo filters that utilizes the basic addition, subtraction, multiplication division specifically for this segment. I don't think people have to give away secrets, a lot of times we are making a lot of complicated RGB math things that flies over people's heads anyway. We can keep it simple, i.e.: we can for example average/mean, usage with transformation nodes (offsets, scale, rotation etc), usage for just regular image manipulation (like making an image brighter with add/multiply). Maybe a case study would make it more accessible but I feel like that might blow things out of proportion. And expand on the text about HDR / LDR values. It clearly sounds like we can expand on that a bit more so we have a nicer, more formal introduction to the topic. The topic is quite a rabbit hole to be honest, so in terms of writing, we can just keep it to simple terms instead. We do have to make some assumptions as we're writing and my understanding is that most people here. lol also my conversation kinda got personal with SpaceRay there. Heh. Please excuse that for the time being. |
|||||||||||
Posted: March 29, 2016 8:25 pm | ||||||||||||
Velho |
Here's a trick I found out about HDR values. You can carry information about two or more separate values in one single HDR value.
Example, value 1: grayscale object with channel value fr om 0 to 0.9999 -> multiplied by 10^8 and rounded by 10^4 -> new value range from 00000000 to 99990000. The last four digits are always zero. value 2: the x coordinate of the center of the object with value range from 0 to 0.9999 -> multiplied by 10^4 and decimals discarded -> new value range from 0000 to 9999. Add the two values together: aaaabbbb, wh ere aaaa is the object value and bbbb is the x coordinate value. Do the same to another channel, but use the y coordinate as value 2. Now, if you feed the object to bomber (HDR) using lighten blending mode, the result can be used to calculate the x and y coordinates of each particle, since the coordinate information is left intact. Any resulting pixel has information about the x and y coordinate of the particle object it belongs to. ![]() The particle object used in the picture is a triangle and the colors are from the background image, kingfisher. |
|||||||||||
Posted: March 30, 2016 10:19 am | ||||||||||||
Skybase
![]() |
THAT is a really neat trick. Thanks for sharing. Totally something I'd abuse lol.
|
|||||||||||
Posted: March 30, 2016 10:59 am | ||||||||||||
Velho |
I might add this to clarify: the lighten blend mode doesn't actually blend or modify the values, it only chooses the greater one.
The HDR values are not limitless, of course. I tested using 10 (or was it 12) digits without losing any information. So you could use values like AAAABBBBCC, where AAAA is the grayscale value, BBBB is the coordinate and CC the particle type. |
|||||||||||
Posted: March 30, 2016 11:02 am | ||||||||||||
LexArt
![]()
Posts: 256 |
Thanks Skybase for trying to explain this that may be great and useful, although I have still low knowledge of how FF works and can not yet understand what all this means, and would be good to see examples of theory shown, so instead of only technical details, one non experienced and skilled with these RGB math could see what this can be used for and seeing an example of it would be more useful.
I agree with this and would be good to show when is needed to use this, and give a little inspiration and demonstration about it so other people with less technical knowledge could understand better and benefit fr om this
Yes, another way to possible explaining and showing this topic, is to explain other already available filters that already use this why and how they are used, what was the purpose or why it was needed to be used there |
|||||||||||
Posted: April 2, 2016 2:49 am | ||||||||||||
LexArt
![]()
Posts: 256 |
How have you been able to do this 3D shapes in FF? I did not know that something like this was possible, cool and very good and interesting Could you be so kind if possible to share the filter that made this ? thanks |
|||||||||||
Posted: April 2, 2016 2:53 am | ||||||||||||
Velho | ||||||||||||
Posted: April 2, 2016 6:52 am | ||||||||||||
Skybase
![]() |
![]() One of my older experiments from 2012 did similar. Velho takes it one step further with the RGB information stuff and probably a lot more cleaner in terms of output. Shading was done internally with the HardShadows script. Crystals technique also appears here: https://filterforge.com/filters/10808.html |
|||||||||||
Posted: April 2, 2016 7:43 am | ||||||||||||
Indigo Ray
![]() |
Slightly off-topic: The technique Velho is describing is pretty neat, and can also be found in this thread about the Bomber, and a similar method in the Clay Sticks filter.
|
|||||||||||
Posted: April 2, 2016 9:23 am | ||||||||||||
LexArt
![]()
Posts: 256 |
Thanks Velho and to Skybase for showing this really awesome screenshot and also for the link of your Crystals filter that looks awesome and amazing how you can do these 3D sharp edged shapes with color overlay
I did not know that these kind of things was possible with FF, cool ![]() |
|||||||||||
Posted: April 2, 2016 7:15 pm | ||||||||||||
SpaceRay
![]() |
Well, ThreeDee is the real king of 3D in FF and he has different ways to make different things in 3D, so it is possible, although complex to do
Wow, this looks cools and well done, although regrettably I do not understand anything of what you explained ![]() ![]()
Oh! Yes your awesome, amazing, excellent and beautiful 3D crystals that I found when you released it a day that I love very much |
|||||||||||
Posted: April 3, 2016 11:51 am |
Filter Forge has a thriving, vibrant, knowledgeable user community. Feel free to join us and have fun!
33,712 Registered Users
+19 new in 30 days!
153,534 Posts
+31 new in 30 days!
15,348 Topics
+72 new in year!
73 unregistered users.