Local vs render-farm output checks
By Superluminal Engineering
Compare local and farm outputs across EXR data, color management, denoising, passes, metadata, and the exact Blender build.
Published 2026-07-29 · Updated 2026-07-29
Publication status
This page defines how to test whether a Blender render produced locally and the same scene rendered on Superluminal are equivalent. It publishes no paired result yet and is therefore noindex. Superluminal does not claim universal “pixel perfect” or “identical to local” output.
The initial rights-safe fixture is Classroom by Christophe Seux, distributed through Blender's benchmark program as CC0. Classroom is a useful interior scene, but it cannot represent every pass, add-on, simulation, denoiser, or nondeterministic operation. Additional fixtures and negative cases are required.
What equivalence means
Bit-identical means the compared bytes or decoded values are exactly equal under the declared method. Numerically tolerance-bound means differences stay within preregistered per-channel limits. Perceptually similar uses a declared perceptual metric and threshold. These outcomes are not interchangeable.
Preview WebP or JPEG images cannot prove equality of original OpenEXR data. The test retains paired original outputs and first compares their structure: dimensions, channel names and types, layers, metadata, compression, Cryptomatte manifests, and color information.
Settings to match before comparing outputs
| Criterion | Local record | Farm record | Comparison | Status |
|---|---|---|---|---|
| Blender patch and build | Exact | Exact | Must match or explain | Pending |
| Engine and device | Exact | Exact | Separate device effects | Pending |
| Samples and denoiser | Exact | Exact | Record deterministic limits | Pending |
| OCIO configuration | Config and view | Config and view | Metadata plus pixels | Pending |
| Passes and Cryptomatte | Layer inventory | Layer inventory | Names, types, values | Pending |
| EXR format and compression | Exact | Exact | Header and channel checks | Pending |
| Add-ons and dependencies | Versioned manifest | Versioned manifest | Must match or explain | Pending |
Variables to lock
| Dimension | Required record |
|---|---|
| Blender | Exact patch and build identity |
| Runtime | Local OS/device and farm runtime/device |
| Scene | Package checksum and dependency manifest |
| Engine | Cycles, EEVEE, or another exact identifier |
| Quality | Samples, bounces, adaptive settings, denoiser |
| Color | OCIO configuration, display, view, look, exposure, gamma |
| Output | Format, codec, compression, bit depth, passes and layers |
| Extensions | Exact add-on packages and versions |
If local and farm devices differ, the study must state that difference and determine whether the chosen operation is expected to be deterministic. A mismatch is a result to investigate, not a data point to discard automatically.
Comparison procedure
The team will freeze and hash the fixture, render representative frames locally and on the farm, preserve originals, and publish sanitized manifests. Structural checks run before numerical checks. Exact hashes are recorded even when a tolerance method is required. Numerical summaries should include maximum absolute error, mean error, affected-pixel share, per-channel results, and heatmaps. The analysis must disclose NaN or infinite values and avoid tonemapping away differences.
The engine compatibility matrix describes the transport mechanism; this protocol tests its outcome. The Blender 5.1 benchmark can reuse the paired outputs, but speed and correctness remain separate conclusions.
How to compare local and farm outputs
- Lock · Freeze scene and environment manifests
Hash the CC0 scene pack, exact Blender builds, settings, dependencies, add-ons, and color configuration.
- Render · Produce local and farm originals
Keep original EXRs and logs; do not compare only converted web previews.
- Inspect · Compare structure before pixels
Check dimensions, channels, layers, metadata, Cryptomatte manifests, and compression.
- Measure · Run exact and tolerance-bound diffs
Publish hashes, pixel statistics, heatmaps, thresholds, negative cases, and analysis code.
- Conclude · State only the tested scope
A conclusion names the exact patch, scene, engine, device, settings, date, and tolerance.
Failure and release rules
A result is valid only for the exact scene, Blender build, device, engine, settings, add-ons, output, date, and threshold. Lossy EXR and denoised outputs require methods appropriate to their expected variation. A failed pass or metadata mismatch remains in the release bundle with a diagnosis and correction record.
The page can become indexable when original outputs, checksums, manifests, diff code, heatmaps, thresholds, negative results, reviewer, and limitations are public. Until then, the correct status is protocol pending—not proven equivalence.