打算将所做3D引擎一些心得,分篇章记录下来。主要基于OpenGLES2.0,采用面向对象设计语言C++实现的跨平台轻量级高速引擎。
以做个总结:
对于一个3D引擎,主要应该有一下模块组成:
该引擎的最终规划主要由四个模块组成,每个模块完成的功能描述如下:
第一模块:
数学库:提供通用数学运算库和三维数学运算库(如向量、矩阵);
资源管理:使应用程序更好的使用内存,对系统内存进行调度并对资源实现引用计数管理;
I/O支持:提供鼠标、键盘、手柄等输入设备的支持;
网络支持:提供Socket连接、数据包发送。
第二模块:
日志系统:用于信息输出及调试使用;
声音支持:支持某些特定声音格式;
渲染器:提供二维及三维图形的渲染、光影效果的处理、材质的渲染等等非常重要的功能;
动画:管理关键帧动画和骨骼动画,丰富角色,使之动作更逼真;
第三模块:
场景管理