Show HN: Pixel-Perfect MaterialX in Blender and Three.js
Ben Houston developed the MaterialX Fidelity Suite to address inconsistencies in how MaterialX files render across different platforms. Using a standardized test suite of over 400 materials, he enabled pixel-perfect MaterialX support in both Three.js and Blender. The suite distinguishes between unavoidable rendering differences due to technique and avoidable discrepancies from incorrect implementations.
- ▪Ben Houston created the MaterialX Fidelity Suite with over 400 test materials to evaluate MaterialX rendering accuracy.
- ▪The suite uses the reference renderer materialxview as ground truth and compares outputs from Three.js, Blender Eevee, and Blender Cycles against it.
- ▪Differences due to rendering techniques like rasterization versus path tracing are expected, but the suite isolates and highlights implementation errors in nodes, coordinates, or noise functions.
- ▪Custom noise node implementations were developed to close the gap between reference and open-source renderer outputs.
- ▪The project was inspired by the Khronos glTF Render Fidelity suite, which improved consistency across glTF renderers.
- ▪The fidelity suite enables automated visual difference metrics, making regressions objectively measurable.
Opening excerpt (first ~120 words) tap to expand
Back to Blog ListingPixel-Perfect MaterialX in Blender and Three.jsHow I built the MaterialX Fidelity Suite, then used it to drive pixel-perfect MaterialX support in both Three.js and Blender — including custom noise node implementations that finally close the gap between reference renders and open-source tools.Ben Houston • May 1, 2026 • 10 min readgraphicscodingstandardsland-of-assetsOne of the long-standing frustrations with MaterialX is that the format is well-specified on paper but wildly inconsistent in practice. Open a .mtlx file in the reference viewer, then open the same file in Three.js or Blender, and you get something that looks vaguely related — but not the same. Colors shift. Noise patterns break. Procedural textures come out completely wrong. I wanted to fix that.
…
Excerpt limited to ~120 words for fair-use compliance. The full article is at Ben Houston's Website.