这个项目能做什么

# 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 ## 社区 该仓库包含星标历史图表和贡献者致谢,表明项目周围有一个活跃的社区。