Flow of graphics

This is an experiment to change the texture of videos.
A video of audience, which comes from internal webcam of the computer, is transformed by external variables, which came from other Pure data / max patch.
The aim of this experiment is to represent a different impression while people see what they usually see in their life, by changing textures.
It is the first step of giving different look of texture by visual effects.


The max patch can be downloaded from here;

Also, here is the patch I used for osc communication with other patches


1. Capture a video from the webcam

KK dataflow step1.png

Using jit.brab object, the video from a webcam can be captured and integrated with other max objects.
The captured video is sent to jit.matrix object.
In the sample patch, a large toggle button in the center of the window activates this step.

2.Generate noise maps for masking

KK dataflow step2.png

Next to the video capture part, there are some objects to generate a monochrome nonise texture.
jit.bfg object generates actual noise, and it enables to select several types of noise.
In this patch, a simplex noise is used, but there is another noise mask using curl noise in this patch to get more complexed result.

3.Select key color for masking

KK dataflow step3.png

You can select a key color for chroma key with a window with red lines.
Either of black or white part of the noise map is selected, and the selected color becomes transparent.
The setting of key color is assigned for both two noise textures.

4.Chroma key

KK dataflow step4.png
KK dataflow chromakey.png

The alpha channel of noise map is assigned for the alpha channel of a video from webcam.
Now the video is partially transparent.


KK dataflow step5.png
KK dataflow offset.png

Final composition consists of a original video as a background, and two edited layer with external alpha channel.
To deform the video, the edited two layer must be transformed.
In this case, scale and offset is varied.


KK dataflow step3.png

Layers are composited with "jit.alphablend" node, so that the background video can be seen in the transparent area of upper layers.


KK dataflow overview.png

KK dataflow result.png