Gaussian splatting is opening up exciting new ways to capture real-world environments—but capturing the scene is only the beginning.

In our SIGGRAPH Encore session, Daniel Langhjelm walked through his practical end-to-end workflow for taking a real location from capture and multi-GPU training into Unreal Engine, and ultimately into Nuke for a finished VFX composite.

Don’t Move the Machine. Move the Scene.

One of the most interesting parts of Daniel’s workflow is that it doesn’t depend on one massive workstation.

Daniel connects remotely from Canada to cloud infrastructure in Ohio, with different machines handling different parts of the process. Gaussian splat training runs on a multi-GPU Linux system, while Unreal Engine and Nuke run on a Windows workstation. Large production assets are shared through network-attached storage.

This distributed approach allows GPU resources to be added where they matter most—particularly during splat training—without requiring the artist to build or maintain all of that hardware locally.

Training Gaussian Splats with Grendel

Large captures can become computationally expensive quickly. Daniel demonstrated using Grendel on Linux to distribute Gaussian splat training across multiple GPUs.

That matters when a capture contains thousands of images. Daniel noted that training roughly 2,000 images can take up to 48 hours depending on the hardware and dataset. Faster processing means faster iteration: train the scene, evaluate it, make adjustments, and get back to creating.

Shared Storage Connects the Pipeline

Daniel separates the small things from the big things.

Project files and scripts can live in Git, while trained splats, point clouds, EXRs, PNGs, and other large production assets live on shared network-attached storage.

The result is a straightforward pipeline:

Capture → Train → Shared Storage → Unreal Engine → Nuke

The Linux training system and Windows artist workstation can work from the same production assets without manually moving huge datasets between machines.

Bringing the Environment into Unreal Engine

Once trained, Daniel brings the Gaussian splat into Unreal Engine, where it becomes part of an interactive cinematic environment.

Unreal gives him real-time control over the camera, exposure, color, lighting, depth of field, bloom, and other scene properties. For the demonstration, Daniel used a hallway captured with an XGRIDS PortalCam and introduced a MetaHuman into the environment, adding lighting to better integrate the character with the captured scene.

From there, Unreal Engine’s Movie Render Graph provides the passes needed for a traditional VFX finishing workflow, including beauty, environment, character, depth, and masking information.

Finishing in Nuke

The final step brings those renders into Nuke.

Instead of treating the Unreal output as a finished, flattened image, Daniel uses the additional passes to continue shaping the shot—isolating the character, adjusting the background, using depth for focus and atmosphere, and adding details such as light wrap, edge treatment, grading, vignette, and film grain.

EXR plays an important role here because a single file can carry multiple layers and higher-bit-depth information, giving the artist considerably more flexibility during compositing.

From Scan to Set

That may be the most exciting part of Daniel’s workflow.

Gaussian splatting doesn’t have to stop at capturing a cool environment. Connected to multi-GPU processing, shared storage, Unreal Engine, and a traditional VFX tool like Nuke, it becomes part of a practical production pipeline.

The bigger vision Daniel and I discussed during the session is Scan to Set: connecting capture, scalable GPU processing, real-time worldbuilding, and compositing into one workflow that artists can access from virtually anywhere.

The tools will continue to evolve. But we’re already getting a glimpse of something much bigger: Gaussian splatting moving from an experimental capture technology into a practical VFX and virtual production workflow.