Home · Lab · Case Files: real comp problems

CF8 Case 8: the CG is sharper than the plate

Find the culprit among three suspects

Case Files: real comp problems · ~5 min · Free

1 The idea

Symptom: a heavy dark ring round the robot’s glowing visor, and along its outline a light line inside with a dark line outside. The robot looks crisper than anything in the plate, so it reads as stuck on. On real jobs an element sharper than the person standing in front of it falls apart at once: the plate is the sharpness reference.

Three suspects: the Grade, the Sharpen and the Merge. View them one by one and probe the dark ring round the visor: the values go negative, because a sharpen pushes edges past their neighbours. It adds no real detail.

sharpen: out = x + amount · (x − blur(x))

2 Hands-on in the mini compositor

Task: find the node making the ring and remove its effect

SkyVFX mini compositor · CF8640×360 · float · 1001

3 Deep dive

A sharpen’s fingerprint

An unsharp-mask sharpen is x + amount·(x − blur(x)). The bright side of an edge is pushed brighter and the dark side darker. Where the edge contrast is huge, like the visor at about 3.5 next to the robot’s shell, or a sun glint of about 7 on its shoulder, the dark side goes negative and shows as a heavy dark ring.

On premultiplied CG the Sharpen here changes colour but not alpha, so just outside the edge, where alpha is 0, the colour goes negative, and the over adds that negative onto the plate: a dark line outside the object.

The plate is the sharpness reference

CG is usually pixel-sharp, but real camera images never are: the lens, the sensor and compression always soften edges. Even in-focus CG often wants about 1–2 px of softness. So the right move is usually to soften the CG to the plate, not to sharpen it.

On a real job, an element was cheated sharper than the physics said because the client wanted it to stand out. Pushed sharper than the person standing in front of it, it read as stuck on at once. You can cheat, but never sharper than what is in front.

Compare sharpness with plate objects at the same distance

Catching the culprit in a graph

A recap of the method from Case 2: with several possible culprits, disable them one at a time and see whether the symptom goes, or view each node’s output walking down from the Read. The first place the symptom shows is the culprit. Much faster than guessing from node names.

  1. 1View the Read
  2. 2Step down node by node
  3. 3Where does it appear?
  4. 4Disable to confirm

4 In real work

In Nuke

  1. If you must sharpen: a small Sharpen with a low amount, after an Unpremult, then Premult again
  2. Usually do the opposite: a slight Blur or Defocus so the CG is as soft as the plate
  3. Find negatives: an Expression r<0||g<0||b<0 ? 1 : 0 and view it
  4. A Clamp at minimum 0 only treats the symptom; fixing the sharpen is better

Common mistakes → the fix

  • ✗ Sharpening CG to make it "look detailed"✓ Sharpen adds no detail, only pushed edges; soften the CG to the plate instead.
  • ✗ Sharpening a premultiplied image directly✓ The outer edge goes negative; unpremult first, or avoid it.
  • ✗ Guessing the culprit from node names✓ Disable one node at a time or step through the outputs.

Before you send the shot

  • CG no sharper than plate objects at its distance
  • No bright or dark rings round edges at gain ×4
  • No negative values after any filter
  • No element is sharper than what stands in front of it

5 Check yourself

One question to check yourself

Which clue points to the Sharpen?

What you learned

🔒 Answer the question above and this card opens

More questions

1. The CG is sharper than the plate. What should you try first?

2. Why does sharpening premultiplied CG make a dark line outside it?

Where the numbers come from: A case from a real production problem, retold without naming the job and rebuilt with our own Blender images. Computed in your browser: Merge, Grade, Premult, Keymix, Invert and Clamp match Nuke 17.0v2 (checked); Toe, Defocus, Sharpen, Grain, the Keyer and Despill are teaching versions, not identical to Nuke’s nodes.