Beyond SH3
Test richer colour and directional representations against the same held-out views. The aim is to improve sharp reflections and transmission without losing interactive performance.
Synthetic neural rendering workbench
My earlier research showed where Gaussian splats work well and where their material model breaks down. Neural Prism turns that finding into a practical workbench: it captures an existing 3D asset, trains a neural scene and compares the result with the original renderer under controlled conditions.
Working prototype
Proven on Apple Silicon
Mojo + WebGPU
Broader validation planned
One controlled system
Neural Prism keeps the asset, camera, lighting and colour contract fixed while the representation changes. That continuity connects a visible difference to the method being tested, rather than to an unnoticed change elsewhere in the pipeline.
Start with a glTF or GLB asset and produce matched views, camera data and scene-linear EXR channels. These captures provide the reference for every later stage.
Mojo RenderTrain, evaluate and export Gaussian splats from the controlled capture. Error maps show where the learned scene departs from the reference.
Mojo SplatInspect the PBR mesh, progressive path trace, splat and hybrid output through one live camera. The shared view makes the trade-offs visible.
WebGPU viewerBrowser renderer
This is the workbench running in the browser with Babylon.js Lite and custom WebGPU path-tracing shaders. The same live camera moves between PBR, path-traced, splat and hybrid views. This makes the browser more than a presentation layer: it becomes part of the experiment and exposes the same representation choices to the person inspecting the result.
Progressive WebGPU path tracing
Noise is useful evidence. It shows what the path tracer knows before a denoiser fills the gaps. Follow one fixed, front-facing Flight Helmet camera from 8 to 256 samples per pixel. Then compare the 256-sample raw image with its denoised result. Dragon Attenuation uses a bright HDR environment and AgX to show how the same process handles a difficult transmissive material.
The low sample count keeps strong Monte Carlo noise. The camera, scene and display framing remain fixed across the sequence.
Designed from earlier research
Gaussian splats can render quickly, but the earlier research showed that speed alone is not enough for product visualisation. Prism starts with the limited directional signal available from third-order spherical harmonics, because that limit is most visible in reflective and transmissive materials.



This view was selected because it presents the subject from the front, keeps the dragon complete and avoids exposing the reverse of the checkerboard support.
Traditional splats use low-order spherical harmonics to vary colour with view direction. This compact model works for many diffuse surfaces, but it cannot reproduce many sharp reflection or transmission lobes. Prism keeps those errors measurable while it tests richer directional models and hybrid results that retain triangles where the splat is not enough.
Why Mojo
Graphics research often splits into Python orchestration, C++ systems code and vendor-specific GPU kernels. Each boundary adds another implementation to maintain and another place for an experiment to change on its way to deployment.
Mojo combines accessible development with low-level control of CPU and GPU kernels. The same language can cover path tracing, image processing, splat training and evaluation. This can reduce duplicated systems and make an experiment easier to move from a workstation to other accelerators and cloud hardware. For Prism, this matters because a representation is only useful if the same research can become a reliable tool on the hardware people actually use.
Neural Prism is in alpha and runs on Apple Silicon today. AMD, NVIDIA, Qualcomm and cloud support are planned, but they remain validation targets until the tests pass.
Learn more about MojoProject summary
Neural Prism is not a one-click photogrammetry service. It is an open test harness for researchers and artists who need synthetic ground truth, controlled comparisons and a credible route from an offline reference to an interactive result. The purpose is to find where neural rendering is already useful, measure where it fails and build better representations from that evidence.
OPEN THE PROJECT FLYER ↗