3dgrut

给高斯泼溅加上光线追踪,渲染出真实反射与阴影

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 计算机视觉 🍴 复刻 282 🐛 待处理 66 👀 关注 39
GitHub ↗
GitHub 星标 ★ 2484
维护状态 活跃
是否开源 开源
定价模式 🏷️完全免费 开源项目,免费使用

项目预览

3dgrut 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类计算机视觉
开发团队nv-tlabs
定价模式🏷️完全免费
价格说明开源项目,免费使用
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议Apache-2.0
主要语言Python
技术栈/模型3d-reconstruction,computer-vision,gaussian-splatting,ray-tracing
GitHub 星标★ 2484
上线时间2025-03-20 00:00:00
代码更新2026-10-28
仓库体积54.6 MB
本站数据更新2026-11-03
维护状态活跃
收录时间2026-09-17
浏览次数2

项目介绍

3dgrut 是 NVIDIA 开源的高斯粒子渲染框架,核心是把 3D Gaussian Splatting(3DGS)与光线追踪、混合光栅化结合,解决传统 3DGS 在反射、折射、阴影、透明等全局光照效果上表现不足的问题。项目基于 OptiX 实现可微分光线追踪,支持对高斯粒子做硬件加速求交,同时保留光栅化路径以兼顾速度。它提供训练与渲染管线,可用于从多视角图像重建场景并生成带真实光照的渲染结果,也支持与神经辐射场、网格等表示混合使用。相比纯光栅化方案,3dgrut 在保持高斯表示高效性的同时引入物理正确的光线传输,适合需要高质量反射与阴影的逆向渲染、场景编辑和实时可视化任务。代码以 Python 为主,底层依赖 CUDA/OptiX,对显卡和驱动有要求。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-09-17 · 当前星标 ★ 2484

使用教程

ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。

难度:高级 约 60 分钟 部署方式:Docker 5 步

环境要求

  • Linux 或 Windows 系统(官方通过 UV 安装脚本支持)
  • NVIDIA GPU,为获得良好 3DGRT 性能建议具备光线追踪(RT)核心
  • CUDA 版本需为 11.8 / 12.4 / 12.6 / 12.8(默认)/ 13.0(实验性)之一
  • 已安装 Docker 与 NVIDIA 驱动,运行时需使用 --runtime=nvidia
  • 本地安装路线需要 conda(环境名 3dgrut)与 uv

安装与启动步骤

  1. 1确认硬件与CUDA

    检查本机是否为 NVIDIA GPU、是否具备 RT 核心,并确认 CUDA 版本在支持列表内。

  2. 2构建Docker镜像

    在仓库根目录执行,用 --build-arg 指定 CUDA 版本,镜像打上 3dgrut:cuda12 等标签。

    docker build --build-arg CUDA_VERSION=12.8.1 -t 3dgrut:cuda12 .
  3. 3放行X11显示

    若需要可视化窗口,先在宿主机执行 xhost,允许本地 root 用户访问 X11 显示服务。

    xhost +local:root
  4. 4启动容器

    把当前目录挂载到 /workspace,启用全部 GPU、宿主机网络与 IPC,并透传 DISPLAY。

    docker run --rm -it --gpus=all --net=host --ipc=host -v $PWD:/workspace --runtime=nvidia -e DISPLAY 3dgrut:cuda12
  5. 5本地UV安装(可选)

    不用 Docker 时,先准备好名为 3dgrut 的 conda 环境,再运行 uv 脚本安装 Python 依赖。

    ./install_env_uv.sh

关键配置

配置项必填说明示例
CUDA_VERSION是docker build 构建参数,决定镜像中的 CUDA 版本12.8.1
UBUNTU_VERSION否docker build 构建参数,指定基础镜像的 Ubuntu 版本22.04
DISPLAY否远程服务器命令行运行时需设置的 X11 显示变量:0

如何确认成功

Docker 路线中容器成功启动并进入交互 shell 即完成;本地路线中 install_env_uv.sh 无报错执行结束即成功。

常见问题

Q:没有 RT 核心的显卡能运行吗?

A:3DGRT 依赖专用光线追踪硬件,无 RT 核心的 GPU 上性能会很差;此时可考虑官方推荐的 gsplat 框架,它同样支持 3DGUT。

Q:支持哪些 CUDA 版本?

A:官方列出的支持版本为 11.8、12.4、12.6、12.8(默认)与 13.0(实验性)。

Q:远程服务器上图形界面报错怎么办?

A:需要在运行容器前设置 DISPLAY 环境变量,并先在宿主机执行 xhost 放行,否则窗口无法显示。

Q:不想用 Docker 怎么装?

A:项目提供 UV 安装脚本,可执行 ./install_env_uv.sh,或先建好 3dgrut conda 环境后运行 conda run -n 3dgrut ./install_env_uv.sh。

注意事项

  • 3DGRT 虽然支持反射、折射、阴影等全局光照效果,但速度仍慢于纯光栅化的 3DGS。
  • 3DGRUT 为混合方案:主光线走光栅化、次级光线走光线追踪,兼顾效率与效果。
  • 若只需要快速、模块化、可投产的高斯泼溅框架,官方建议改用 gsplat。
  • 本地 UV 安装需自行准备 conda 环境,README 中该步骤的完整说明未包含在本次节选内。

核心亮点

  • 把可微分光线追踪引入 3DGS,能渲染反射、折射、阴影等光栅化难以实现的效果
  • 基于 NVIDIA OptiX 做高斯粒子求交,硬件加速且支持训练时反向传播
  • 提供光栅化与光线追踪混合路径,可在速度和质量之间按需切换

不足之处

  • 强依赖 NVIDIA GPU 与 OptiX/CUDA,A 卡和 Mac 基本无法运行
  • 光线追踪路径渲染与训练开销明显高于纯光栅化 3DGS,对显存要求高
  • 文档和示例相对偏研究向,上手门槛高于主流 3DGS 实现

适用场景

  • 需要真实反射/折射的室内场景重建与渲染
  • 含透明或镜面材质物体的逆向渲染与场景编辑
  • 自动驾驶/机器人仿真中带光影的高斯场景可视化

替代项目

gsplat、Nerfstudio、SuGaR

上一篇:stitching

下一篇:emgucv

同类项目推荐

vision-demos 开源

克隆即跑的趣味 CV 演示,几分钟看到识别效果

Fun real-world computer vision demos!

★ 923 2026-09-18
OpenShape_code 开源

让AI看懂任意3D形状,零样本也能分类检索

official code of “OpenShape: Scaling Up 3D Shape Representation Towards Open-World ···

★ 325 2026-08-09
docstrange 开源

从任意文档秒提取结构化数据,一键转成 JSON/CSV

Extract and convert data from any document, images, pdfs, word doc, ppt or URL into ···

★ 1585 2026-08-09
PolarFormer 开源

用极坐标 Transformer 做多相机 3D 检测

[AAAI 2023] PolarFormer: Multi-camera 3D Object Detection with Polar Transformers

★ 176 2026-10-28
EvoVLM 开源

让 LLM 进化搜索自动生成更准更快的 VLM 推理程序

Evolving Multimodal Inference Programs: LLM-guided evolutionary search for accurate ···

★ 5 2026-10-08
WeVisDoc 开源

整页文档图一键转结构化 Markdown,公式表格都不丢

WeVisDoc is an end-to-end document parser for page images. Fine-tuned from Qwen3-VL-···

★ 511 2026-10-09
NED 开源

一句话驱动视频人脸表情编辑,影视级效果轻松实现

PyTorch implementation for NED (CVPR 2022). It can be used to manipulate the facial ···

★ 157 2026-08-09