Dmitry's Engine 开源项目推荐
项目基础介绍和主要编程语言
Dmitry's Engine 是一个实验性的 C99 跨平台 3D 游戏引擎,旨在提供最小的外部依赖。该项目的主要编程语言是 C99,但也兼容 C++。
项目核心功能
- 单编译单元:无需构建为单独的库,只需将
de_main.h
和de_main.c
添加到你的项目中。 - C99 兼容性:完全兼容 C++,支持现代渲染技术。
- FBX 支持:支持 FBX 格式的 ASCII 和二进制文件。
- 场景图:包含基础节点、网格、灯光、相机和粒子系统。
- 自动资源管理:支持纹理、模型和声音缓冲区的自动管理。
- 现代渲染技术:基于 OpenGL 3.3 的渲染器,支持延迟着色、法线映射、骨骼动画、阴影、实例化、视锥体剔除和粒子系统。
- 声音支持:支持 2D 和 3D 声音,WAV 格式,以及大型声音的流式传输。
- TTF 字体支持:支持 TTF 字体,但暂不支持复合字符。
- 高级 GUI:受 WPF 启发的 GUI,使用指定初始化器创建声明性 UI。
- 路径查找:支持经典的 A* 算法。
- 基于 GJK-EPA 的物理引擎:支持基于位置的物理模拟。
- 内置保存/加载功能:通过对象访问者实现引擎状态的保存和加载。
项目最近更新的功能
由于项目已被标记为“废弃”,最近没有新的功能更新。但项目仍然是一个有价值的参考,特别是对于那些希望了解如何构建一个最小依赖的 3D 游戏引擎的开发者。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考