自制简单的3D游戏引擎

简单的3D游戏引擎

一个轻量级、模块化、易于扩展的3D游戏引擎原型,既可作为学习参考,也能作为小型3D游戏项目的开发起点。基于C++和openGL,以及少量的第三方库,比如ImGui,Assimp,json,stb...等。

项目地址:点我

主要实现模块

资源管理模块

相机,着色器,3d模型加载模块

简单碰撞检测模块

渲染模块

音频模块

光照系统和阴影系统

数据驱动关卡管理模块

地图编辑器

悬浮菜单

游戏内调试终端

基本性能优化算法

视锥体剔除

四叉树空间划分

可视距离渲染剔除

批处理

GPU顶点缓存优化 + 物理顺序重排

LOD