
3dgrut
给高斯泼溅加上光线追踪,渲染出真实反射与阴影
3dgrut 是 NVIDIA 开源的高斯粒子渲染框架,核心是把 3D Gaussian Splatting(3DGS)与光线追踪、混合光栅化结合,解决传统 3DGS 在反射、折射、阴影、透明等全局光照效果上表现不足的问题。项目基于 OptiX 实现可微分光线追踪,支持对高斯粒子做硬件加速求交,同时保留光栅化路径以兼顾速度。它提供训练与渲染管线,可用于从多视角图像重建场景并生成带真实光照的渲染结果,也支持与神经辐射场、网格等表示混合使用。相比纯光栅化方案,3dgrut 在保持高斯表示高效性的同时引入物理正确的光线传输,适合需要高质量反射与阴影的逆向渲染、场景编辑和实时可视化任务。代码以 Python 为主,底层依赖 CUDA/OptiX,对显卡和驱动有要求。
项目数据
使用教程
环境要求
- 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确认硬件与CUDA
检查本机是否为 NVIDIA GPU、是否具备 RT 核心,并确认 CUDA 版本在支持列表内。
-
2构建Docker镜像
在仓库根目录执行,用 --build-arg 指定 CUDA 版本,镜像打上 3dgrut:cuda12 等标签。
docker build --build-arg CUDA_VERSION=12.8.1 -t 3dgrut:cuda12 . -
3放行X11显示
若需要可视化窗口,先在宿主机执行 xhost,允许本地 root 用户访问 X11 显示服务。
xhost +local:root -
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本地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
项目介绍
同类项目推荐
modlens
开源
给纯文本编码代理装上眼睛,粘贴图片即刻获得结构化视觉证据。
The first vision plugin for DeepSeek Harness, and the vision bridge for every text-o···
opencv
开源
开箱即用的视觉算法库,搞定图像视频处理与识别
Open Source Computer Vision Library
OpenCVTutorials
开源
中文 OpenCV 教程,从入门到实战,边看边跑代码
OpenCV-Python4.1 中文文档
DEIMv2
开源
用DINOv3做实时检测,又快又准,直接落地。
[DEIMv2] Real Time Object Detection Meets DINOv3