Rabbet 是一个从零用 C++20 构建的游戏引擎,包含稀疏集合 ECS、现代 OpenGL 4.1 渲染器,以及基于 ImGui 的编辑器 forge。

Stars

11

7 天增长

暂无数据

Fork 数

0

开放 Issue

0

开源协议

Apache-2.0

最近更新

2026-07-28

AI 仓库情报摘要
FR-AI / ANALYSIS

为什么值得关注

它集成了功能完整的 ECS、PBR 渲染与后处理、可停靠编辑器(支持播放/停止和资源管理)、Lua 脚本热重载、Jolt 物理和 miniaudio 音频——全部从零实现且文档详尽。

适合谁使用

  • 构建小型 3D 游戏的独立游戏开发者
  • 对引擎架构感兴趣的 C++ 程序员
  • 学习游戏引擎设计与实现的学生
  • 寻求轻量但功能完备的 ECS 引擎的开发者

典型使用场景

  • 创建类似内置 Orb Hunt 演示的 3D 游戏
  • 使用 ECS 和 Lua 脚本进行玩法原型设计
  • 学习如何从零构建现代游戏引擎
  • 开发集成编辑器的关卡设计和资源浏览工具

项目优势

  • 使用版本化句柄的稀疏集合 ECS 和系统/资源运行时
  • 现代 OpenGL 4.1 渲染器,支持 PBR、阴影贴图、IBL 和后处理堆栈(泛光、色调映射、FXAA)
  • 完整编辑器 forge:可停靠视口、点击选取、操纵器、播放/停止场景快照、资源浏览
  • Lua 脚本热重载与检视器可编辑字段,集成物理和音频

使用前须知

  • 仅支持 macOS 和 Linux,尚未支持 Windows 或其他平台
  • 单人开发者项目,仍在积极开发中
  • 需要从源码构建,依赖 C++20 和 CMake 3.24+,未提供预编译二进制

README 快速开始

Quick start

项目描述

A from-scratch C++ game engine

相关仓库与替代方案

根据分类、Topic 和编程语言匹配的相似项目。

achimala
achimala GitHub avatar

TheLongSilence

A procedural space exploration game that runs entirely in a browser tab using WebGL2, generating every visual element from a seed with no external assets.

游戏开发
177
Crushflalead
Crushflalead GitHub avatar

DragonSword-Awakening-Trainer

A single-player trainer for DragonSword: Awakening that provides various cheats and modifications to enhance gameplay.

桌面应用游戏开发
18
alecjacobson
精选
alecjacobson GitHub avatar

alpha-wrap

A CGAL-free, MIT-licensed reimplementation of the Alpha Wrapping algorithm that takes a defective triangle soup and produces a watertight, manifold, outward-oriented mesh with controllable level of detail and tightness.

C++
5