Projection Utilities for gamma (Keystone Warping, Virtuals Projectors, Cropping, Softedge, etc)

Hi together,
I’ve been working a lot with projections in vvvv-beta. Even if the Keystone Warping, virtuals projector, Cropping and Softedge functionalities were not top notch, they were good enough for most occasions.

Now as far as I know almost all of this is missing in vvvv-gamma, and this is one of the main hinderances for me to build any projects involving visual output in gamma.

Does any one have ideas about this, knows about if and how this might be tackled, or if it not planned to be implemented in gamma and supposed to be “outsourced” by sending content eg. to Resolume or doing it hardware wise on the projectors? Does anyone else feel, this would be worth continuing and has some ideas or comments?

Anyways, I think there are some promising features that I played around with, but developing them further exceeds my understanding of VL (and my programming skills in general). Here’s a list of imagined features, and approaches I thougth about so far (tested with 2021.3.3). What I would love to have, is to have all this combined in one “package”, and to be working together smoothly

Keystone Warping (distortion of an image by grid points. Ideally with bezier curves, adding detail grade of the grid on the fly, mouse and cursor interaction)

  • Following this forum thread by @jib and @motzi hint, I build a crude distortable grid. Linear-Keystone-Warping_02-roughly-working.vl (115.3 KB)
  • So far moving the grid points only works by changing the values in the IO-box. One problem is, I have no idea how to change the number of “slices” in an IO box other than by hand (see the (A) in the patch)
  • Of course, it would be great to select and move the points by mouse. Here I think the editing framework by @gregsn (?) with its “PointEditor” from beta could do wonders. It seems, it is implemented in VL somehow, but I can’t get it to work at all. Are there any plans for reactivation (or am I just plainly too stupid)? And of course, the “BezierEditor” would also be a great foundation for a bezier based Keystone Warping.

Virtual Projector (Having a virtual representation of a projector including Throw-Ratio etc in the viewport, usable as camera to generate output for physical projector)

  • I think the “Projector (DX11)” from beta was quite nice. Based on the “LookAtRectCamera” from recent Stride updates, I also created a roughly functioning Virtual Projector, but don’t think, this is the most elegant way…
    Virtual-Projector_01-based-on-LookAtRectCamera.vl (46.5 KB)

Cropping (selecting parts of an image/texture and split it into multiple textures):

  • I think, this could be quite easily done usage of the clipping functionality of Skia

Soft Edge (Blending two textures on the edges, to be shown as continiously projection)

  • Also, I think this shouldnt be too hard with some gradients and blending…

Bonus: Reprojection on 3D Geometry (realtime reprojection to be used for projection Mappings with perspective illusions)

  • The Stride “Projector Light” basically already does that, it only would have to be tweaked a bit.

Greetings and thanks in advance,


hey lorenz,

short answer: we are aware that this is still keeping many of you from using vvvv gamma comfortably and the things you listed are definitely all planned to become first-class tools. indeed their mention was missing on our roadmap, i’ve just added it.

meanwhile: the editingframework is completely built in VL but still lacks connection to either Skia or Stride. so ja, at this point using it still requires some manual work…

at least for the Reprojection we already have a useful setup thanks to @ravazquez. it is included with VL.OpenCV and comes as a HowTo you can find via the helpbrowser.

while we’ve not planned any of the missing things for 2021.4, chances are that we’ll prioritize at least some parts for the next release, whose details we’ll be announcing after the 2021.4 release.

There is quite few questions porting vvvv/dx11 mapping toolkits to gamma/stride but.
The VL.OpenCV 3d Calibration toolset works really nice, the 2d mapping stuff need’s bit of work but can be easily implemented guess @robotanton could briefly do video on vl point and spline editors that were already implemented. Biggest issue to me currently is to proper test-drive performance on multiple outputs.

However, currently I would have an opening to maybe start work on my toolset (parts of witch can be released) in about 3-4 weeks…


Hey, thanks for the quick replies. It is good to hear, that you are aware and there are some thoughts, on how to tackle it. If you have any ideas how somebody with limited VL capabilites (like myelf) can help, let me know ;)

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.