Emulating Film Aesthetics: Building A Custom “Film Stock”

Martin R. McGowan
7 min readJan 21, 2021

My first article on emulating film has garnered the most attention of any of my Medium articles since 2019, which is encouraging because there’s a lot more to say about it. The first test was about developing an overall understanding of the emulation.
The testing since, has been about finding a specific look, and further refining the process to work with minimal customization across a variety of shooting conditions, lighting scenarios, and other situations.

Important to point out, I am acting as my own DP, editor, and colorist, so there won’t be any specific considerations made for anyone but myself, however the information itself and node setups (bottom) could be useful for a wider array of use cases.

P1: Trial And Error

After identifying the images I wanted to use as reference, I spent several weeks shooting anything and everything I could find, from direct sunlight, to middle of the night darkness lit by a distant street lamp, to my family talking at the table.

The images were all captured regularly, meaning I exposed them to taste rather than shooting a certain standard. Afterward, I started tweaking using adjustment layers (in DaVinci) to keep each main element easily accessible.

Each layer as it takes effect.

After a lot of tweaking and banging my head against a wall, the key aspects of the emulation became the Color*, Bloom, Halation, Streaks, and Grain.

*Color is including everything from contrast, highlight rolloff, faded shadows, actual color work, and every per-shot tweak. It’s just better to use the umbrella term instead of listing all that crap every time.

Color

The color work of each shot is unique, but share a common goal: lifted shadows, soft highlight rolloff, proper skin tones when applicable.

Color corrected image, just look at those skin tones.

Once the look is brought into the realm I want, the emulation begins.

(All layers are listed in order, from bottom to top effect)

Bloom

The Black Pro Mist filter is awesome, and $70–$90. I cannot justify the cost, and dislike not being able to control the look in extreme circumstances. Emulating a large part of the look in post is relatively simple, but dialing in how much of each color blooms and how is where the differences from the filter come in.

The idea of the bloom is to help highlights roll nicely. Digital sensors have a habit of being particularly ugly when clipping, whereas film (while it certainly can be ugly) in general has a softer rolloff, rather than a sharp transition.

The bloom can also be controlled. While it works well for me in the shot, the same parameters in a daytime shot gives us a mid-2000’s video game level of bloom that just distracts.

Again, node setup will be listed at the bottom of the page.

Halation

Halation appears in areas of high contrast (silhouettes, etc) and manifests as a reddish sort of glow around the high contrast areas.

Zoomed for clarity. The effect is subtle.

The effect is achieved through a similar node set up to the Bloom effect, targeting the high contrast areas of a frame.

Streaks

This one requires a little explaining. While I enjoy the bulk of the anamorphic look, I actually dislike heavy lens flares and streaking. Anamorphic lens flares that were made famous by JJ Abrams are not just not my style, they also don’t fit in the type of story this emulation pipeline is being developed for.

However, I still like the effect a broader blue streak can bring to an image. Films like There Will Be Blood especially, which use specially stripped Panavision lenses to allow more artifacting.

Dramatic example, but the effect is visible less intensely throughout the film.

This effect can be applied at-will to the images, and at a modest opacity can sit well in just about any scene.

Subtle blue streaks are more visible with smaller point-sources, more broad with larger sources.

Grain

This is the most straightforward asset to grab. Dozens of free packs can be gotten for free, you’ll just have to deal with slightly annoying emails for the rest of your life.

Zoomed for detail.

The grain itself is used partly for aesthetic, but YouTube will usually compress all but the grainiest grain out of existence. Instead, the grain here serves a purpose similar to dithering in video games, allowing a smoother gradient across the different shadow and highlight values, less stair stepping edges, and unifying the look under a blanket of random noise.

The pack used here can be downloaded here from HolyGrain.

Adjustment Layers and Nodes

The look of the emulation is based on three distinct adjustment layers on top of the color layer, plus grain.

All color coded as best I could. Blue for streaks, pink for halation, green for bloom, lighter mint green for color. The mystery top layer is an overlay to make sure my footage isn’t crooked.

Grain is set to 50% opacity, and an Overlay blend mode. The other layers are set to a “Lighten” blend mode, with opacity set per layer.
The Halation layer is set to 100%, the Bloom layer is set to 50%, and the Streak layer to 35% (set all values to taste, if you like blue streaks go HAM).

For the NODE SETUP, the Bloom, Halation, and Streaks layers all share the same set up.

The Color Space Transform (CST) is essential in this. The first node, CST 1, has the “Input Gamma” set to whatever the taking cameras gamma is (Sony SLog in my case) with “Output Gamma” set to Linear.

To add a node, press ALT+S. This will spawn an additional node, after which pressing ALT+L will create a blending node. Right click (or Mac equivalent), go to “composite mode”, and select Add.
Your image should now look absolutely terrible. But that’s okay.
The last node after the blend point (ALT+S) will be another Color Space Transform node. The second CST node at the end of the graph, is going to be set to the reverse or the original CST node (Input to Linear, output to SLog)

REPEAT this set up for the additional three layers.

The bottom node, labelled “CURVES” in the above image, will be where the manipulation takes place.
The curve set up will look like this for just about every layer.

This will all make sense shortly.

Blurring is the next step:

The radius of the blur here is set to it’s max, but can be altered.

The Blur tab is broken up into two effects that we will be using, the “Radius”, and the “H/V Ratio
For the Bloom effect, the Radius is set to its maximum of 10.00 (again, tweak to taste).
The H/V Ratio is left as is.

Working our way up, the next layer is Halation

Halation is a predominantly red effect, with a much tighter spread vs the much more diffuse Bloom, but a pure red can seem almost distracting. By boosting the G and B values slightly, the Halation acts as a tight blur that reddens toward it’s edges.

Same example as earlier.

Last, we have the Streaks layer.

This is the first time we see a difference in the H/V Ratio. The effect is mainly horizontal, but a fully horizontal effect is overly sharp. 0.90 seems to be a good value.

Here are more example images, all with the same effects applied with no per-shot adjustment outside the Color work.

All captured in either SLog2, or Cine4.

This process is still very much a work in progress, but the early results across varied environments are promising.

Any questions, please reach out either on Instagram or YouTube.

Martin R. McGowan is a filmmaker living in Reading, Pa.

I can also be found on Instagram, and on a YouTube channel, about a decade late to that party.

--

--

Martin R. McGowan

I watched King Kong once when I was nine, it's been trouble ever since.