面向 Android、iOS、桌面端和 WebGL2 的实时物理渲染引擎,在 Android 上力求小巧高效。
markaren/threepp
跨平台 C++20 三维图形库,API 仿照 three.js,提供 OpenGL 与 Vulkan 渲染后端及 Python 绑定。
- Star
- 1,212
- Fork
- 156
- 未关闭 Issue
- 3
- 最近提交
- 昨天
这是什么?
threepp 是一个 C++20 三维图形库,API 沿用 three.js 的高层设计,熟悉 three.js 的开发者可以用相近的对象(Mesh、Scene、光源、相机、加载器等)编写场景代码。渲染既可以使用跨平台的 OpenGL 后端,也可以使用延迟渲染的 Vulkan 后端,后者支持光线追踪阴影、反射、环境光遮蔽和全局光照,两种后端共用同一套场景代码。
除渲染外,项目还包含场景编辑器、基于 PhysX 的机器人与刚体仿真,以及可输出真值标签的仿真激光雷达、深度相机、IMU 等传感器,适合生成合成数据。它还支持与 ArduPilot 的硬件在环飞行。Python 绑定已发布到 PyPI,可访问渲染器、NumPy 格式的标签数据和 PhysX 关节体。
项目定位为研究、原型开发和教学用途,而非生产级引擎,版本之间 API 可能变化。Vulkan 后端需要光线追踪扩展,因此不能在 macOS 上运行,那里应使用 OpenGL 渲染器。
核心功能
- 01仿照 three.js 的 API,涵盖网格、光源、相机、控制器、动画和后处理。
- 02支持 glTF、OBJ、STL、COLLADA、SVG、URDF 等格式加载,FBX 为可选项。
- 03Vulkan 延迟渲染器支持光线追踪阴影、反射、环境光遮蔽和全局光照。
- 04提供激光雷达、深度与彩色相机、IMU、关节编码器等仿真传感器。
- 05集成 PhysX,支持刚体、关节体、软体和车辆仿真。
- 06通过 PyPI 安装 Python 绑定,支持无显示器的离屏渲染。
适用场景
- 在 C++ 中搭建需要传感器模型和物理仿真的机器人或自主系统仿真。
- 为感知模型训练生成带真值标签的合成图像和深度数据。
- 将 three.js 风格的场景代码迁移到原生 C++ 应用中。
- 用熟悉的高层 API 讲授三维图形学概念。
快速上手
- 1
从 PyPI 安装 Python 包
pip install threepp - 2
使用 CMake 预设构建 OpenGL 后端
cmake --preset gl - 3
编译 OpenGL 构建
cmake --build --preset gl
使用前须知
- Vulkan 后端需要支持光线追踪的 GPU,且不能在 macOS 上运行;该平台请使用 GLRenderer。
- 项目面向研究、原型和教学,而非生产级引擎,API 会随版本变化。
- 仿真层(Vulkan、传感器、PhysX、编辑器、Python)迭代最快,编辑器的 Vulkan 视口仅为尽力支持。
收录于专题
标签
常见问题
- threepp 是什么?
- 跨平台 C++20 三维图形库,API 仿照 three.js,提供 OpenGL 与 Vulkan 渲染后端及 Python 绑定。 threepp 是一个 C++20 三维图形库,API 沿用 three.js 的高层设计,熟悉 three.js 的开发者可以用相近的对象(Mesh、Scene、光源、相机、加载器等)编写场景代码。渲染既可以使用跨平台的 OpenGL 后端,也可以使用延迟渲染的 Vulkan 后端,后者支持光线追踪阴影、反射、环境光遮蔽和全局光照,两种后端共用同一套场景代码。
- threepp 可以免费使用吗?用的什么许可证?
- threepp 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- threepp 还在维护吗?
- 活跃维护中。threepp 最近一次提交是在 2026年11月6日。
- threepp 适合用来做什么?
- 在 C++ 中搭建需要传感器模型和物理仿真的机器人或自主系统仿真。 为感知模型训练生成带真值标签的合成图像和深度数据。 将 three.js 风格的场景代码迁移到原生 C++ 应用中。 用熟悉的高层 API 讲授三维图形学概念。
- threepp 怎么安装和运行?
- 从 PyPI 安装 Python 包: pip install threepp 使用 CMake 预设构建 OpenGL 后端: cmake --preset gl 编译 OpenGL 构建: cmake --build --preset gl
- 在哪里获取 threepp?
- 源代码和安装说明在 GitHub 上:https://github.com/markaren/threepp
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
免费开源的 3D 天文馆软件,在电脑上实时渲染逼真的星空。
一套 Claude Code 技能与插件集合,让 Claude 掌握 Three.js、GSAP、React Three Fiber 等 3D 与动效开发知识。
OGRE 是一个模块化的 C++ 渲染引擎,封装 Vulkan、Direct3D 和 OpenGL,用于构建 3D 应用。
根据官方规范生成 OpenGL、Vulkan、EGL 等图形 API 加载代码的工具,支持多种语言。
基于 C++17 的跨平台 UI 框架,支持 GLFW/SDL2 窗口后端与 OpenGL/Vulkan 渲染后端。