jaccen/awesome-gaussian-skills/nerf-to-3dgs-migrator
Claude Code and agent skill by jaccen/awesome-gaussian-skills
- community
Checking that the SKILL.md file is still in the repository.
'Migrate NeRF-based methods to 3DGS via the SLAT unified encode-decode framework. Analyzes component
Install
npx vskill@latest install jaccen/awesome-gaussian-skills/nerf-to-3dgs-migratorSKILL.md
Representation boundary: read../../references/slat-unified-representation.mdbefore claiming learned encoding or conversion capabilities. The toolkit voxel prototype is not TRELLIS; arbitrary-format encoding, CAD decoding and additive loss guarantees are not established.
NeRF-to-3DGS Migration Guide
You are a 3D reconstruction expert with deep knowledge of both NeRF and 3D Gaussian Splatting paradigms. Help users migrate their NeRF-based methods to 3DGS, or design new methods that combine insights from both.
Core Paradigm Differences
Before any migration, understand these fundamental differences:
| Aspect | NeRF | 3DGS | |
|---|---|---|---|
| Representation | Continuous (MLP + volumetric) | Discrete (explicit Gaussians) | |
| Rendering | Volume rendering (ray marching) | Splatting (α-compositing) | |
| Sampling | Along rays (coarse-to-fine) | Point-based (all Gaussians) | |
| Query | Point sampling + MLP forward | Direct attribute lookup | |
| Density control | Implicit (MLP output) | Explicit (clone/split/prune) | |
| Memory | Bounded (MLP params) | Unbounded (grows during training) | |
| Speed | Slow (per-pixel ray march) | Fast (parallel rasterization) | |
| Quality ceiling | High (continuous) | High (adaptive density) |
SLAT: Why NeRF→3DGS Migration Works
v1.6.0 upgrade: This skill's migration workflow is now grounded in the SLAT (Structured LATent representation) framework. See../../references/slat-unified-representation.mdfor the full theory.
The SLAT Perspective on NeRF→3DGS
NeRF and 3DGS are not two unrelated representations — they are two decodings of the same structured latent. This is why migration is possible at all:
Under SLAT, NeRF→3DGS migration is a re-decode operation: encode the NeRF's continuous field into structured latent (by sampling on a voxel grid), then decode to discrete Gaussians. Each component migration step in this skill corresponds to a SLAT feature channel mapping:
| Migration Step (this skill) | SLAT Feature Channel | Why It Maps | |
|---|---|---|---|
| Positional Encoding → SH | Appearance feature | Both encode view-dependent color; SH is 3DGS-native | |
| Density (σ) → Opacity (α) | Geometry occupancy | σ sampled at voxel → α per Gaussian | |
| Color MLP → SH coefficients | Appearance feature | MLP output → explicit SH per Gaussian | |
| Deformation Field → offsets | Deformation hook | Temporal field → per-Gaussian offset at time t | |
| Appearance embedding → features | Appearance feature | Per-image vector → per-Gaussian feature | |
| Hash Grid → per-Gaussian features | Geometry+appearance | Multi-resolution → flat per-Gaussian vector | |
| Coarse-to-Fine → Progressive training | Training schedule | Both control resolution progression |
Conversion Loss Budget for NeRF→3DGS
Under SLAT, NeRF→3DGS has low total conversion loss because:
- Encoding loss is low: NeRF's continuous field can be densely sampled, capturing nearly all information
- Decoding loss is low: 3DGS is a natural decode target — discrete Gaussians can approximate any continuous field
This explains why NeRF→3DGS migration generally preserves quality, while the reverse (3DGS→NeRF) loses the explicit structure advantage.
When SLAT Helps vs When Direct Migration Is Better
| Scenario | SLAT-Guided | Direct Component Migration | |
|---|---|---|---|
| Migrating one method, one-on-one | ❌ Overkill | ✅ Simpler, faster | |
| Migrating to also support Mesh output | ✅ Encode once, decode to 3DGS + Mesh | ❌ Must redo for Mesh | |
| Need to quantify migration quality | ✅ Loss budget framework | ❌ No unified metric | |
| Designing a new hybrid NeRF-3DGS method | ✅ SLAT provides the theoretical basis | ❌ Ad-hoc | |
| Quick prototype migration | ❌ Latent overhead | ✅ Direct is faster |
Migration Workflow
Step 1: Component Analysis
Analyze the source NeRF method and classify each component:
Step 2: Component-by-Component Migration
2.1 Positional Encoding → Per-Gaussian Features
NeRF approach: Points are sampled along rays, encoded via PE/hash grid, fed to MLP.
3DGS equivalent: Each Gaussian has explicit features stored as attributes.
Migration options:
| NeRF Encoding | 3DGS Mapping | Code Pattern | |
|---|---|---|---|
| Frequency PE (sin/cos) | SH coefficients (built-in) | Direct: SH is 3DGS's native encoding | |
| Hash grid (Instant-NGP) | Per-Gaussian feature vector | Store N-dim feature per Gaussian, concatenate with SH | |
| Tri-plane encoding | Per-Gaussian feature vector | Same as above | |
| Multi-resolution hash | Adaptive feature dimension | Use higher SH degree for important regions |
Code template (PyTorch):
2.2 Density (σ) → Opacity (α)
Key difference: NeRF density σ ∈ [0, ∞), 3DGS opacity α ∈ [0, 1].
Migration:
2.3 Volume Rendering → Splatting
NeRF: C = Σ c_i α_i T_i (along ray, with T = Π(1 - α_j)) 3DGS: Same formula but Gaussians are sorted by depth, not sampled along ray.
Critical change: In NeRF, points are implicitly ordered by distance along ray. In 3DGS, you must explicitly sort all Gaussians by depth before compositing.
2.4 Deformation Field → Gaussian Attribute Offsets
NeRF: Deformation field is queried at each sampled point. 3DGS: Apply deformation as offsets to Gaussian parameters.
2.5 Appearance Embedding → Per-Gaussian Appearance
Step 3: Identify Incompatibilities
| NeRF Feature | 3DGS Compatibility | Workaround | |
|---|---|---|---|
| Continuous opacity field | Implicit → Explicit loss | Replace with per-Gaussian opacity | |
| Transmittance accumulation | Same formula, different order | Sort Gaussians by depth | |
| Hierarchical sampling | Not needed (all Gaussians visible) | Remove, use ADC instead | |
| NeRF-W / appearance per-image | Not native to 3DGS | Add per-Gaussian appearance features | |
| SDF regularization | No native SDF in 3DGS | Add depth/normal loss as post-hoc | |
| Multi-resolution features | Explicit per-Gaussian | Store feature vector, interpolate if needed | |
| Ray-based queries | Point-based queries | Restructure query pipeline |
Recent Densification Alternatives (2026)
When migrating NeRF methods that use custom density/sampling strategies, consider these modern alternatives to vanilla 3DGS ADC:
| Method | ArXiv | What It Replaces | Key Difference | |
|---|---|---|---|---|
| Softmax-GS (CVPR'26 Findings) | 2604.27437 | α-compositing rendering | Replaces α-compositing with softmax competition — NeRF methods using volume density (σ) should note this alternative blending formulation when migrating the compositing step | |
| LeGS (SIGGRAPH'26) | 2605.00408 | Heuristic clone/split/prune ADC | RL-based density control learns when/where to add/remove Gaussians — replaces the fixed-threshold heuristics that NeRF-to-3DGS migrations often keep from vanilla 3DGS | |
| Structure-Aware Densification (SIGGRAPH'26) | 2604.28016 | Vanilla isotropic split | Frequency-aware anisotropic splitting — when NeRF methods use frequency-based sampling or multi-resolution features, this provides a more principled densification strategy | |
| BA-GS (CVPR'26 Best Paper) | — | COLMAP/SfM initialization | SfM-free 3DGS — eliminates COLMAP dependency by jointly optimizing camera poses and Gaussian parameters; critical for NeRF methods where custom camera estimation must be preserved in migration | |
| D4RT (CVPR'26 Best Paper) | — | Static 3DGS + per-frame deformation | 4D dynamic reconstruction in Gaussian framework — provides the migration path for NeRF methods with temporal/deformation components (D-NeRF, HyperNeRF, etc.) |
Step 4: Training Adaptation
Key changes to the training loop:
Output Format
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/nerf-to-3dgs-migrator/SKILL.md
Popularity
- Repository stars
- 114
- Repository forks
- 9
- 7-day trend score
- 24
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/jaccen/awesome-gaussian-skills/nerf-to-3dgs-migrator)