CompStart

ProLessonsCoursesElementsSoftware

CompStart

Master visual effects with cutting-edge techniques.

Learning

CoursesLessonsPro FeaturesAssetsSoftware

Tools

Tech CheckDisplay CheckMotion BlurCIE 1931PhysLight

Company

InstructorMissionImpressumPrivacyTerms

Projects

Moray RenderEXR ConverterOCIO.ccNuke ToolsDerekVFX

Follow

YouTubeInstagramTikTokThreadsContact

© 2026 CompStart. All rights reserved.

vfx

Tech Check

Before you submit a shot, run a tech check. This is the non-negotiable pass that catches pipeline and integration failures before a supervisor or client does.

June 19, 2024

tech-check
vfx
compositing
tech check
how to tech check a vfx shot
film grain

Before you submit a shot, run a tech check. This is the non-negotiable pass that catches pipeline and integration failures before a supervisor or client does.

How deep you go depends on the show. Low-budget work often cannot afford pixel-level refinement on every frame. Feature and high-end episodic work will push for complete technical accuracy. Either way, the list below is the core set of questions every compositor should ask before saying a shot is done.

Use this as a pre-delivery checklist, not a creative grade guide.


1. Correct frame range

Check that your output frame range matches the cut + handles.

  • Comp range should match the brief / ShotGrid / ftrack task (including handles).
  • Most modern VFX pipelines write the correct range for you — still verify the first and last frame of the write.
  • Scrub the first and last frames: no frozen tails, no missing handles, no accidental 1-frame offsets.

If the range is wrong, nothing else in the tech check matters yet.


2. Black levels

Do the blacks match the plate?

  • Compare CG / elements / keyed layers against plate black in the same viewer transform.
  • Adjust with a Grade (or equivalent) using lift or offset — not only multiply/gain, which scales everything including midtones.
  • Watch for “floating” CG that never quite sits in the plate black, or crushed blacks that kill shadow detail the plate still has.

How to look: expose the shot up. Mismatched blacks become obvious as grey veils or crushed voids.


3. Exposure and highlights

Do the brightest areas of the image make sense?

  • Is a practical or CG highlight brighter than the sun in the same frame for no reason?
  • Are speculars and windows in the same ballpark as plate references?
  • Expose the shot up and down (viewer gain / exposure tool). Level mismatches that hide at default exposure show up immediately when you lift or crush the image.

You are checking relative exposure and energy, not only “does it look cool at default.”


4. Tracking accuracy

Is there any bumping or slippage in 2D or 3D tracks?

  • Solid tracks first. Fixing track late breaks corner pins, matchmoves, roto linkage, and every node that depends on them.
  • Check on high-contrast edges, horizon lines, and near the edge of frame where error is easiest to see.
  • For object tracks, compare over the full range — error often grows toward the ends.

Pro tip — isolate the track

When tracking an element into a shot, stabilize the camera (or invert the camera) and view the element/track in isolation. Slippage is much easier to see when the plate is locked and only the track residual remains.


5. Focus / defocus

Does your defocus match the plate?

  • Filter size and shape should match what is in the plate (and how it animates over the shot).
  • Bokeh shape, chromatic aberration, and anamorphic streaking are part of the match when the plate has them.
  • CG that is razor-sharp against a soft plate (or the reverse) reads as fake immediately.

If the plate rack-focuses, your CG focus must rack with it — not stay fixed “because the render was sharp.”


6. Saturation and hue

Is hue and saturation within reason for the plate and the show LUT / view?

  • Over-sat CG and under-sat keys are classic delivery fails.
  • View color separate from luminance by dividing the image by a desaturated (luma) version of itself. That isolates chromaticity so you can see hue/sat errors without the brightness story.

Nuke — chroma isolation expression

Expression {
 expr0 (1/(r*.3+g*.59+b*.11))*r
 expr1 (1/(r*.3+g*.59+b*.11))*g
 expr2 (1/(r*.3+g*.59+b*.11))*b
 name ExpressionColor
}

(Classic luma weights; for a show OCIO pipeline you may prefer a proper luminance conversion in the working space — the idea is the same.)


7. Editorial context

Does anything bump against adjacent shots?

  • View the shot in cut context: Hiero, RV, ShotGrid/ftrack player, or the editorial QT.
  • Check continuity of exposure, black level, grain, grade direction, and motion across the cut.
  • A shot that is perfect in isolation can still fail the sequence if it is a stop hotter or cleaner than its neighbors.

8. Edges

Compare edges to the plate 1:1.

Look for:

  • Softness that matches the plate (not a hard CG cutout or an over-blurred key)
  • Correct despill / edge color
  • No boiling, crawling, or temporal chatter
  • No dark or bright “halos” from bad premult / unpremult order
  • Motion blur on edges that matches the plate shutter (see motion blur lesson: usually 180° / 0.5)

Flip between FG and plate at the edge. If you can draw the matte with your eye every frame, the edge is not done.


9. Plate integrity

Is the input plate (and metadata) unchanged except for the intended VFX?

  • No accidental reformat, crop, or stretch
  • No baked viewer LUT into the beauty write
  • No shifted timecode / wrong slate / wrong take
  • Metadata and naming match what editorial and lighting expect

You are responsible for not damaging the plate on the way through the script.


10. Clarity and micro-contrast

Do 3D renders have the same clarity and contrast character as the plate (or reference plates)?

  • Over-sharpened CG and soft, low-contrast renders both fail tech check.
  • Match lens texture: slight haze, bloom, and “pro-mist” style diffusion when the plate has it.
Pro Tip
Cinematographers often put a pro-mist (or similar) filter in the matte box or on the lens. Matching that subtle diffusion — highlights that bloom a little, slightly softened speculars — takes plate integration to the next level. Do not leave CG clinically sharp against a filtered plate.



11. Despill

Did despill change luminance or kill intentional blue/green?

  • Despill should remove screen spill, not dim the whole subject.
  • Wardrobe, eyes, and props that are supposed to be blue/green must survive.
  • Check before/after despill on a freeze frame and over the range (animated spill is common).

If despill is fighting the key, fix the key or the lighting assumption — do not destroy the plate color to hide a bad matte.


12. Corrupt pixels (Inf / NaN)

Scan the output for inf and NaN pixels.

These usually come from:

  • Render engine errors
  • Division by zero in expressions or merges
  • Bad math in custom tools

They can pass a casual look and explode in DI, compression, or the next facility’s pipeline.

Nuke — flag Inf / NaN

Expression {
 expr0 "isnan(r) || isinf(r)"
 expr1 "isnan(g) || isinf(g)"
 expr2 "isnan(b) || isinf(b)"
}

View or shuffle that into a matte and scrub. Any hit is a fail until fixed.


13. Negative values

Negatives may exist in input footage — that can be OK.

  • Camera and color pipelines sometimes produce small negatives; do not blindly panic.
  • For operations that break on negatives (some blurs, keys, powers), use a Clamp (or equivalent) to keep values ≥ 0 where required.
  • You may also see values in exponential notation in the pixel inspector — that is normal for float EXR, not corruption by itself.

Know where negatives are allowed on your show (scene-linear EXR vs display deliverable).


14. Grain

Grain must match the plate — amount, size, and channel balance.

Typical flow:

  1. Separate or plate-match grain as the show requires.
  2. Add grain back onto degrained or CG regions.
  3. Dissolve / blend with synthetic grain (e.g. DasGrain or show standard) so clean CG does not sit in a different noise field.
  4. Use a grain check view to isolate high frequencies and compare plate vs your composite.

Nuke — simple grain check group

High-pass style: convert toward a log-ish space, subtract a slight blur, then gain up the residual so grain structure is visible.

Group {
 name grainCheck
 tile_color 0x421010ff
 addUserKnob {20 User l "Grain Check"}
 addUserKnob {41 gain -STARTLINE T Multiply1.gain}
}
 Input {
  inputs 0
  name Input
  xpos 447
  ypos 61
 }
 Colorspace {
  colorspace_out Cineon
  name Colorspace3
  xpos 447
  ypos 145
 }
set N61246380 [stack 0]
 Blur {
  channels rgba
  size 0.67
  name Blur1
  xpos 574
  ypos 284
 }
push $N61246380
 Merge2 {
  inputs 2
  operation from
  bbox B
  name Merge4
  xpos 447
  ypos 347
 }
 Multiply {
  channels rgb
  value {{gain*100000}}
  name Multiply1
  xpos 447
  ypos 413
  addUserKnob {20 User}
  addUserKnob {7 gain l "" +STARTLINE R 0 2}
  gain 1
 }
 Output {
  name Output1
  xpos 447
  ypos 507
 }
end_group

If plate grain is fine and organic and CG grain is chunky, monochrome, or missing in the mids, the shot will fail a careful review even when the key is perfect.


Quick pre-delivery checklist

Use this mini app https://compstart.pro/tech-check

#

Check

Pass?

1

Frame range = cut + handles

☐

2

Black levels match plate

☐

3

Exposure / highlights sensible (check ± exposure)

☐

4

2D / 3D tracks solid (no slip)

☐

5

Focus / defocus matches plate

☐

6

Hue / sat reasonable (chroma isolation)

☐

7

Works in editorial context

☐

8

Edges 1:1 with plate (softness, despill, no boil)

☐

9

Plate integrity / metadata intact

☐

10

Clarity / contrast / diffusion match

☐

11

Despill did not wreck luma or real blues/greens

☐

12

No Inf / NaN

☐

13

Negatives understood / clamped where needed

☐

14

Grain matches plate

☐


Summary

A tech check is how you prove the shot is safe to ship, not only “pretty in the viewer.”

  • Match range, blacks, exposure, track, focus, sat, edges, grain.
  • Protect plate integrity and kill Inf/NaN.
  • Always review in cut context and under the show view transform.
  • Depth of polish scales with budget; the questions stay the same.

If you only have five minutes: range → blacks → edges → grain → Inf/NaN → cut context.

PreviousRender AOVsNextColor Science