The first time you stand inside a working LED volume, the thing that surprises you isn't the picture. It's the silence. Eight or nine racks of compute fan into the ceiling, the panels themselves are nearly silent, and the only voice on the floor is the volume supervisor on a headset checking sync. Everyone else is reading a meter. The picture is the product; the meter readings are the show.
This guide walks through the chain we run when AnyDay's volume team is hired into a film, TV, or commercial production — from the moment the lighting director hands us a LUT and a reference plate to the moment the camera rolls on a take that lives in the cut. There are six layers in that chain, and every one of them has a way it goes wrong if you skip past it. We don't skip. The walls match because the calibration matches; the calibration matches because the firmware matches; the firmware matches because somebody on the call sheet owns it.
If you're a producer scoping an XR shoot and want to sense-check whether a fine-pitch volume even fits your budget envelope before you brief us, our LED Wall Cost Guide walks through the six factors that move the bid. Our Unreal Engine real-time virtual production stack article goes deeper on the engine side. This article is the panel and processor side — the half that lives between the engine and the camera sensor.
The six layers of the volume chain
From engine to eye, the chain in an LED volume looks like this:
- The engine. Unreal, Notch, Pixotope, Disguise rx — the source of pixels.
- The nDisplay cluster. Render nodes, one per wall section, sliced and stitched.
- The genlock + timecode chain. The signal that keeps engine, processor, panels, and camera locked frame-accurate.
- The processor. Brompton SX40 or Megapixel HELIOS, doing the colour management and signal scaling onto the panel grid.
- The panel firmware. Per-cabinet calibration, dark-cabinet correction, refresh rate, scan mode.
- The camera response. Where the wall meets the lens — moire, banding, colour shift, ghosting.
Six layers. Each one introduces a transform; each transform can drift. The job of a volume supervisor is to keep all six in tune, every shoot day, twice a day, with a calibration pass at lunch and another at strike. The shows that win awards do this religiously. The shows that don't, you can see it on screen.
Layer one — the engine and the LUT handoff
The engine — Unreal Engine 5.x in most of our jobs — outputs pixels in a known colour space. Usually ACEScg or linear Rec.2020. The LUT handoff is the conversation between the DP, the colourist on the production, and our volume lead: which colour space the engine outputs, which the processor receives, which the camera expects, and which the on-set monitor shows. Four colour spaces, three transforms between them.
The mistake most volume work makes here is to bake all four into the engine and hope. The right move is to render linear out of the engine, do the transforms in the processor stack where we can adjust them live, and reserve the engine for what it's good at — building the world, not grading it. That keeps the colourist's LUT live until the last possible second, which is when the camera DIT pulls a frame and confirms the match.
The LUT handoff is the first thing we ask for on a volume gig. If the production doesn't have one yet, we build it. If they have one and it's wrong for the panel, we say so on the prep call, not at lunch on day one.
Layer two — the nDisplay cluster
nDisplay is Epic's clustering system for splitting one Unreal viewport across many render nodes. A simple curved wall is three or four nodes. A full volume — back wall, two side walls, ceiling, sometimes a floor — is anywhere from six to twelve render nodes plus a primary node and one or two switches. The render nodes are 4090-class GPUs with the same Unreal scene loaded; the primary calls the shots, sends the camera position, and the cluster renders the slice each node owns.
Three things break in a cluster, and all three are unforgiving:
- Asset mismatch. If one node has a different version of the scene file, that node renders a different image. The wall shows the seam. Fix: nightly sync via Perforce or a shared content drive, with a hash check at boot.
- Drift in tick rate. If a render node falls behind by a single frame, the seam between it and its neighbour shears. Fix: monitor the worst-case frame time on every node, and if a node is slipping, drop scene complexity rather than push the cluster.
- Network latency. The cluster lives on a dedicated 10GbE backbone, not the venue's house network. Treat that backbone as critical infrastructure.
The volume supervisor's tool of choice for monitoring is Unreal Insights plus a custom-built dashboard that shows worst-case frame time, dropped frames per node, and the timecode delta between the primary and each render slave. Three meters, one screen, eyes-on every minute the camera might roll.
Layer three — genlock, timecode, and the sync chain
The volume's most invisible system is also its most important. Genlock is the analog or digital reference signal that tells the engine, the processor, the panels, and the camera that this is frame zero. Without genlock, the wall and the camera drift relative to each other, and you get banding, tearing, or a strobe artefact that lives on every frame of the take.
Our standard sync chain on a multi-wall job:
- House sync generator. Black burst or tri-level, locked to the camera's frame rate (typically 23.976, 24.000, or 25.000 for film). One source of truth.
- nDisplay primary genlock. The primary node receives the sync signal first and distributes derived frame timing to the render slaves.
- Processor genlock. The Brompton or Megapixel processor accepts the same house sync as a reference. The processor's "frame remapping" feature is what aligns engine output to camera shutter.
- Camera Lock-It boxes. Every camera body on a multi-cam shoot has a timecode generator slaved to the same source.
- Audio sync. Same source again, distributed to the production mixer.
If sync drifts, the wall is the first thing the camera sees as wrong. Sometimes it's subtle — a half-frame ghost on motion. Sometimes it's obvious — a horizontal band rolling top-to-bottom every two seconds. The fix is always the same: pull every connection on the genlock chain, confirm the house generator is producing a clean signal, and confirm every device is locked, not free-running. The diagnostic walk takes ten minutes and saves a day of bad takes.
Layer four — the processor stack
The processor is where pixels from the engine become pixels on the wall. The two we run most often: Brompton SX40 for high-end virtual production and any job where colour fidelity is the brief, and Megapixel HELIOS for jobs where pixel count is the brief — full-wraparound volumes that climb past 8K horizontal.
What the processor does, in order:
- Receives input. 12G-SDI, HDMI 2.1, or fiber, from the nDisplay primary's output card. We run fiber on every install longer than 30 feet because copper's signal margin gets thin past that.
- Applies colour management. The input is in one colour space; the wall has a measured native gamut from calibration. The processor maps one to the other in real time. This is where the SX40 earns its line — Brompton's Dynamic Calibration mode does per-pixel colour correction against a measured panel gamut, so every cabinet matches every other cabinet even after years of LED aging.
- Maps to the panel grid. The processor knows how many panels are connected, in what configuration, and at what pitch. It carves the input image into the panel-size tiles each panel needs to receive.
- Sends to panels. Over a Cat6A or fiber chain that physically reaches every cabinet in the wall.
The SX40 has a few features specific to virtual production that earn the cost. ShutterSync lets the processor adjust the panel scan rate to align with the camera shutter, eliminating the banding that comes from scan-shutter beat frequencies. HDR PQ and HLG support means the wall can carry a real HDR signal end-to-end. Frame remapping lets the processor delay or advance the output by sub-frame amounts so the picture on the wall is exactly where the camera expects it. None of these are nice-to-haves; on a serious virtual production job, all three are running every take.
Layer five — panel firmware and per-cabinet calibration
An LED panel is not a passive display. It's a small computer with firmware, a measured colour profile, and a relationship with the processor that's defined in a configuration file. Two panels of the same model, fresh out of the case, will have slightly different white points and slightly different brightness curves. The job of per-cabinet calibration is to measure each panel's actual response, store it on the panel's onboard memory, and let the processor correct against it.
Calibration patches are the patterns we run during prep day:
| Patch | What it measures | What it fixes |
|---|---|---|
| Full white | Brightness, white point, dark cabinets | Per-cabinet brightness offset, white-point unification across walls. |
| Full black | Black level, stuck pixels, LED leak | Identifies cabinets that need swap before the shoot. |
| Primary R / G / B | Native gamut per panel | Per-panel gamut measurement; processor uses to map input colour space. |
| Grey ramp | Gamma curve, banding | Confirms gamma is linear; surfaces banding in low-bit-depth signal paths. |
| Stress motion | Refresh rate, scan, ghost | Confirms refresh is high enough to avoid camera-visible artefacts. |
The big calibration job is white-point matching across walls. The back wall, two side walls, and ceiling are usually the same model and pitch, but each was manufactured at a slightly different yield bin. Without correction, you can see the wall-to-wall difference in a fresh fade-to-white. The Brompton's Dynamic Calibration mode pulls the measurements off every cabinet's onboard memory and applies a per-cabinet correction so all four walls hit the same white point inside one or two delta-E. The colourist sees the result; the audience sees the result; the volume supervisor signs off on it during the morning calibration pass.
The other panel-side issue worth naming: refresh rate vs camera shutter. A panel running at 3,840 Hz refresh has plenty of headroom for a 24fps camera with a 180-degree shutter. A panel running at 1,920 Hz might show a faint horizontal band when the camera shutter beats against the scan. The fix is a higher refresh rate in panel firmware, plus the ShutterSync feature on the processor. Both have to be on. Both have to be confirmed by a test take on day one.
The single most common volume failure we get called to triage is a wall that "looked fine in prep but bands on camera." Nine times out of ten the cause is the same: someone changed the camera frame rate after the calibration pass, and nobody re-synced the processor's ShutterSync setting. The fix is two minutes. The diagnosis takes longer because nobody documented the change. The lesson: every frame-rate change is a calibration event. Treat it like a setup change, not a setting tweak.
Layer six — the camera and the moire test
The camera is the last layer in the chain, and it's the one that sees everything the other five layers got wrong. Three things to test on day one with the production's hero camera:
- Moire. Slow pan past a calibration grid on the wall, ARRI or RED hero camera, at the focal lengths the production plans to shoot at. If moire shows up, the fix is usually a longer lens, a shallower depth of field, or a different distance from the wall — not a panel-side change. Our moire effect guide walks through the underlying physics and the on-set workarounds.
- Banding. Static wide shot of full-white. If banding shows, it's either a sync issue (genlock chain) or a processor issue (frame remapping). Walk the chain.
- White-point match. Camera rolls across the wall corners. If the back wall reads cooler than the side walls, the calibration pass missed. Re-run the Dynamic Calibration patch on the offending cabinet group.
The DP and the volume supervisor watch this on the same monitor. The DP signs off when the wall reads neutral. The supervisor signs off when the meters read clean. The day starts after both signatures land.
The morning calibration pass
Every shoot day starts the same way. Crew call at 6:00. Calibration pass starts at 6:30 and runs 45 minutes. Order of operations:
- Power-up sequence. Panels first, then processors, then engine nodes, then primary nDisplay node. The order matters because the panels need to be at thermal steady-state before colour measurements are valid.
- Genlock confirmation. One person walks the chain with a sync analyzer. Five minutes.
- Full-white pass. Wall shows uniform white. Volume supervisor stands centre and watches. Any cabinet that reads off gets flagged for live correction.
- Primary R/G/B pass. Same wall, three patches. The processor's calibration data updates if any panel has drifted overnight.
- Camera roll-on. Hero camera rolls a 30-second take on the calibration grid. DIT pulls a frame. DP and supervisor look. Sign-off.
- Scene load. Engine loads the day's first scene. nDisplay cluster confirms all nodes report ready. Cluster lights green.
If anything fails the morning pass, the call sheet slides. A misbehaving panel can be swapped in 20 minutes; a misbehaving sync chain takes longer because the diagnostic is layered. We carry spares for every link in the chain — panels, fibers, processors, genlock generators — and the on-set kit includes redundant primary nodes so a single GPU failure doesn't end the day.
Volume work runs on prep, not improvisation. Send us the script's volume scenes, the camera package, the engine, and the colourist's LUT. We'll come back with a calibration plan, a sync diagram, and a load-in schedule inside a business day.
Send us a briefMulti-wall configuration — what shape your volume should be
The most common volume shapes we build, and what each one earns:
Flat back wall + two side wings
The entry-level configuration. The back wall does most of the work; the side wings carry interactive reflections, sky for off-axis shots, and the bounce light that makes the cast's costumes read correctly. Three walls, six render nodes, one processor. Calibration is straightforward because all three walls are coplanar or near-coplanar.
Curved back wall (15-degree segments)
The curved wall fakes parallax better than a flat wall because the camera can pan and the perspective stays plausible. Twelve to twenty panels per segment, six to eight segments. Calibration adds a step — the processor has to know the curve geometry so it warps the engine output to match. We measure the curve with a laser scanner during install and feed the geometry into the Brompton.
Wraparound (curved back + curved sides + ceiling)
Full immersive. The cast can look in any direction and the volume holds. This is where the render budget climbs steeply — twelve to twenty render nodes, two or three processors operating in parallel, a synchronized fibre backbone. White-point matching across the ceiling and walls is the hardest part because the panel angles are different and the ambient light from the cast and crew bounces differently off each surface. Worth it for jobs where the camera can't be choreographed around a single wall.
Wrap + floor
The hardest configuration we build. The floor adds walkable LED rated for crew load, which has its own calibration and refresh constraints. Heat management changes — the floor doesn't dissipate as well as a wall. The floor's specular bounce up into the cast's faces also has to be managed by physical diffusion. We've run this configuration for car-shoot jobs where the asphalt under the vehicle had to be a live LED surface; the result is striking, but the engineering budget reflects the complexity.
What goes on the call sheet
Producers scoping a volume job often miss the dedicated roles a working volume needs. The minimum staffing on a multi-wall shoot:
- Volume supervisor. Runs the chain end to end. Calls calibration, signs off morning pass, owns the sync chain.
- Brompton operator. Lives on the processor stack during the shoot. Adjusts colour management, frame remapping, ShutterSync per take if needed.
- Unreal operator. One or two depending on scene complexity. Runs the engine, loads scenes, manages live scene changes.
- Sync tech. Owns the genlock chain. Walks it twice a day, more if anything in camera reads off.
- Wall tech. Owns the physical panels. Swap spares, walk the LED chain, manage any cabinet-level issues.
- DIT liaison. Sits between the volume team and the production's data team. Confirms colour pipeline on every reel.
Six dedicated roles on a working volume. Smaller shoots can collapse some — supervisor + Brompton, Unreal + sync — but never below four bodies. The temptation to run a volume with two technicians is the temptation to lose a day to a diagnostic the team didn't have time to do.
The corners not to cut
Volume work has a few corners producers try to cut, and each one shows up on screen if you cut it.
Don't cut the calibration time. A volume that didn't calibrate properly on day one will eat days of grading on the back end. The 45 minutes of morning calibration is the cheapest insurance on the entire production.
Don't cut the redundancy. Spare panels, spare processors, redundant primary nodes. A failure mid-day on an uninsured chain is a wrap. We carry hot spares for every layer; if you ask us to leave the spares in the truck to save the truck call, the truck call is the cheap line.
Don't cut the sync analyst. A sync chain without somebody who owns it gets sloppy by lunch. The sync tech is on the call sheet for a reason.
Don't cut the LUT pre-production call. The 30-minute call between the colourist, the DP, and the volume supervisor a week before the shoot is worth the entire shoot. The LUT handoff has to be locked before the trucks roll.
Where we go from here
A multi-wall LED volume is a chain, and a chain is exactly as strong as the person walking it. The engine, the cluster, the sync, the processor, the panel, the camera — all six layers tuned every shoot day, twice a day, by a volume supervisor with a clipboard and a meter. The picture the audience sees is engineered, not improvised.
For producers scoping a volume gig: the brief we want is short. Script's volume scenes, camera package, engine, colourist's LUT if locked. We send back a calibration plan, a sync diagram, a load-in schedule, and a crew list. Our dispatch covers stages across Hollywood, Burbank, DTLA, and the Pasadena corridor; for projects that need an off-site build, we travel with the kit.
For deeper reading on the engine side, see Unreal Engine on an LED wall. On panel selection, the pixel pitch guide covers the viewing-distance math. On the moire question every DP asks, see how to fix moire on LED screens. On commercial vs film LED work, the LED wall service page walks through the wall types we deploy in LA.
The wall is the camera's other actor. It should be in the same lighting conditions, the same colour space, and the same frame timing as everything else on the call sheet. That's what calibration is — making sure the wall is on set, in the scene, on time.