3DGS as a Maya-native asset
Most 3D Gaussian Splatting content still lives in standalone viewers. We built a Maya 2026 plugin that brings reconstructed scenes into an established DCC workflow, where Gaussian assets can be viewed, transformed, combined with meshes and edited without leaving Viewport 2.0.
The result is not only a renderer. It is an authoring workflow built around three capabilities.
Three capabilities
01 — Native viewport rendering
Load a 3DGS PLY directly into Maya, inspect it at interactive frame rates and manipulate it with Maya's standard translate, rotate and scale tools. The custom DirectX 11 pipeline preserves elliptical splats, view-dependent color and alpha compositing inside Viewport 2.0.
02 — Composition and editing
Multiple Gaussian nodes can share one Maya scene while remaining independently transformable. A merged rendering path sorts them together, and a depth pass allows Gaussian content and conventional Maya geometry to occlude each other correctly. Marquee selection, soft deletion, restore and PLY export complete the editing loop.
03 — Scene assembly
Gaussian captures can be treated as building blocks rather than isolated scans. This final sequence shows scenes assembled from publicly available 3DGS assets inside Maya.
My contribution
This was a two-person course project developed with Hangyu Zhang. I was responsible for the GPU rendering pipeline and the selection and editing system, including:
- refactoring the viewport integration around MPxDrawOverride and direct DirectX 11 access;
- building the merged multi-node renderer with global depth sorting;
- implementing the depth pass for mutual occlusion between Gaussian splats and Maya geometry; and
- building marquee selection, four selection modes, soft deletion, restore and PLY export.
Under the viewport
PLY data is parsed and uploaded to structured GPU buffers. A compute pass projects every splat, evaluates its 2D covariance and spherical-harmonic color, and culls invisible data. A four-pass GPU radix sort establishes back-to-front order before instanced ellipse rendering and alpha compositing. A separate atomic-min depth pass integrates the result with Maya's depth buffer.
All rendering and editing algorithms were implemented for the plugin rather than delegated to an existing 3DGS runtime.
Built with: C++, DirectX 11, HLSL and the Maya C++ API.
Target: Windows 10/11, Maya 2026, Viewport 2.0 in DirectX 11 mode.

