一:XX上一个2d游戏引擎up的总结
1.不做移动端
2.曲率引擎大佬
3.编辑器用的是electron开发的
4.3d渲染可以考虑three.js
5.长远计划学习C++,rust,
小引擎用js+opngl或者C#+direct
6.用的是html+css+webgl做的引擎(新手向)
7.图像处理没有用任何第三方库,用的是WebGL API,这样就只支持2d
二:XX上的3d游戏引擎博文总结(一)
1.使用visual studio+CMake
2.DirectX,OpenGL这些图形API
Havok,PhysX这些物理引擎
Boost+STL
In-Game GUI+cocos2dx
音频系统:Fmod,wwise
脚本系统
3.数学运算库:DirectXmath,Eigen
C++定义点,向量,矩阵,线性变换,MVP矩阵,万向锁,四元数,
4.内存管理算法:伙伴算法
ptmalloc,tcmalloc,jemalloc
5.使用DX11,......给引擎接入渲染模块,加载模型数据(fbx sdk或者Assimp(这个)),
//为什么不直接用DX12/Vulkan呢
6.Intel GPA,Nsight,RenderDoc(首推)抓帧
7.以达到跨平台的目的,把DX11改为接入OpenGL(GLFW,GLAD这两个非常重要的库),
创建Context,
shader语言:DX11使用HLSL,OpenGL使用GLSL
//博文一直在重构,是原理性学习,跟着不能完成一个引擎
8.过程化天空盒
9.UI模块/UI框架:cocos2dx
10.字体解决方案:bitmap font,Outline font,Stroke-based font,truetype,这里采用的是freetype
11.制作动画:3dmax,blender,maya等
12.地形系统:CPU or GPU
13.完整的物理引擎不是一个人能搞定的,造轮子时间耗费太久,涉及数学矩阵,空间变换,光学,牛顿力学等等