# Fireflyx3D **Repository Path**: anse_725/Fireflyx3D ## Basic Information - **Project Name**: Fireflyx3D - **Description**: 萤火 / Fireflyx3D 轻 · 灵 · 无界 —— 一个开源、轻量化、跨平台的 3D 游戏开发引擎 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-09 - **Last Updated**: 2026-03-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🔥 萤火(Fireflyx3D) > **"让每个开发者都能轻松地创造跨平台的 3D 体验"** 萤火(Fireflyx3D)是一个以"**自托管、跨平台、现代化**"为核心理念的开源 3D 游戏引擎。 我们以"萤火"为名,寓意微光汇聚,可化星河;一念既出,万界可渡。 ``` ┌─────────────────────────────────────────────────────────┐ │ 萤火(Fireflyx3D) │ ├─────────────────────────────────────────────────────────┤ │ 自托管 · 跨平台 · 现代化 · 开源 │ ├─────────────────────────────────────────────────────────┤ │ 🦀 Rust 核心 │ 🎨 wgpu 渲染 │ 🔷 C# 脚本 (.NET 8) │ └─────────────────────────────────────────────────────────┘ ``` --- ## ✨ 核心特点 ### 🔄 自托管架构(Self-Hosting) > **"编辑器是最高级的游戏应用"** 萤火引擎追求**工具自举**——编辑器本身将完全使用引擎 API 构建。 ``` 萤火引擎架构: ┌─────────────────────────────────────┐ │ 编辑器 (Editor) │ ← 使用引擎 API 构建 │ ┌─────────┐ ┌─────────┐ │ │ │ 场景视图 │ │ 属性面板 │ │ │ │ (IMGUI) │ │ (IMGUI) │ │ │ └────┬────┘ └────┬────┘ │ └────────┼────────────┼───────────────┘ │ │ ▼ ▼ ┌─────────────────────────────────────┐ │ 引擎核心 (Core) │ │ ┌─────────┐ ┌─────────┐ │ │ │ 渲染系统 │ │ C# 脚本 │ │ │ │ (wgpu) │ │(.NET 8) │ │ │ └─────────┘ └─────────┘ │ └─────────────────────────────────────┘ ``` **自托管带来的优势:** - ✓ **体验一致性** - 编辑器就是游戏应用,确保 API 体验一致 - ✓ **API 质量** - 引擎 API 必须足够强大,才能支撑复杂编辑器 - ✓ **实时验证** - 引擎功能在编辑器中得到即时验证 - ✓ **开发效率** - 编辑器开发者也是引擎用户,反馈直接 --- ### 🌐 无缝跨平台 萤火引擎追求**真正的全平台覆盖**,一套代码覆盖桌面、移动、Web: | 平台 | 最低版本 | 状态 | |------|----------|------| | Windows | 10+ | 🚧 开发中 | | Linux | Ubuntu 20.04+ | 🚧 开发中 | | macOS | 12+ | 🚧 开发中 | | Android | API 26+ | 📋 规划中 | | iOS | 15+ | 📋 规划中 | | Web (WebGPU) | Chrome 113+ | 📋 规划中 | | HarmonyOS | 4.0+ | 📋 规划中 | 基于 **wgpu**(WebGPU 标准实现),自动适配各平台底层图形 API: - **Windows** → Vulkan / DirectX 12 - **macOS/iOS** → Metal - **Linux/Android** → Vulkan - **Web** → WebGPU / WebGL2 --- ### 🚀 现代化技术栈 ``` ┌─────────────────────────────────────────────────────────────┐ │ Layer 3: 应用层 │ │ ├── 游戏逻辑 (C#) │ │ ├── 编辑器功能 (C# + IMGUI) │ │ └── 工具脚本 (C#) │ ├─────────────────────────────────────────────────────────────┤ │ Layer 2: 引擎层 (Rust) │ │ ├── 渲染管线 (wgpu) │ │ ├── 场景管理 │ │ ├── 资源系统 │ │ └── 其他核心系统 │ ├─────────────────────────────────────────────────────────────┤ │ Layer 1: 系统层 (Rust + 底层库) │ │ ├── wgpu - 跨平台渲染 │ │ ├── winit - 窗口管理 │ │ └── .NET 8 - C# 运行时 │ └─────────────────────────────────────────────────────────────┘ ``` **为什么选择这个技术栈?** | 技术 | 优势 | |------|------| | **Rust** | 内存安全、零成本抽象、 fearless 并发 | | **wgpu** | WebGPU 标准、跨平台统一、现代 GPU 特性 | | **C# / .NET 8** | NativeAOT、成熟生态、开发者熟悉度高 | --- ## 📅 开发路线图 ### Phase 1:基础框架 🚧 进行中(2026 Q1-Q3) 目标:构建引擎基础框架,建立开发体验闭环 - ✅ 跨平台应用程序框架 - ✅ 基于 wgpu 的渲染抽象层 - ✅ C# 脚本系统集成 - ✅ 即时模式 UI 系统(IMGUI) **阶段产出**:可编写 C# 脚本驱动 IMGUI 构建基础 UI 程序的跨平台应用框架 ### 后续阶段预览 | 阶段 | 目标 | 关键特性 | |------|------|----------| | Phase 2 | 编辑器基础 | 场景系统、资源管理、基础编辑器 | | Phase 3 | 自托管实现 | 编辑器使用引擎自举开发 | | Phase 4 | 3D 功能完善 | 物理、动画、高级渲染 | | Phase 5 | 生态建设 | 资源商店、社区工具、文档完善 | --- ## 🚀 快速开始 > ⚠️ **注意**:项目当前处于 Phase 1 开发阶段,API 可能不稳定。 ### 环境要求 - **Rust** 1.75+ - **.NET 8 SDK** - **支持 Vulkan 1.0+ / Metal / DX11** 的 GPU ### 安装 ```bash # 克隆仓库 git clone https://gitee.com/anse_725/Fireflyx3D.git cd fireflyx3d # 构建引擎 cargo build --release # 运行示例 cd examples cargo run --example hello_imgui ``` ### 第一个 C# 脚本 ```csharp using Firefly.Runtime; using Firefly.Runtime.UI; class MyApp : Application { protected override void OnGUI() { GUI.Window("Hello Firefly", () => { GUI.Text("萤火虽微,可化星河"); if (GUI.Button("点击我")) { Log.Info("Hello from C#!"); } }); } } ``` 📖 **更多教程**,请参阅 [设计文档](./docs/FrameworkDesign/)。 --- ## 🧩 引擎架构 ``` ┌─────────────────────────────────────────────────────────────┐ │ 应用层 (Application) │ │ 游戏逻辑 / 编辑器 / 工具 │ ├─────────────────────────────────────────────────────────────┤ │ 脚本层 (Scripting) │ │ C# / .NET 8 Runtime │ ├─────────────────────────────────────────────────────────────┤ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │ │ 场景系统 │ │ 渲染系统 │ │ 资源管理 │ │ IMGUI │ │ │ └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘ │ ├────────┼────────────┼────────────┼────────────┼─────────────┤ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │ │ 窗口管理 │ │ 输入系统│ │ 文件系统 │ │ 平台抽象│ │ │ └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘ │ ├────────┴────────────┴────────────┴────────────┴─────────────┤ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌────────┐ │ │ │ Windows │ │ Linux │ │ macOS │ │ Android │ │ iOS │ │ │ └─────────┘ └─────────┘ └─────────┘ └─────────┘ └────────┘ │ └─────────────────────────────────────────────────────────────┘ ``` --- ## 🤝 贡献指南 萤火引擎鼓励社区共创: - 🐛 **提交 Issue** - 反馈问题或建议 - 🔀 **发起 Pull Request** - 贡献你的"道法" - ⭐ **点亮 Star** - 守护这片萤火之光 - 📢 **宣传推广** - 让更多同道中人知晓此器 **模块仓库**:可自由获取或提交渲染、物理、AI、网络等扩展模块。 **论道阁(讨论区)**:开发者可在此交流心得、提问解惑、共议发展。 --- ## 📜 开源理念 我们相信,每一粒萤火,都有照亮星辰的潜能。 萤火引擎不仅是一个工具,更是一个开放的修炼场——无论你是初入仙门的学徒,还是游历万界的大能,皆可在此施展才华,共同演化这片无垠的创作宇宙。 **许可证**:MIT / Apache-2.0 双许可 --- ## 🪶 一句话宣言 > **"萤火虽微,可化星河;一念既出,万界可渡。"** 萤火引擎,愿做你手中那一点灵光,照亮属于你的大千世界。 ---

Built with ❤️ by the Fireflyx3D community