这个项目能做什么
# Not Engine Beta 0.2.0
Not Engine 是一个基于 OpenGL 的代码优先游戏引擎,旨在让开发者使用简洁、简单的代码从零开始构建项目。该项目欢迎贡献,欢迎提交拉取请求和问题。
**重要提示:** 截至 2026-09-25,作者明确表示:“不要使用这个引擎。这只是一堆垃圾。”在考虑采用之前,应认真对待这一警告。
## 支持的功能
- 天空盒渲染
- PBR(基于物理的渲染)着色器
- 事件系统
- OBJ 文件导入
- MTL 材质导入(反照率、粗糙度、金属度、法线贴图)
- 子网格支持
- 音频播放
## 性能
README 中包含基准测试结果,展示了各版本渲染器优化的改进:
| 版本 | 对象数 | 模型 | FPS | 垂直同步 |
|---|---:|---|---:|---|
| 0.1.5 | 1,000,000 | `notbox.obj` | 1 FPS | 开启 |
| 0.1.6 | 1,000,000 | `notbox.obj` | **30 FPS** | 关闭 |
| 0.1.10 | 1,000,000 | `notbox.obj` | **46 FPS** | 关闭 |
渲染器优化将性能从 1 FPS 提升到 30 FPS——大约快了 30 倍。两次基准测试使用了相同的场景。
### 测试环境
- CPU:AMD Ryzen 7 7800X3D (16) @ 5.05 GHz
- GPU:AMD Radeon RX 9070 XT [独立显卡]
- 分辨率:1280×720
- 显示器:165Hz
## 构建
构建需要 `cmake`、`ninja`(或 `make`)以及 `glfw3` 开发包。
### 先决条件(Linux/Ubuntu)
```bash
sudo apt update
sudo apt install cmake ninja-build libglfw3-dev build-essential
```
### 说明
使用 CMake Presets 进行配置和构建:
```bash
# 配置(Ninja Release)
cmake --preset ninja-release
# 构建核心库
cmake --build --preset ninja-release-notengine
# 构建演示可执行文件
cmake --build --preset ninja-release-all
```
运行构建好的演示:
```bash
# 默认演示
./build/ninja-release/demo
# 场景文件渲染演示
./build/ninja-release/scene_render
# 基准测试
./build/ninja-release/benchmark
```
## Blender 导出器
使用 Seno 导出器,可以将 Blender 场景导出为 Seno v8,并将单独的 OBJ 模型、MTL 材质和纹理放在一个文件夹中。将 `script/blender_seno/seno_exporter.py` 安装为 Blender 插件,然后选择 **文件 → 导出 → Seno Scene (folder)**。
## 资源来源
- 天空盒:https://ambientcg.com/view?id=DaySkyHDRI001A
## 社区
该仓库包含星标历史图表和贡献者致谢,表明项目周围有一个活跃的社区。
评论
0 评分人数达到10人后显示
登录后参与讨论。