Vignette Implementation - Guillermo Algora - Visual Effects Compositor

Guillermo Algora
Go to content
One of the keys to implementing a visually realistic and appeasing vignette is to stack up multiple layers of the mask itself. The shape of the mask should vary depending on the origin and shape of the "obstruction". For natural vignetting, a radial shape is preferred (since lenses are rounded), while for the optical type we can introduce the lens aperture shape. In regards to the mechanical type, we should identify what type of obstruction we are looking at.

Natural vignetting is always going to be present in our image, and therefore we should at least have a radial shape. If at the same time, we have a wide aperture, the optical type is most likely to be present as well, for which we will also incorporate a mask with the aperture's shape into the mix. If for any reason there is or should be a mechanical vignette too, we shall as well incorporate that. All of the vignette masks should be heavily blurred (i.e. the contours are not defined). While natural vignette is the softest, the mechanical vignette presents the most defined edges, and the optical type is right in the middle (depending on aperture value).

The original format for the shapes of the vignetting masks should be a square (symmetrical), that is because the element from which it originates from (i.e. the lens barrel) is symmetrical. When it hits the sensor, it gets cropped, as the sensor is wider that taller (for example, full frame is 36mm x 24mm). That is the reason why vignetting often looks stronger on the sides than at the top/bottom of the image. We will incorporate this phenomenon by creating our masks in a perfect square format (i.e. our plate resolution with the same value for width and height) and then cropping the height to the final resolution.

Stacking multiple shapes of each category together (components), to increase randomness and variance, can be easily achieved with a Transform Node, we shall just have slightly different 'transform' and 'scale' values for each component. For example, we can have two or three components for each category of vignette. To combine them, an 'average' Merge operation should yield the right results, as well as for combining the resulting masks from the categories together.

If possible, it is preferable to apply all the darkening just at once (i.e. using a combined mask from all the categories present and their components), to avoid introducing artefacts through multiple grades. In terms of the effect itself, a multiplication down should do just fine (with a Multiply Node or a Merge Node set to 'multiply'). One way to further sculpt the final characteristics of the mask is to use a ColorLookup Node on it, which with the curve controls allows for very precise adjustments to the different densities, and thus to the pattern.
Back to content