[Sharing is jittery] - Masking, Warping and Keystone

django's icon

Hi everyone,

I'd like to share some jitter tools I had laying around for a while.
Two of them are jsui gui's for jit.gl.cornerpin and jit.gl.nurbs and the third one is a masking tool.
It uses jsui and jit.mgraphics for easy creation of vector shapes, that can be used as masks.
Have a look: http://davidfortmann.ch/maxjitter.html

Have fun.

nnimar's icon

Very nice, thank you !

Spa's icon

thanks,
it seems that you moved to another soft for video. Which one? What is the differences / reasons?
Thanks for the infos.

django's icon

Hi SPA,

I like Max very much and I still use it for various tasks.
I couldn't imagine a better tool for interactive sound installations, like the one I did not too long ago:
https://www.behance.net/gallery/31556965/EMERGENCE

But for specific video work I switched to openFrameworks and Touchdesigner.
Since they were created specifically for video, they make certain things easier.
For example: I created a masking tool with openFrameworks http://davidfortmann.ch/zorro.html
and one in Max http://davidfortmann.ch/maxjitter.html
It was very easy to get smooth anti-aliased edges and a very performant blur per shape in oF.
In Max I was struggling with that (though I'm sure it is possible).

But Max Jitter is slowly getting there, thanks to Rob's great work (both thumbs up for VIDDLL) .

Luke Woodbury's icon

Thanks! Working with nurbs can be a pain!

Rob Ramirez's icon

hi Django. these tools are awesome! thanks much for sharing.

a blur on your vector shapes is very easy to achieve, simply by sending the shape matrix through a jit.gl.slab.gauss6x.

i've attached a modified patch showing this.

Masking.maxpat
Max Patch
John Daniel's icon

Django! you the guy!
These tools are awesome.
Thank you.

Rob. thanks SO much for the blur, I spent a hour last night trying to figure exactly that out. : )
Q: Is there a way to blur just Horizontal or Vertical only? (think the "Fast Blur" in After Effects)

these will land in my "most used tools" category starting.... now.

cheers!
jd

Rob Ramirez's icon

Rob. thanks SO much for the blur, I spent a hour last night trying to figure exactly that out. : )
Q: Is there a way to blur just Horizontal or Vertical only? (think the "Fast Blur" in After Effects)

use [ jit.gl.slab @file cf.gaussian.2p.jxs ]
the "width" parameter takes two arguments for horizontal and vertical width.

Francois Weber's icon

hi Django,

Thanks for sharing your jitter tools !!!
I allowed myself to modified your ConerPinGui.js . I also share it ...
...and thanks abain Rob !!!

fxw_Keystone.zip
zip
django's icon

Glad you guys like it :)

wound's icon

Django and Francois Weber, you are my heros of the day. Thanks for the awesome work. Your widgets are huge enhancements in terms of usability over the original cornerpin.

I am still looking for an idea for a kind of "reverse cornerpin". Instead of stretching the original image at its corners, I would like to set the corners of the deformed rectangle on the original frame and have the output transformed to fill a rectangular output frame. That way I would not have to drag pins outside of the panel and zoom out, but stay with my interaction inside the input frame and could possibly zoom in for precision.

And another thing: When using the inside selection method instead of the outside stretching method, the user would not need to refine the corner pins recursively, as the not moved corner points remain associated with the corners of the output image. The cornerpin behaves like a rubber blanket pulled over a table. If you pull at one corner of the blanket, the rubber moves at all corners of the table as well.

I have tried to build a jit.gl.pix transform for this but failed miserably so far. I just don't get the math right. Anybody got an idea?

Another thing I am trying right now is creating a simple rectangular mesh, texturing it and setting texture coordinates, hoping the interpolation will do the right thing.