Why 32-bit linear float is the only honest colour space
Gamma-encoded pipelines lie about light. We break down why every ZHiCK shot is decoded into linear float before a single pixel is touched — and why your shadows breathe because of it.
The lie most pipelines tell
Most VFX pipelines operate in gamma-encoded space. It is a convenient lie — one that lets monitors display roughly correct images without expensive conversion. But it is still a lie, and like all lies it compounds quietly until your shadows look muddy and your highlights clip without warning.
When you work in gamma space, every multiply, every screen, every add is mathematically wrong. Light does not add in gamma space. It adds in linear space. A pipeline that composites in gamma is compositing a fiction.
What 32-bit linear float actually means
32-bit float means each channel — red, green, blue — is stored as a 32-bit floating point number. That gives you roughly seven decimal digits of precision and, crucially, the ability to represent values above 1.0 and below 0.0.
Above 1.0 is where highlights live. Below 0.0 is where some colour-negative film stocks store data. A pipeline that cannot represent these values is clipping information before you ever see it.
Linear means the relationship between stored values and light intensity is direct. A value of 0.5 is half as bright as 1.0. A value of 2.0 is twice as bright. This is not true in gamma space, where 0.5 is closer to about 0.21 in linear — a massive discrepancy that ruins every blend.
Why your shadows breathe
In a linear float pipeline, shadow detail is preserved because the math of light is honest. A multiply by 0.5 actually halves the light. An add actually adds light. When you grade a shadow darker, you are not crushing data into a narrow band — you are moving through a space where the shadow's information still exists and can be recovered.
This is why ZHiCK shots grade so cleanly. The shadow you pushed down in the grade can be pushed back up in a regrade without banding, without noise, without the artefacts that plague gamma pipelines.
The cost
Linear float is expensive. It uses four times the memory of 8-bit. It requires every tool in the pipeline to understand float — not all do. And it demands discipline: you must decode into linear at ingest and encode back to your delivery space at the end, never in between.
We have paid that cost for eight years. It is the foundation of everything we ship.
Want this kind of thinking on your project?
We ship frames, not just ideas.