← Projects

Rendering / Authoring tools

Maya Gaussian Splatting

A native Maya 2026 authoring tool for rendering, composing and editing 3D Gaussian Splatting scenes directly in Viewport 2.0.

PROJECT PERIODSpring 2026 · CIS-6600
TEAMWeike Qian, Hangyu Zhang
Maya Gaussian Splatting cover 1

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.

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.

Viewport workflow — selected from the final presentation demo. This clip contains no audio.

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.

Multi-node composition and editing — selected from the final presentation demo. This clip contains no audio.

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.

Scene assembly studies using public Gaussian assets. This clip contains no audio.

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.

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.