Here’s one for the gaffers and camera assistants in the house! By that I mean that this patch requires an image that is evenly-lit and properly exposed. That’s why there’s no jit.qt.grab, because it would be too easy to use your laptop’s built-in camera with your face lit by the computer screen. Yuk!!! Also shooting at a fairly high resolution will make the details nicer.
The patch is based on the idea that all human skin, despite large differences in saturation and brightness, has approximately the same hue. We use that fact to apply a blur to the skin only, leaving details like eyes, nose, and mouth sharp. So the technique can be used to smooth out blemishes orâ€“if you push itâ€“create a cartoon effect.
In certain cases, for example very light or very dark complexions, you may find it easier to use the little gswitch object to look at the alpha channel while you adjust the threshold.
It’s worth taking the time to dig into the jit.gl.pix objects for some useful tips. The blur uses the cell object to achieve sub-pixel displacement, regardless of image size. The technique for creating this cheap blur can also be used to do more specialized blurs. Our saturation boost is done in the hsl colorspace. We smooth the edges of our key with the smoothstep object.
If you have experience working with compositing/finishing applications like Shake, Nuke, Smoke, or even Da Vinci Resolve, you’ll appreciate working with a nodal interface like Max. Now that gen brings that nodal interface to the world of openGL hacking, you can easily bring cool film techniques to your real-time video processing. Just don’t forget to use your camera and lighting skills, too. — Les
The other day I had an idea to try and make an audio generator which took an input and sampled it every N samples, then did some kind of interpolation between successive sampled values.
The picture might give you an idea.
Here’s how it turned out. Because the “gap” in samples relates to the frequency of the incoming wave, its output varies all over the place as you change both its frequency and also the gap between successive sampled values.
This post is the last one in this patch a day series. We hope you’ve had fun playing along with us. On behalf of the members of the material group at c74, I’d like to thank Wes and Graham for all their help with these patches and for their work on this awesome addition to Max. — Andrew