3dgrut

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

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

开源 free 计算机视觉
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 2428
维护状态 活跃
是否开源
定价模式 free

项目数据

分类计算机视觉
开发团队nv-tlabs
所属国家
官网地址
定价模式free
价格说明开源项目,免费使用
访问状态
是否开源
开源协议Apache-2.0
主要语言Python
技术栈/模型3d-reconstruction,computer-vision,gaussian-splatting,ray-tracing
GitHub 星标★ 2428
30天Star增速
HF 下载量
上线时间2025-03-20 00:00:00
最近更新2026-09-16 00:00:00
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-09-17
浏览次数0

使用教程

难度:高级 约 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_VERSIONdocker build 构建参数,决定镜像中的 CUDA 版本12.8.1
UBUNTU_VERSIONdocker 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

项目介绍

3dgrut 是一个计算机视觉领域的开源项目,官方简介:Ray tracing and hybrid rasterization of Gaussian particles。项目使用 Python 开发,在 GitHub 上获得 2428 星标。

上一篇:stitching

下一篇:emgucv

同类项目推荐

modlens 开源

给纯文本编码代理装上眼睛,粘贴图片即刻获得结构化视觉证据。

The first vision plugin for DeepSeek Harness, and the vision bridge for every text-o···

★ 3973 2026-08-19
opencv 开源

开箱即用的视觉算法库,搞定图像视频处理与识别

Open Source Computer Vision Library

★ 90860 2026-08-10
OpenCVTutorials 开源

中文 OpenCV 教程,从入门到实战,边看边跑代码

OpenCV-Python4.1 中文文档

★ 1430 2026-08-20
DEIMv2 开源

用DINOv3做实时检测,又快又准,直接落地。

[DEIMv2] Real Time Object Detection Meets DINOv3

★ 2032 2026-08-14