I’ve updated my difference patch to be a little faster (not much, but some is always better than nothing). The spill suppression has also been “enhanced” a bit. The big change is I also added a new chroma keyer. It’s a true chroma keyer instead of a difference keyer and functions slightly differently and will be explained in a later post. It also is capable (marginally) at pulling keys with thier shadows and working with translucent materials. I removed the dialate/erode node from my patch since it’s commited to CVS and is included with this build. I also removed the info overlay node since I was for the plumineros guys and they went with something else. If anybody wants it, there is a patch for it in the patch tracker.
Current patch has:
-matte node menu group
-Difference matte node
-Chroma key matte
-YUV color space seperator node
-YUV<->RGB conversion functions
-YCbCr color space seperator node
-YCbCr<->RGB conversion functions
-RGB spill correction
After a bit of research, I’ve come up with 5 other Matte generation nodes that I’m going to try and implement:
-A much better chroma key matte
-luminence matte
-YUV matte (I already wrote a seperate to YUV node as well)
-color difference
-difference (not color difference)
Each has thier strengths for pulling mattes from images, I guess it’s just a mix to get a good matte for compositing images. If anybody has some test images that I could play with/use for examples please let me know.
Well, some reasons to the contrary are that blender is open source, and that there’s less need for a separate plugin system. Nodes are incredibly easy to code in the blender source A simple node would only take you about 20 minutes. There’s also a lot more flexibility in having it built in, since you can do custom and well organised UIs etc. Witness the nightmare UIs of current sequence plugins. It also makes things more difficult to change/mutate/fix if there’s an API specification that should be kept compatible, and with the compositor in such an early stage, this may hamper it’s growth. Anyway, I don’t think anyone would be against a C node plugin API, but I’m not sure there’s a huge priority to develop one at this stage either.
Thanks for the papers they should help a lot. I was thinking that I could make a new menu item under the add menu for mattes and put the nodes there. It took me 30 minutes to add a YUV conversion node last night. Now that I have the basics down, I expect that a couple of these might only take a little bit longer to build. The dialate/erode tool would work great with some matte nodes. If you can send me a patch, I’ll add it to my tree and create a big patch of all the new nodes/menu for the patch tracker.
you’ll need a C++ compiler and the source. I use linux (64 bit), so scons works great for me. you will need to patch the source tree with this patch, then build. I’ve actually done a bit more work today on a couple of new nodes (YUV keying) and a menu bar. Maybe some kind soul would do a build for windows?
Awesome! I’m a bit busy atm so that dilate/eroade patch may be a couple of days in the making. I also see a reasonable amount of green reflection in that pic, how about some kind of tolerance options in the spill node? (and probably condensing the blue and green ones into a single node with an option for which colour would be nicer)
I’m still thinking of how to best add a user input to the spill suppressing nodes. Combining them is probably smart, they’re virtually the same code. I may get to that tomorrow.
Time for a new patch (follow link in first post). Combined color spills into one node. Changed algorithm a little to allow user to enhance the spill above and beyond the normal calculation. I’ve started a tutorial for how to do garbage matte+green screen+compositing.
Looks good, I have not tested it yet, but this looks like it will help with what I am doing. I cant compile it right now, so I may just wait until someone compiles a version that I can download.
Power 3d-
Recompiling blender is the only way because there isn’t a node plug-in system (maybe in the future).
Rangel-
I can also post a link to my binary, but it is a dynamic link 64-bit linux version. I might be able to make a windows(/spit) build tonight.
EDIT: I have the windows source patched and once I get the prebuilt libs from blender CVS (tonight) I will build a windows binary. I also found a bug and fixed it, the patch at the top of the page is current.
Also, I noticed the link at the top referenced the old patch, so that’s been corrected.