grade your images + videos in the Luttie Editor
← All posts
·dom @ luttie

why your lut doesn't include the vignette or grain

a .cube lut maps colour to colour and knows nothing about where a pixel sits in the frame. that is why vignettes and grain can never be baked into one.

lut missing vignettelut doesnt look the samewhat can a lut docube lut limitationslut vs effectwhy lut looks differentbake grain into lut3d lut explainedlut export not matchingcolor grading lut limits

you build a grade you like, export it as a .cube, load it into resolve or premiere — and the vignette is gone. the grain is gone. the colour looks right, but the image doesn't.

nothing is broken. it's a property of what a lut is, and it's worth understanding because it tells you exactly which parts of any grade will survive the trip.

what a lut actually stores

a 3d lut is a lookup table. it holds a grid of input colours, and for each one, the colour it should become.

a 33-point cube holds 35,937 entries. an input of r 0.5, g 0.2, b 0.8 goes in; a graded colour comes out. values between grid points are interpolated from their neighbours.

that is the whole mechanism. and it leads directly to the constraint that explains everything else:

a lut is a function of colour and nothing else. the same input colour always produces the same output colour, everywhere in the frame, in every shot it is applied to.

why a vignette can never be baked in

a vignette darkens pixels according to how far they sit from the centre of the frame. a mid-grey pixel in the corner gets darkened; the identical mid-grey pixel in the middle does not.

a lut has one slot for mid-grey. it cannot hold two answers. there is no version of the file format that could — position simply isn't one of its inputs.

this is not a limitation of any particular tool. it is true of .cube, .3dl, and every other lut format, in every application that reads them.

why grain can't either

grain is the same problem, more so. film grain is noise that varies per pixel — that is what makes it look like grain rather than a tint. two neighbouring pixels of exactly the same colour need different results, or the texture doesn't exist.

a lut gives one answer per colour. baking grain into one doesn't produce grain; it produces a colour table with random error scattered through it, which shows up as blotchy, unpredictable colour shifts in flat areas of your image. that is worse than having no grain at all.

what does survive

the test is simple: if the effect depends only on the pixel's own colour, it bakes. if it depends on where the pixel is, or on its neighbours, it doesn't.

things that bake cleanly:

  • white balance, exposure, contrast
  • lift, gamma, gain and colour wheels
  • saturation, vibrance
  • curves, both master and per-channel
  • hsl qualifiers — hue, saturation and luminance shifts on a colour range
  • another lut, applied earlier in the chain

things that never bake:

  • vignettes, and any positional mask or power window
  • grain
  • blur, glow and diffusion that sample surrounding pixels
  • sharpening
  • anything that varies over time

and a case that catches people out — bloom and halation do bake, at least as most tools implement them. both are usually calculated from the pixel's own brightness rather than from its neighbours, which makes them a pure function of colour. a true optical bloom that samples surrounding pixels would not bake; a luminance-driven one does.

what to do instead

three options, depending on what you need:

export the image or video directly. if the deliverable is one graded file, skip the lut entirely. everything survives because nothing has to be reduced to a colour table.

apply the lut, then re-add the rest. load your lut in resolve or premiere, then add a vignette and grain as separate effects in that timeline. this is what most colourists do anyway — grain in particular is usually added at the very end, after everything else including the lut.

keep the lut purely for colour. treat it as the thing that carries your colour decisions between shots and projects, and treat texture as a per-project finishing step. this is genuinely the healthier way to think about it: a lut is a look, not a render.

how luttie handles it

when you export a lut from luttie, the stages that cannot be represented are left out rather than approximated. grain is excluded, the vignette is excluded, and everything else in your chain is baked in the order you arranged it — including any stages you switched off, which are skipped.

that means the exported .cube matches the colour of what you saw, exactly, with the positional effects absent rather than a poor imitation of them baked in. if you need those, take the image or video export instead.

Luttie Pro

AI Grade and Grade Chat, in your browser

Grading is free in your browser — no download, no card. Pro unlocks AI Grade, clean exports, and .cube or .3dl LUT export.

Open the editor →Pro is $14/mo or pay once for lifetime
Luttie Pro

AI Grade and Grade Chat, in your browser

Grading is free in your browser — no download, no card. Pro unlocks AI Grade, clean exports, and .cube LUTs for DaVinci Resolve.

Open the editor →Pro is $14/mo or pay once for lifetime